xref: /linux/Documentation/arch/powerpc/elfnote.rst (revision 6f47c7ae8c7afaf9ad291d39f0d3974f191a7946)
1==========================
2ELF Note PowerPC Namespace
3==========================
4
5The PowerPC namespace in an ELF Note of the kernel binary is used to store
6capabilities and information which can be used by a bootloader or userland.
7
8Types and Descriptors
9---------------------
10
11The types to be used with the "PowerPC" namespace are defined in [#f1]_.
12
13	1) PPC_ELFNOTE_CAPABILITIES
14
15Define the capabilities supported/required by the kernel. This type uses a
16bitmap as "descriptor" field. Each bit is described below:
17
18- Ultravisor-capable bit (PowerNV only).
19
20.. code-block:: c
21
22	#define PPCCAP_ULTRAVISOR_BIT (1 << 0)
23
24Indicate that the powerpc kernel binary knows how to run in an
25ultravisor-enabled system.
26
27In an ultravisor-enabled system, some machine resources are now controlled
28by the ultravisor. If the kernel is not ultravisor-capable, but it ends up
29being run on a machine with ultravisor, the kernel will probably crash
30trying to access ultravisor resources. For instance, it may crash in early
31boot trying to set the partition table entry 0.
32
33In an ultravisor-enabled system, a bootloader could warn the user or prevent
34the kernel from being run if the PowerPC ultravisor capability doesn't exist
35or the Ultravisor-capable bit is not set.
36
37References
38----------
39
40.. [#f1] arch/powerpc/include/asm/elfnote.h
41
42