Documentation/powerpc: Add ELF note documentation
authorMaxiwell S. Garcia <maxiwell@linux.ibm.com>
Thu, 29 Aug 2019 15:50:21 +0000 (12:50 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 29 Aug 2019 23:40:15 +0000 (09:40 +1000)
The ELF note documentation describes the types and descriptors to be
used with the PowerPC namespace.

Signed-off-by: Maxiwell S. Garcia <maxiwell@linux.ibm.com>
Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20190829155021.2915-3-maxiwell@linux.ibm.com
Documentation/powerpc/elfnote.rst [new file with mode: 0644]

diff --git a/Documentation/powerpc/elfnote.rst b/Documentation/powerpc/elfnote.rst
new file mode 100644 (file)
index 0000000..2a5c4be
--- /dev/null
@@ -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
+
+