ELF Note PowerPC Namespace

The PowerPC namespace in an ELF Note of the kernel binary is used to storecapabilities 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[1].

  1. PPC_ELFNOTE_CAPABILITIES

Define the capabilities supported/required by the kernel. This type uses abitmap as “descriptor” field. Each bit is described below:

  • Ultravisor-capable bit (PowerNV only).
#define PPCCAP_ULTRAVISOR_BIT (1 << 0)

Indicate that the powerpc kernel binary knows how to run in anultravisor-enabled system.

In an ultravisor-enabled system, some machine resources are now controlledby the ultravisor. If the kernel is not ultravisor-capable, but it ends upbeing run on a machine with ultravisor, the kernel will probably crashtrying to access ultravisor resources. For instance, it may crash in earlyboot trying to set the partition table entry 0.

In an ultravisor-enabled system, a bootloader could warn the user or preventthe kernel from being run if the PowerPC ultravisor capability doesn’t existor the Ultravisor-capable bit is not set.

References

[1]arch/powerpc/include/asm/elfnote.h