| ========================== |
| 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" namespace are defined in [#f1]_. |
| |
| 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). |
| |
| .. code-block:: c |
| |
| #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 |
| ---------- |
| |
| .. [#f1] arch/powerpc/include/asm/elfnote.h |
| |