|  | ========================== | 
|  | 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 | 
|  |  |