18c2ecf20Sopenharmony_ci========================== 28c2ecf20Sopenharmony_ciELF Note PowerPC Namespace 38c2ecf20Sopenharmony_ci========================== 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciThe PowerPC namespace in an ELF Note of the kernel binary is used to store 68c2ecf20Sopenharmony_cicapabilities and information which can be used by a bootloader or userland. 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciTypes and Descriptors 98c2ecf20Sopenharmony_ci--------------------- 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciThe types to be used with the "PowerPC" namesapce are defined in [#f1]_. 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci 1) PPC_ELFNOTE_CAPABILITIES 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciDefine the capabilities supported/required by the kernel. This type uses a 168c2ecf20Sopenharmony_cibitmap as "descriptor" field. Each bit is described below: 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci- Ultravisor-capable bit (PowerNV only). 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci.. code-block:: c 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci #define PPCCAP_ULTRAVISOR_BIT (1 << 0) 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciIndicate that the powerpc kernel binary knows how to run in an 258c2ecf20Sopenharmony_ciultravisor-enabled system. 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciIn an ultravisor-enabled system, some machine resources are now controlled 288c2ecf20Sopenharmony_ciby the ultravisor. If the kernel is not ultravisor-capable, but it ends up 298c2ecf20Sopenharmony_cibeing run on a machine with ultravisor, the kernel will probably crash 308c2ecf20Sopenharmony_citrying to access ultravisor resources. For instance, it may crash in early 318c2ecf20Sopenharmony_ciboot trying to set the partition table entry 0. 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ciIn an ultravisor-enabled system, a bootloader could warn the user or prevent 348c2ecf20Sopenharmony_cithe kernel from being run if the PowerPC ultravisor capability doesn't exist 358c2ecf20Sopenharmony_cior the Ultravisor-capable bit is not set. 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ciReferences 388c2ecf20Sopenharmony_ci---------- 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci.. [#f1] arch/powerpc/include/asm/elfnote.h 418c2ecf20Sopenharmony_ci 42