2019-08-29 12:50:21 -03:00
==========================
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
---------------------
2021-03-26 06:08:53 -04:00
The types to be used with the "PowerPC" namespace are defined in [#f1]_ .
2019-08-29 12:50:21 -03:00
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).
2019-09-15 15:29:05 +10:00
.. code-block :: c
2019-08-29 12:50:21 -03:00
#define PPCCAP_ULTRAVISOR_BIT (1 << 0)
2019-09-15 15:29:05 +10:00
Indicate that the powerpc kernel binary knows how to run in an
ultravisor-enabled system.
2019-08-29 12:50:21 -03:00
2019-09-15 15:29:05 +10:00
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.
2019-08-29 12:50:21 -03:00
2019-09-15 15:29:05 +10:00
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.
2019-08-29 12:50:21 -03:00
References
----------
2019-09-15 15:29:05 +10:00
.. [#f1] arch/powerpc/include/asm/elfnote.h
2019-08-29 12:50:21 -03:00