42 lines
1.3 KiB
ReStructuredText
42 lines
1.3 KiB
ReStructuredText
|
==========================
|
||
|
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" namesapce 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
|
||
|
|