Merge tag 'trace-v5.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[linux-2.6-block.git] / Documentation / powerpc / elfnote.rst
CommitLineData
134cb3ab
MG
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
ad9b48c5 11The types to be used with the "PowerPC" namesapce are defined in [#f1]_.
134cb3ab
MG
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
ad9b48c5
AZ
20.. code-block:: c
21
134cb3ab
MG
22 #define PPCCAP_ULTRAVISOR_BIT (1 << 0)
23
ad9b48c5
AZ
24Indicate that the powerpc kernel binary knows how to run in an
25ultravisor-enabled system.
134cb3ab 26
ad9b48c5
AZ
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.
134cb3ab 32
ad9b48c5
AZ
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.
134cb3ab
MG
36
37References
38----------
39
ad9b48c5 40.. [#f1] arch/powerpc/include/asm/elfnote.h
134cb3ab 41