1*4882a593Smuzhiyun========================== 2*4882a593SmuzhiyunELF Note PowerPC Namespace 3*4882a593Smuzhiyun========================== 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunThe PowerPC namespace in an ELF Note of the kernel binary is used to store 6*4882a593Smuzhiyuncapabilities and information which can be used by a bootloader or userland. 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunTypes and Descriptors 9*4882a593Smuzhiyun--------------------- 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunThe types to be used with the "PowerPC" namesapce are defined in [#f1]_. 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun 1) PPC_ELFNOTE_CAPABILITIES 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunDefine the capabilities supported/required by the kernel. This type uses a 16*4882a593Smuzhiyunbitmap as "descriptor" field. Each bit is described below: 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun- Ultravisor-capable bit (PowerNV only). 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun.. code-block:: c 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun #define PPCCAP_ULTRAVISOR_BIT (1 << 0) 23*4882a593Smuzhiyun 24*4882a593SmuzhiyunIndicate that the powerpc kernel binary knows how to run in an 25*4882a593Smuzhiyunultravisor-enabled system. 26*4882a593Smuzhiyun 27*4882a593SmuzhiyunIn an ultravisor-enabled system, some machine resources are now controlled 28*4882a593Smuzhiyunby the ultravisor. If the kernel is not ultravisor-capable, but it ends up 29*4882a593Smuzhiyunbeing run on a machine with ultravisor, the kernel will probably crash 30*4882a593Smuzhiyuntrying to access ultravisor resources. For instance, it may crash in early 31*4882a593Smuzhiyunboot trying to set the partition table entry 0. 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunIn an ultravisor-enabled system, a bootloader could warn the user or prevent 34*4882a593Smuzhiyunthe kernel from being run if the PowerPC ultravisor capability doesn't exist 35*4882a593Smuzhiyunor the Ultravisor-capable bit is not set. 36*4882a593Smuzhiyun 37*4882a593SmuzhiyunReferences 38*4882a593Smuzhiyun---------- 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun.. [#f1] arch/powerpc/include/asm/elfnote.h 41*4882a593Smuzhiyun 42