From 134cb3ab71c0736da0ec66d2cfd7f6ebba96c8cf Mon Sep 17 00:00:00 2001 From: "Maxiwell S. Garcia" Date: Thu, 29 Aug 2019 12:50:21 -0300 Subject: [PATCH] Documentation/powerpc: Add ELF note documentation The ELF note documentation describes the types and descriptors to be used with the PowerPC namespace. Signed-off-by: Maxiwell S. Garcia Signed-off-by: Claudio Carvalho Signed-off-by: Michael Ellerman Link: https://lore.kernel.org/r/20190829155021.2915-3-maxiwell@linux.ibm.com --- Documentation/powerpc/elfnote.rst | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Documentation/powerpc/elfnote.rst diff --git a/Documentation/powerpc/elfnote.rst b/Documentation/powerpc/elfnote.rst new file mode 100644 index 0000000..2a5c4be --- /dev/null +++ b/Documentation/powerpc/elfnote.rst @@ -0,0 +1,42 @@ +========================== +ELF Note PowerPC Namespace +========================== + +The PowerPC namespace in an ELF Note of the kernel binary is used to store +capabilities and information which can be used by a bootloader or userland. + +Types and Descriptors +--------------------- + +The types to be used with the "PowerPC" namesapce are defined in the +include/uapi/asm/elfnote.h + + 1) PPC_ELFNOTE_CAPABILITIES + +Define the capabilities supported/required by the kernel. This type uses a +bitmap as "descriptor" field. Each bit is described below: + +- Ultravisor-capable bit (PowerNV only). + + #define PPCCAP_ULTRAVISOR_BIT (1 << 0) + + Indicate that the powerpc kernel binary knows how to run in an + ultravisor-enabled system. + + In an ultravisor-enabled system, some machine resources are now controlled + by the ultravisor. If the kernel is not ultravisor-capable, but it ends up + being run on a machine with ultravisor, the kernel will probably crash + trying to access ultravisor resources. For instance, it may crash in early + boot trying to set the partition table entry 0. + + In an ultravisor-enabled system, a bootloader could warn the user or prevent + the kernel from being run if the PowerPC ultravisor capability doesn't exist + or the Ultravisor-capable bit is not set. + +References +---------- + +arch/powerpc/include/asm/elfnote.h +arch/powerpc/kernel/note.S + + -- 2.7.4