diff options
author | Maxiwell S. Garcia <maxiwell@linux.ibm.com> | 2019-08-29 11:50:21 -0400 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2019-08-29 19:40:15 -0400 |
commit | 134cb3ab71c0736da0ec66d2cfd7f6ebba96c8cf (patch) | |
tree | c4528f487f5bb55a6f1b0887508db5ffcde2e4eb | |
parent | 70ed86f4de5bd74dd2d884dcd2f3275c4cfe665f (diff) |
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 <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
-rw-r--r-- | Documentation/powerpc/elfnote.rst | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Documentation/powerpc/elfnote.rst b/Documentation/powerpc/elfnote.rst new file mode 100644 index 000000000000..2a5c4beeb809 --- /dev/null +++ b/Documentation/powerpc/elfnote.rst | |||
@@ -0,0 +1,42 @@ | |||
1 | ========================== | ||
2 | ELF Note PowerPC Namespace | ||
3 | ========================== | ||
4 | |||
5 | The PowerPC namespace in an ELF Note of the kernel binary is used to store | ||
6 | capabilities and information which can be used by a bootloader or userland. | ||
7 | |||
8 | Types and Descriptors | ||
9 | --------------------- | ||
10 | |||
11 | The types to be used with the "PowerPC" namesapce are defined in the | ||
12 | include/uapi/asm/elfnote.h | ||
13 | |||
14 | 1) PPC_ELFNOTE_CAPABILITIES | ||
15 | |||
16 | Define the capabilities supported/required by the kernel. This type uses a | ||
17 | bitmap as "descriptor" field. Each bit is described below: | ||
18 | |||
19 | - Ultravisor-capable bit (PowerNV only). | ||
20 | |||
21 | #define PPCCAP_ULTRAVISOR_BIT (1 << 0) | ||
22 | |||
23 | Indicate that the powerpc kernel binary knows how to run in an | ||
24 | ultravisor-enabled system. | ||
25 | |||
26 | In an ultravisor-enabled system, some machine resources are now controlled | ||
27 | by the ultravisor. If the kernel is not ultravisor-capable, but it ends up | ||
28 | being run on a machine with ultravisor, the kernel will probably crash | ||
29 | trying to access ultravisor resources. For instance, it may crash in early | ||
30 | boot trying to set the partition table entry 0. | ||
31 | |||
32 | In an ultravisor-enabled system, a bootloader could warn the user or prevent | ||
33 | the kernel from being run if the PowerPC ultravisor capability doesn't exist | ||
34 | or the Ultravisor-capable bit is not set. | ||
35 | |||
36 | References | ||
37 | ---------- | ||
38 | |||
39 | arch/powerpc/include/asm/elfnote.h | ||
40 | arch/powerpc/kernel/note.S | ||
41 | |||
42 | |||