mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
Documentation: KHO: add memblock bindings
We introduced KHO into Linux: A framework that allows Linux to pass metadata and memory across kexec from Linux to Linux. KHO reuses fdt as file format and shares a lot of the same properties of firmware-to- Linux boot formats: It needs a stable, documented ABI that allows for forward and backward compatibility as well as versioning. As first user of KHO, we introduced memblock which can now preserve memory ranges reserved with reserve_mem command line options contents across kexec, so you can use the post-kexec kernel to read traces from the pre-kexec kernel. This patch adds memblock schemas similar to "device" device tree ones to a new kho bindings directory. This allows us to force contributors to document the data that moves across KHO kexecs and catch breaking change during review. Link: https://lkml.kernel.org/r/20250509074635.3187114-18-changyuanl@google.com Co-developed-by: Alexander Graf <graf@amazon.com> Signed-off-by: Alexander Graf <graf@amazon.com> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Signed-off-by: Changyuan Lyu <changyuanl@google.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Anthony Yznaga <anthony.yznaga@oracle.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Ashish Kalra <ashish.kalra@amd.com> Cc: Ben Herrenschmidt <benh@kernel.crashing.org> Cc: Borislav Betkov <bp@alien8.de> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Eric Biederman <ebiederm@xmission.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Gowans <jgowans@amazon.com> Cc: Jason Gunthorpe <jgg@nvidia.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Krzysztof Kozlowski <krzk@kernel.org> Cc: Marc Rutland <mark.rutland@arm.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Pasha Tatashin <pasha.tatashin@soleen.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Pratyush Yadav <ptyadav@amazon.de> Cc: Rob Herring <robh@kernel.org> Cc: Saravana Kannan <saravanak@google.com> Cc: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Thomas Gleinxer <tglx@linutronix.de> Cc: Thomas Lendacky <thomas.lendacky@amd.com> Cc: Will Deacon <will@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
3498209ff6
commit
a3d2e34dce
39
Documentation/core-api/kho/bindings/memblock/memblock.yaml
Normal file
39
Documentation/core-api/kho/bindings/memblock/memblock.yaml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
title: Memblock reserved memory
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Mike Rapoport <rppt@kernel.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Memblock can serialize its current memory reservations created with
|
||||||
|
reserve_mem command line option across kexec through KHO.
|
||||||
|
The post-KHO kernel can then consume these reservations and they are
|
||||||
|
guaranteed to have the same physical address.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- reserve-mem-v1
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"$[0-9a-f_]+^":
|
||||||
|
$ref: reserve-mem.yaml#
|
||||||
|
description: reserved memory regions
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
memblock {
|
||||||
|
compatible = "memblock-v1";
|
||||||
|
n1 {
|
||||||
|
compatible = "reserve-mem-v1";
|
||||||
|
start = <0xc06b 0x4000000>;
|
||||||
|
size = <0x04 0x00>;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
title: Memblock reserved memory regions
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Mike Rapoport <rppt@kernel.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Memblock can serialize its current memory reservations created with
|
||||||
|
reserve_mem command line option across kexec through KHO.
|
||||||
|
This object describes each such region.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- reserve-mem-v1
|
||||||
|
|
||||||
|
start:
|
||||||
|
description: |
|
||||||
|
physical address (u64) of the reserved memory region.
|
||||||
|
|
||||||
|
size:
|
||||||
|
description: |
|
||||||
|
size (u64) of the reserved memory region.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- start
|
||||||
|
- size
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
n1 {
|
||||||
|
compatible = "reserve-mem-v1";
|
||||||
|
start = <0xc06b 0x4000000>;
|
||||||
|
size = <0x04 0x00>;
|
||||||
|
};
|
||||||
@@ -15448,6 +15448,7 @@ M: Mike Rapoport <rppt@kernel.org>
|
|||||||
L: linux-mm@kvack.org
|
L: linux-mm@kvack.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/core-api/boot-time-mm.rst
|
F: Documentation/core-api/boot-time-mm.rst
|
||||||
|
F: Documentation/core-api/kho/bindings/memblock/*
|
||||||
F: include/linux/memblock.h
|
F: include/linux/memblock.h
|
||||||
F: mm/memblock.c
|
F: mm/memblock.c
|
||||||
F: mm/mm_init.c
|
F: mm/mm_init.c
|
||||||
|
|||||||
Reference in New Issue
Block a user