Commit 134cb3ab authored by Maxiwell S. Garcia's avatar Maxiwell S. Garcia Committed by Michael Ellerman
Browse files

Documentation/powerpc: Add ELF note documentation



The ELF note documentation describes the types and descriptors to be
used with the PowerPC namespace.

Signed-off-by: default avatarMaxiwell S. Garcia <maxiwell@linux.ibm.com>
Signed-off-by: default avatarClaudio Carvalho <cclaudio@linux.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20190829155021.2915-3-maxiwell@linux.ibm.com
parent 70ed86f4
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
==========================
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 the
include/uapi/asm/elfnote.h

	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).

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

arch/powerpc/include/asm/elfnote.h
arch/powerpc/kernel/note.S