0001 ==========================
0002 ELF Note PowerPC Namespace
0003 ==========================
0004
0005 The PowerPC namespace in an ELF Note of the kernel binary is used to store
0006 capabilities and information which can be used by a bootloader or userland.
0007
0008 Types and Descriptors
0009 ---------------------
0010
0011 The types to be used with the "PowerPC" namespace are defined in [#f1]_.
0012
0013 1) PPC_ELFNOTE_CAPABILITIES
0014
0015 Define the capabilities supported/required by the kernel. This type uses a
0016 bitmap as "descriptor" field. Each bit is described below:
0017
0018 - Ultravisor-capable bit (PowerNV only).
0019
0020 .. code-block:: c
0021
0022 #define PPCCAP_ULTRAVISOR_BIT (1 << 0)
0023
0024 Indicate that the powerpc kernel binary knows how to run in an
0025 ultravisor-enabled system.
0026
0027 In an ultravisor-enabled system, some machine resources are now controlled
0028 by the ultravisor. If the kernel is not ultravisor-capable, but it ends up
0029 being run on a machine with ultravisor, the kernel will probably crash
0030 trying to access ultravisor resources. For instance, it may crash in early
0031 boot trying to set the partition table entry 0.
0032
0033 In an ultravisor-enabled system, a bootloader could warn the user or prevent
0034 the kernel from being run if the PowerPC ultravisor capability doesn't exist
0035 or the Ultravisor-capable bit is not set.
0036
0037 References
0038 ----------
0039
0040 .. [#f1] arch/powerpc/include/asm/elfnote.h
0041