€•>›Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ+/translations/zh_CN/arch/powerpc/elf_hwcaps”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ+/translations/zh_TW/arch/powerpc/elf_hwcaps”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ+/translations/it_IT/arch/powerpc/elf_hwcaps”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ+/translations/ja_JP/arch/powerpc/elf_hwcaps”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ+/translations/ko_KR/arch/powerpc/elf_hwcaps”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ+/translations/pt_BR/arch/powerpc/elf_hwcaps”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ+/translations/sp_SP/arch/powerpc/elf_hwcaps”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒtarget”“”)�”}”(hŒ.. _elf_hwcaps_powerpc:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œelf-hwcaps-powerpc”uh1hµh´Khhh²hh³ŒE/var/lib/git/docbuild/linux/Documentation/arch/powerpc/elf_hwcaps.rst”ubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒPOWERPC ELF HWCAPs”h]”hŒPOWERPC ELF HWCAPs”…”�”}”(hhËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhhÆh²hh³hÃh´KubhŒ paragraph”“”)�”}”(hŒJThis document describes the usage and semantics of the powerpc ELF HWCAPs.”h]”hŒJThis document describes the usage and semantics of the powerpc ELF HWCAPs.”…”�”}”(hhÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KhhÆh²hubhÅ)�”}”(hhh]”(hÊ)�”}”(hŒ1. Introduction”h]”hŒ1. Introduction”…”�”}”(hhìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhhéh²hh³hÃh´K ubhÚ)�”}”(hXFSome hardware or software features are only available on some CPU implementations, and/or with certain kernel configurations, but have no other discovery mechanism available to userspace code. The kernel exposes the presence of these features to userspace through a set of flags called HWCAPs, exposed in the auxiliary vector.”h]”hXFSome hardware or software features are only available on some CPU implementations, and/or with certain kernel configurations, but have no other discovery mechanism available to userspace code. The kernel exposes the presence of these features to userspace through a set of flags called HWCAPs, exposed in the auxiliary vector.”…”�”}”(hhúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K hhéh²hubhÚ)�”}”(hŒ¥Userspace software can test for features by acquiring the AT_HWCAP or AT_HWCAP2 entry of the auxiliary vector, and testing whether the relevant flags are set, e.g.::”h]”hŒ¤Userspace software can test for features by acquiring the AT_HWCAP or AT_HWCAP2 entry of the auxiliary vector, and testing whether the relevant flags are set, e.g.:”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Khhéh²hubhŒ literal_block”“”)�”}”(hŒºbool floating_point_is_present(void) { unsigned long HWCAPs = getauxval(AT_HWCAP); if (HWCAPs & PPC_FEATURE_HAS_FPU) return true; return false; }”h]”hŒºbool floating_point_is_present(void) { unsigned long HWCAPs = getauxval(AT_HWCAP); if (HWCAPs & PPC_FEATURE_HAS_FPU) return true; return false; }”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jh³hÃh´Khhéh²hubhÚ)�”}”(hŒ´Where software relies on a feature described by a HWCAP, it should check the relevant HWCAP flag to verify that the feature is present before attempting to make use of the feature.”h]”hŒ´Where software relies on a feature described by a HWCAP, it should check the relevant HWCAP flag to verify that the feature is present before attempting to make use of the feature.”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K hhéh²hubhÚ)�”}”(hŒ¬HWCAP is the preferred method to test for the presence of a feature rather than probing through other means, which may not be reliable or may cause unpredictable behaviour.”h]”hŒ¬HWCAP is the preferred method to test for the presence of a feature rather than probing through other means, which may not be reliable or may cause unpredictable behaviour.”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K$hhéh²hubhÚ)�”}”(hX'Software that targets a particular platform does not necessarily have to test for required or implied features. For example if the program requires FPU, VMX, VSX, it is not necessary to test those HWCAPs, and it may be impossible to do so if the compiler generates code requiring those features.”h]”hX'Software that targets a particular platform does not necessarily have to test for required or implied features. For example if the program requires FPU, VMX, VSX, it is not necessary to test those HWCAPs, and it may be impossible to do so if the compiler generates code requiring those features.”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K(hhéh²hubeh}”(h]”Œ introduction”ah ]”h"]”Œ1. introduction”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´K ubhÅ)�”}”(hhh]”(hÊ)�”}”(hŒ 2. Facilities”h]”hŒ 2. Facilities”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhjZh²hh³hÃh´K.ubhÚ)�”}”(hXvThe Power ISA uses the term "facility" to describe a class of instructions, registers, interrupts, etc. The presence or absence of a facility indicates whether this class is available to be used, but the specifics depend on the ISA version. For example, if the VSX facility is available, the VSX instructions that can be used differ between the v3.0B and v3.1B ISA versions.”h]”hXzThe Power ISA uses the term “facilityâ€� to describe a class of instructions, registers, interrupts, etc. The presence or absence of a facility indicates whether this class is available to be used, but the specifics depend on the ISA version. For example, if the VSX facility is available, the VSX instructions that can be used differ between the v3.0B and v3.1B ISA versions.”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K0hjZh²hubeh}”(h]”Œ facilities”ah ]”h"]”Œ 2. facilities”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´K.ubhÅ)�”}”(hhh]”(hÊ)�”}”(hŒ 3. Categories”h]”hŒ 3. Categories”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhj�h²hh³hÃh´K8ubhÚ)�”}”(hX7The Power ISA before v3.0 uses the term "category" to describe certain classes of instructions and operating modes which may be optional or mutually exclusive, the exact meaning of the HWCAP flag may depend on context, e.g., the presence of the BOOKE feature implies that the server category is not implemented.”h]”hX;The Power ISA before v3.0 uses the term “categoryâ€� to describe certain classes of instructions and operating modes which may be optional or mutually exclusive, the exact meaning of the HWCAP flag may depend on context, e.g., the presence of the BOOKE feature implies that the server category is not implemented.”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K:hj�h²hubeh}”(h]”Œ categories”ah ]”h"]”Œ 3. categories”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´K8ubhÅ)�”}”(hhh]”(hÊ)�”}”(hŒ4. HWCAP allocation”h]”hŒ4. HWCAP allocation”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhj¨h²hh³hÃh´KAubhÚ)�”}”(hŒ�HWCAPs are allocated as described in Power Architecture 64-Bit ELF V2 ABI Specification (which will be reflected in the kernel's uapi headers).”h]”hŒ‘HWCAPs are allocated as described in Power Architecture 64-Bit ELF V2 ABI Specification (which will be reflected in the kernel’s uapi headers).”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KChj¨h²hubeh}”(h]”Œhwcap-allocation”ah ]”h"]”Œ4. hwcap allocation”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´KAubhÅ)�”}”(hhh]”(hÊ)�”}”(hŒ!5. The HWCAPs exposed in AT_HWCAP”h]”hŒ!5. The HWCAPs exposed in AT_HWCAP”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhjÏh²hh³hÃh´KGubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒPPC_FEATURE_32 32-bit CPU ”h]”(hŒterm”“”)�”}”(hŒPPC_FEATURE_32”h]”hŒPPC_FEATURE_32”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´KJhjçubhŒ definition”“”)�”}”(hhh]”hÚ)�”}”(hŒ 32-bit CPU”h]”hŒ 32-bit CPU”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KJhjýubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjçubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´KJhjâubjæ)�”}”(hŒEPPC_FEATURE_64 64-bit CPU (userspace may be running in 32-bit mode). ”h]”(jì)�”}”(hŒPPC_FEATURE_64”h]”hŒPPC_FEATURE_64”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´KMhjubjü)�”}”(hhh]”hÚ)�”}”(hŒ564-bit CPU (userspace may be running in 32-bit mode).”h]”hŒ564-bit CPU (userspace may be running in 32-bit mode).”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KMhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´KMhjâh²hubjæ)�”}”(hŒ|PPC_FEATURE_601_INSTR The processor is PowerPC 601. Unused in the kernel since f0ed73f3fa2c ("powerpc: Remove PowerPC 601") ”h]”(jì)�”}”(hŒPPC_FEATURE_601_INSTR”h]”hŒPPC_FEATURE_601_INSTR”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´KQhjIubjü)�”}”(hhh]”hÚ)�”}”(hŒeThe processor is PowerPC 601. Unused in the kernel since f0ed73f3fa2c ("powerpc: Remove PowerPC 601")”h]”hŒiThe processor is PowerPC 601. Unused in the kernel since f0ed73f3fa2c (“powerpc: Remove PowerPC 601â€�)”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KPhj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´KQhjâh²hubjæ)�”}”(hŒIPPC_FEATURE_HAS_ALTIVEC Vector (aka Altivec, VMX) facility is available. ”h]”(jì)�”}”(hŒPPC_FEATURE_HAS_ALTIVEC”h]”hŒPPC_FEATURE_HAS_ALTIVEC”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´KThjxubjü)�”}”(hhh]”hÚ)�”}”(hŒ0Vector (aka Altivec, VMX) facility is available.”h]”hŒ0Vector (aka Altivec, VMX) facility is available.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KThjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjxubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´KThjâh²hubjæ)�”}”(hŒ:PPC_FEATURE_HAS_FPU Floating point facility is available. ”h]”(jì)�”}”(hŒPPC_FEATURE_HAS_FPU”h]”hŒPPC_FEATURE_HAS_FPU”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´KWhj§ubjü)�”}”(hhh]”hÚ)�”}”(hŒ%Floating point facility is available.”h]”hŒ%Floating point facility is available.”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KWhj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhj§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´KWhjâh²hubjæ)�”}”(hŒCPPC_FEATURE_HAS_MMU Memory management unit is present and enabled. ”h]”(jì)�”}”(hŒPPC_FEATURE_HAS_MMU”h]”hŒPPC_FEATURE_HAS_MMU”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´KZhjÖubjü)�”}”(hhh]”hÚ)�”}”(hŒ.Memory management unit is present and enabled.”h]”hŒ.Memory management unit is present and enabled.”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KZhjèubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjÖubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´KZhjâh²hubjæ)�”}”(hŒŒPPC_FEATURE_HAS_4xxMAC The processor is 40x or 44x family. Unused in the kernel since 732b32daef80 ("powerpc: Remove core support for 40x") ”h]”(jì)�”}”(hŒPPC_FEATURE_HAS_4xxMAC”h]”hŒPPC_FEATURE_HAS_4xxMAC”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K^hjubjü)�”}”(hhh]”hÚ)�”}”(hŒtThe processor is 40x or 44x family. Unused in the kernel since 732b32daef80 ("powerpc: Remove core support for 40x")”h]”hŒxThe processor is 40x or 44x family. Unused in the kernel since 732b32daef80 (“powerpc: Remove core support for 40xâ€�)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K]hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K^hjâh²hubjæ)�”}”(hŒÊPPC_FEATURE_UNIFIED_CACHE The processor has a unified L1 cache for instructions and data, as found in NXP e200. Unused in the kernel since 39c8bf2b3cc1 ("powerpc: Retire e200 core (mpc555x processor)") ”h]”(jì)�”}”(hŒPPC_FEATURE_UNIFIED_CACHE”h]”hŒPPC_FEATURE_UNIFIED_CACHE”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´Kchj4ubjü)�”}”(hhh]”hÚ)�”}”(hŒ¯The processor has a unified L1 cache for instructions and data, as found in NXP e200. Unused in the kernel since 39c8bf2b3cc1 ("powerpc: Retire e200 core (mpc555x processor)")”h]”hŒ³The processor has a unified L1 cache for instructions and data, as found in NXP e200. Unused in the kernel since 39c8bf2b3cc1 (“powerpc: Retire e200 core (mpc555x processor)â€�)”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KahjFubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhj4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´Kchjâh²hubjæ)�”}”(hŒDPPC_FEATURE_HAS_SPE Signal Processing Engine facility is available. ”h]”(jì)�”}”(hŒPPC_FEATURE_HAS_SPE”h]”hŒPPC_FEATURE_HAS_SPE”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´Kfhjcubjü)�”}”(hhh]”hÚ)�”}”(hŒ/Signal Processing Engine facility is available.”h]”hŒ/Signal Processing Engine facility is available.”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Kfhjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´Kfhjâh²hubjæ)�”}”(hŒ^PPC_FEATURE_HAS_EFP_SINGLE Embedded Floating Point single precision operations are available. ”h]”(jì)�”}”(hŒPPC_FEATURE_HAS_EFP_SINGLE”h]”hŒPPC_FEATURE_HAS_EFP_SINGLE”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´Kihj’ubjü)�”}”(hhh]”hÚ)�”}”(hŒBEmbedded Floating Point single precision operations are available.”h]”hŒBEmbedded Floating Point single precision operations are available.”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Kihj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhj’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´Kihjâh²hubjæ)�”}”(hŒ^PPC_FEATURE_HAS_EFP_DOUBLE Embedded Floating Point double precision operations are available. ”h]”(jì)�”}”(hŒPPC_FEATURE_HAS_EFP_DOUBLE”h]”hŒPPC_FEATURE_HAS_EFP_DOUBLE”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´KlhjÁubjü)�”}”(hhh]”hÚ)�”}”(hŒBEmbedded Floating Point double precision operations are available.”h]”hŒBEmbedded Floating Point double precision operations are available.”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KlhjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´Klhjâh²hubjæ)�”}”(hXNPPC_FEATURE_NO_TB The timebase facility (mftb instruction) is not available. This is a 601 specific HWCAP, so if it is known that the processor running is not a 601, via other HWCAPs or other means, it is not required to test this bit before using the timebase. Unused in the kernel since f0ed73f3fa2c ("powerpc: Remove PowerPC 601") ”h]”(jì)�”}”(hŒPPC_FEATURE_NO_TB”h]”hŒPPC_FEATURE_NO_TB”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´Kshjðubjü)�”}”(hhh]”hÚ)�”}”(hX;The timebase facility (mftb instruction) is not available. This is a 601 specific HWCAP, so if it is known that the processor running is not a 601, via other HWCAPs or other means, it is not required to test this bit before using the timebase. Unused in the kernel since f0ed73f3fa2c ("powerpc: Remove PowerPC 601")”h]”hX?The timebase facility (mftb instruction) is not available. This is a 601 specific HWCAP, so if it is known that the processor running is not a 601, via other HWCAPs or other means, it is not required to test this bit before using the timebase. Unused in the kernel since f0ed73f3fa2c (“powerpc: Remove PowerPC 601â€�)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Kohjubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´Kshjâh²hubjæ)�”}”(hŒ�PPC_FEATURE_POWER4 The processor is POWER4 or PPC970/FX/MP. POWER4 support dropped from the kernel since 471d7ff8b51b ("powerpc/64s: Remove POWER4 support") ”h]”(jì)�”}”(hŒPPC_FEATURE_POWER4”h]”hŒPPC_FEATURE_POWER4”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´Kwhjubjü)�”}”(hhh]”hÚ)�”}”(hŒ‰The processor is POWER4 or PPC970/FX/MP. POWER4 support dropped from the kernel since 471d7ff8b51b ("powerpc/64s: Remove POWER4 support")”h]”hŒ�The processor is POWER4 or PPC970/FX/MP. POWER4 support dropped from the kernel since 471d7ff8b51b (“powerpc/64s: Remove POWER4 supportâ€�)”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Kvhj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´Kwhjâh²hubjæ)�”}”(hŒ,PPC_FEATURE_POWER5 The processor is POWER5. ”h]”(jì)�”}”(hŒPPC_FEATURE_POWER5”h]”hŒPPC_FEATURE_POWER5”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´KzhjNubjü)�”}”(hhh]”hÚ)�”}”(hŒThe processor is POWER5.”h]”hŒThe processor is POWER5.”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Kzhj`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjNubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´Kzhjâh²hubjæ)�”}”(hŒ2PPC_FEATURE_POWER5_PLUS The processor is POWER5+. ”h]”(jì)�”}”(hŒPPC_FEATURE_POWER5_PLUS”h]”hŒPPC_FEATURE_POWER5_PLUS”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K}hj}ubjü)�”}”(hhh]”hÚ)�”}”(hŒThe processor is POWER5+.”h]”hŒThe processor is POWER5+.”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K}hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhj}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K}hjâh²hubjæ)�”}”(hŒ(PPC_FEATURE_CELL The processor is Cell. ”h]”(jì)�”}”(hŒPPC_FEATURE_CELL”h]”hŒPPC_FEATURE_CELL”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K€hj¬ubjü)�”}”(hhh]”hÚ)�”}”(hŒThe processor is Cell.”h]”hŒThe processor is Cell.”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K€hj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhj¬ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K€hjâh²hubjæ)�”}”(hŒYPPC_FEATURE_BOOKE The processor implements the embedded category ("BookE") architecture. ”h]”(jì)�”}”(hŒPPC_FEATURE_BOOKE”h]”hŒPPC_FEATURE_BOOKE”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´KƒhjÛubjü)�”}”(hhh]”hÚ)�”}”(hŒFThe processor implements the embedded category ("BookE") architecture.”h]”hŒJThe processor implements the embedded category (“BookEâ€�) architecture.”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Kƒhjíubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´Kƒhjâh²hubjæ)�”}”(hŒ.PPC_FEATURE_SMT The processor implements SMT. ”h]”(jì)�”}”(hŒPPC_FEATURE_SMT”h]”hŒPPC_FEATURE_SMT”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K†hj ubjü)�”}”(hhh]”hÚ)�”}”(hŒThe processor implements SMT.”h]”hŒThe processor implements SMT.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K†hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K†hjâh²hubjæ)�”}”(hXcPPC_FEATURE_ICACHE_SNOOP The processor icache is coherent with the dcache, and instruction storage can be made consistent with data storage for the purpose of executing instructions with the sequence (as described in, e.g., POWER9 Processor User's Manual, 4.6.2.2 Instruction Cache Block Invalidate (icbi)):: sync icbi (to any address) isync ”h]”(jì)�”}”(hŒPPC_FEATURE_ICACHE_SNOOP”h]”hŒPPC_FEATURE_ICACHE_SNOOP”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K�hj9ubjü)�”}”(hhh]”(hÚ)�”}”(hXThe processor icache is coherent with the dcache, and instruction storage can be made consistent with data storage for the purpose of executing instructions with the sequence (as described in, e.g., POWER9 Processor User's Manual, 4.6.2.2 Instruction Cache Block Invalidate (icbi))::”h]”hXThe processor icache is coherent with the dcache, and instruction storage can be made consistent with data storage for the purpose of executing instructions with the sequence (as described in, e.g., POWER9 Processor User’s Manual, 4.6.2.2 Instruction Cache Block Invalidate (icbi)):”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K‰hjKubj)�”}”(hŒ sync icbi (to any address) isync”h]”hŒ sync icbi (to any address) isync”…”�”}”hj\sbah}”(h]”h ]”h"]”h$]”h&]”j&j'uh1jh³hÃh´KŽhjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1jûhj9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K�hjâh²hubjæ)�”}”(hŒ’PPC_FEATURE_ARCH_2_05 The processor supports the v2.05 userlevel architecture. Processors supporting later architectures DO NOT set this feature. ”h]”(jì)�”}”(hŒPPC_FEATURE_ARCH_2_05”h]”hŒPPC_FEATURE_ARCH_2_05”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K”hjvubjü)�”}”(hhh]”hÚ)�”}”(hŒ{The processor supports the v2.05 userlevel architecture. Processors supporting later architectures DO NOT set this feature.”h]”hŒ{The processor supports the v2.05 userlevel architecture. Processors supporting later architectures DO NOT set this feature.”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K“hjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjvubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K”hjâh²hubjæ)�”}”(hŒ(PPC_FEATURE_PA6T The processor is PA6T. ”h]”(jì)�”}”(hŒPPC_FEATURE_PA6T”h]”hŒPPC_FEATURE_PA6T”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K—hj¥ubjü)�”}”(hhh]”hÚ)�”}”(hŒThe processor is PA6T.”h]”hŒThe processor is PA6T.”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K—hj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhj¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K—hjâh²hubjæ)�”}”(hŒ/PPC_FEATURE_HAS_DFP DFP facility is available. ”h]”(jì)�”}”(hŒPPC_FEATURE_HAS_DFP”h]”hŒPPC_FEATURE_HAS_DFP”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´KšhjÔubjü)�”}”(hhh]”hÚ)�”}”(hŒDFP facility is available.”h]”hŒDFP facility is available.”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Kšhjæubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´Kšhjâh²hubjæ)�”}”(hŒ0PPC_FEATURE_POWER6_EXT The processor is POWER6. ”h]”(jì)�”}”(hŒPPC_FEATURE_POWER6_EXT”h]”hŒPPC_FEATURE_POWER6_EXT”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K�hjubjü)�”}”(hhh]”hÚ)�”}”(hŒThe processor is POWER6.”h]”hŒThe processor is POWER6.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K�hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K�hjâh²hubjæ)�”}”(hŒ�PPC_FEATURE_ARCH_2_06 The processor supports the v2.06 userlevel architecture. Processors supporting later architectures also set this feature. ”h]”(jì)�”}”(hŒPPC_FEATURE_ARCH_2_06”h]”hŒPPC_FEATURE_ARCH_2_06”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K¡hj2ubjü)�”}”(hhh]”hÚ)�”}”(hŒyThe processor supports the v2.06 userlevel architecture. Processors supporting later architectures also set this feature.”h]”hŒyThe processor supports the v2.06 userlevel architecture. Processors supporting later architectures also set this feature.”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K hjDubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhj2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K¡hjâh²hubjæ)�”}”(hŒ/PPC_FEATURE_HAS_VSX VSX facility is available. ”h]”(jì)�”}”(hŒPPC_FEATURE_HAS_VSX”h]”hŒPPC_FEATURE_HAS_VSX”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K¤hjaubjü)�”}”(hhh]”hÚ)�”}”(hŒVSX facility is available.”h]”hŒVSX facility is available.”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K¤hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K¤hjâh²hubjæ)�”}”(hŒiPPC_FEATURE_PSERIES_PERFMON_COMPAT The processor supports architected PMU events in the range 0xE0-0xFF. ”h]”(jì)�”}”(hŒ"PPC_FEATURE_PSERIES_PERFMON_COMPAT”h]”hŒ"PPC_FEATURE_PSERIES_PERFMON_COMPAT”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K§hj�ubjü)�”}”(hhh]”hÚ)�”}”(hŒEThe processor supports architected PMU events in the range 0xE0-0xFF.”h]”hŒEThe processor supports architected PMU events in the range 0xE0-0xFF.”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K§hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K§hjâh²hubjæ)�”}”(hŒDPPC_FEATURE_TRUE_LE The processor supports true little-endian mode. ”h]”(jì)�”}”(hŒPPC_FEATURE_TRUE_LE”h]”hŒPPC_FEATURE_TRUE_LE”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´Kªhj¿ubjü)�”}”(hhh]”hÚ)�”}”(hŒ/The processor supports true little-endian mode.”h]”hŒ/The processor supports true little-endian mode.”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KªhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhj¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´Kªhjâh²hubjæ)�”}”(hX PPC_FEATURE_PPC_LE The processor supports "PowerPC Little-Endian", that uses address munging to make storage access appear to be little-endian, but the data is stored in a different format that is unsuitable to be accessed by other agents not running in this mode. ”h]”(jì)�”}”(hŒPPC_FEATURE_PPC_LE”h]”hŒPPC_FEATURE_PPC_LE”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K°hjîubjü)�”}”(hhh]”hÚ)�”}”(hŒõThe processor supports "PowerPC Little-Endian", that uses address munging to make storage access appear to be little-endian, but the data is stored in a different format that is unsuitable to be accessed by other agents not running in this mode.”h]”hŒùThe processor supports “PowerPC Little-Endianâ€�, that uses address munging to make storage access appear to be little-endian, but the data is stored in a different format that is unsuitable to be accessed by other agents not running in this mode.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K­hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K°hjâh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jàhjÏh²hh³hÃh´Nubeh}”(h]”Œthe-hwcaps-exposed-in-at-hwcap”ah ]”h"]”Œ!5. the hwcaps exposed in at_hwcap”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´KGubhÅ)�”}”(hhh]”(hÊ)�”}”(hŒ"6. The HWCAPs exposed in AT_HWCAP2”h]”hŒ"6. The HWCAPs exposed in AT_HWCAP2”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhj+h²hh³hÃh´K³ubjá)�”}”(hhh]”(jæ)�”}”(hŒ‘PPC_FEATURE2_ARCH_2_07 The processor supports the v2.07 userlevel architecture. Processors supporting later architectures also set this feature. ”h]”(jì)�”}”(hŒPPC_FEATURE2_ARCH_2_07”h]”hŒPPC_FEATURE2_ARCH_2_07”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jëh³hÃh´K·hj?ubjü)�”}”(hhh]”hÚ)�”}”(hŒyThe processor supports the v2.07 userlevel architecture. Processors supporting later architectures also set this feature.”h]”hŒyThe processor supports the v2.07 userlevel architecture. Processors supporting later architectures also set this feature.”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K¶hjQubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhj?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jåh³hÃh´K·hj<ubjæ)�”}”(hŒ Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÃŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”hÂ]”h·asŒnameids”}”(j hÂj j jWjTj~j{j¥j¢jÌjÉj(j%j j uŒ nametypes”}”(j ˆj ‰jW‰j~‰j¥‰j̉j(‰j ‰uh}”(hÂhÆj hÆjThéj{jZj¢j�jÉj¨j%jÏj j+uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)�”}”(hhh]”hÚ)�”}”(hhh]”hŒ8Hyperlink target "elf-hwcaps-powerpc" is not referenced.”…”�”}”hj¨ sbah}”(h]”h ]”h"]”h$]”h&]”uh1hÙhj¥ ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÃŒline”Kuh1j£ ubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.