sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget4/translations/zh_CN/arch/arm64/cpu-feature-registersmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget4/translations/zh_TW/arch/arm64/cpu-feature-registersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget4/translations/it_IT/arch/arm64/cpu-feature-registersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget4/translations/ja_JP/arch/arm64/cpu-feature-registersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget4/translations/ko_KR/arch/arm64/cpu-feature-registersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget4/translations/sp_SP/arch/arm64/cpu-feature-registersmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hARM64 CPU Feature Registersh]hARM64 CPU Feature Registers}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhN/var/lib/git/docbuild/linux/Documentation/arch/arm64/cpu-feature-registers.rsthKubh paragraph)}(h1Author: Suzuki K Poulose h](hAuthor: Suzuki K Poulose <}(hhhhhNhNubh reference)}(hsuzuki.poulose@arm.comh]hsuzuki.poulose@arm.com}(hhhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:suzuki.poulose@arm.comuh1hhhubh>}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hThis file describes the ABI for exporting the AArch64 CPU ID/feature registers to userspace. The availability of this ABI is advertised via the HWCAP_CPUID in HWCAPs.h]hThis file describes the ABI for exporting the AArch64 CPU ID/feature registers to userspace. The availability of this ABI is advertised via the HWCAP_CPUID in HWCAPs.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h 1. Motivationh]h 1. Motivation}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh)}(hXThe ARM architecture defines a set of feature registers, which describe the capabilities of the CPU/system. Access to these system registers is restricted from EL0 and there is no reliable way for an application to extract this information to make better decisions at runtime. There is limited information available to the application via HWCAPs, however there are some issues with their usage.h]hXThe ARM architecture defines a set of feature registers, which describe the capabilities of the CPU/system. Access to these system registers is restricted from EL0 and there is no reliable way for an application to extract this information to make better decisions at runtime. There is limited information available to the application via HWCAPs, however there are some issues with their usage.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh block_quote)}(hX{a) Any change to the HWCAPs requires an update to userspace (e.g libc) to detect the new changes, which can take a long time to appear in distributions. Exposing the registers allows applications to get the information without requiring updates to the toolchains. b) Access to HWCAPs is sometimes limited (e.g prior to libc, or when ld is initialised at startup time). c) HWCAPs cannot represent non-boolean information effectively. The architecture defines a canonical format for representing features in the ID registers; this is well defined and is capable of representing all valid architecture variations. h]henumerated_list)}(hhh](h list_item)}(hXAny change to the HWCAPs requires an update to userspace (e.g libc) to detect the new changes, which can take a long time to appear in distributions. Exposing the registers allows applications to get the information without requiring updates to the toolchains. h]h)}(hXAny change to the HWCAPs requires an update to userspace (e.g libc) to detect the new changes, which can take a long time to appear in distributions. Exposing the registers allows applications to get the information without requiring updates to the toolchains.h]hXAny change to the HWCAPs requires an update to userspace (e.g libc) to detect the new changes, which can take a long time to appear in distributions. Exposing the registers allows applications to get the information without requiring updates to the toolchains.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hfAccess to HWCAPs is sometimes limited (e.g prior to libc, or when ld is initialised at startup time). h]h)}(heAccess to HWCAPs is sometimes limited (e.g prior to libc, or when ld is initialised at startup time).h]heAccess to HWCAPs is sometimes limited (e.g prior to libc, or when ld is initialised at startup time).}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hHWCAPs cannot represent non-boolean information effectively. The architecture defines a canonical format for representing features in the ID registers; this is well defined and is capable of representing all valid architecture variations. h]h)}(hHWCAPs cannot represent non-boolean information effectively. The architecture defines a canonical format for representing features in the ID registers; this is well defined and is capable of representing all valid architecture variations.h]hHWCAPs cannot represent non-boolean information effectively. The architecture defines a canonical format for representing features in the ID registers; this is well defined and is capable of representing all valid architecture variations.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjGubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]enumtype loweralphaprefixhsuffix)uh1jhj ubah}(h]h ]h"]h$]h&]uh1j hhhKhhhhubeh}(h] motivationah ]h"] 1. motivationah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(h2. Requirementsh]h2. Requirements}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxhhhhhK%ubj )}(hXa) Safety: Applications should be able to use the information provided by the infrastructure to run safely across the system. This has greater implications on a system with heterogeneous CPUs. The infrastructure exports a value that is safe across all the available CPU on the system. e.g, If at least one CPU doesn't implement CRC32 instructions, while others do, we should report that the CRC32 is not implemented. Otherwise an application could crash when scheduled on the CPU which doesn't support CRC32. b) Security: Applications should only be able to receive information that is relevant to the normal operation in userspace. Hence, some of the fields are masked out(i.e, made invisible) and their values are set to indicate the feature is 'not supported'. See Section 4 for the list of visible features. Also, the kernel may manipulate the fields based on what it supports. e.g, If FP is not supported by the kernel, the values could indicate that the FP is not available (even when the CPU provides it). c) Implementation Defined Features The infrastructure doesn't expose any register which is IMPLEMENTATION DEFINED as per ARMv8-A Architecture. d) CPU Identification: MIDR_EL1 is exposed to help identify the processor. On a heterogeneous system, this could be racy (just like getcpu()). The process could be migrated to another CPU by the time it uses the register value, unless the CPU affinity is set. Hence, there is no guarantee that the value reflects the processor that it is currently executing on. REVIDR and AIDR are not exposed due to this constraint, as these registers only make sense in conjunction with the MIDR. Alternately, MIDR_EL1, REVIDR_EL1, and AIDR_EL1 are exposed via sysfs at:: /sys/devices/system/cpu/cpu$ID/regs/identification/ \- midr_el1 \- revidr_el1 \- aidr_el1 h]j)}(hhh](j)}(hXSafety: Applications should be able to use the information provided by the infrastructure to run safely across the system. This has greater implications on a system with heterogeneous CPUs. The infrastructure exports a value that is safe across all the available CPU on the system. e.g, If at least one CPU doesn't implement CRC32 instructions, while others do, we should report that the CRC32 is not implemented. Otherwise an application could crash when scheduled on the CPU which doesn't support CRC32. h](h)}(hSafety:h]hSafety:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hjubh)}(hXApplications should be able to use the information provided by the infrastructure to run safely across the system. This has greater implications on a system with heterogeneous CPUs. The infrastructure exports a value that is safe across all the available CPU on the system.h]hXApplications should be able to use the information provided by the infrastructure to run safely across the system. This has greater implications on a system with heterogeneous CPUs. The infrastructure exports a value that is safe across all the available CPU on the system.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjubh)}(he.g, If at least one CPU doesn't implement CRC32 instructions, while others do, we should report that the CRC32 is not implemented. Otherwise an application could crash when scheduled on the CPU which doesn't support CRC32.h]he.g, If at least one CPU doesn’t implement CRC32 instructions, while others do, we should report that the CRC32 is not implemented. Otherwise an application could crash when scheduled on the CPU which doesn’t support CRC32.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hXSecurity: Applications should only be able to receive information that is relevant to the normal operation in userspace. Hence, some of the fields are masked out(i.e, made invisible) and their values are set to indicate the feature is 'not supported'. See Section 4 for the list of visible features. Also, the kernel may manipulate the fields based on what it supports. e.g, If FP is not supported by the kernel, the values could indicate that the FP is not available (even when the CPU provides it). h](h)}(h Security:h]h Security:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK4hjubh)}(hXApplications should only be able to receive information that is relevant to the normal operation in userspace. Hence, some of the fields are masked out(i.e, made invisible) and their values are set to indicate the feature is 'not supported'. See Section 4 for the list of visible features. Also, the kernel may manipulate the fields based on what it supports. e.g, If FP is not supported by the kernel, the values could indicate that the FP is not available (even when the CPU provides it).h]hXApplications should only be able to receive information that is relevant to the normal operation in userspace. Hence, some of the fields are masked out(i.e, made invisible) and their values are set to indicate the feature is ‘not supported’. See Section 4 for the list of visible features. Also, the kernel may manipulate the fields based on what it supports. e.g, If FP is not supported by the kernel, the values could indicate that the FP is not available (even when the CPU provides it).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hImplementation Defined Features The infrastructure doesn't expose any register which is IMPLEMENTATION DEFINED as per ARMv8-A Architecture. h](h)}(hImplementation Defined Featuresh]hImplementation Defined Features}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjubh)}(hkThe infrastructure doesn't expose any register which is IMPLEMENTATION DEFINED as per ARMv8-A Architecture.h]hmThe infrastructure doesn’t expose any register which is IMPLEMENTATION DEFINED as per ARMv8-A Architecture.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hX!CPU Identification: MIDR_EL1 is exposed to help identify the processor. On a heterogeneous system, this could be racy (just like getcpu()). The process could be migrated to another CPU by the time it uses the register value, unless the CPU affinity is set. Hence, there is no guarantee that the value reflects the processor that it is currently executing on. REVIDR and AIDR are not exposed due to this constraint, as these registers only make sense in conjunction with the MIDR. Alternately, MIDR_EL1, REVIDR_EL1, and AIDR_EL1 are exposed via sysfs at:: /sys/devices/system/cpu/cpu$ID/regs/identification/ \- midr_el1 \- revidr_el1 \- aidr_el1 h](h)}(hCPU Identification:h]hCPU Identification:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjubh)}(hXMIDR_EL1 is exposed to help identify the processor. On a heterogeneous system, this could be racy (just like getcpu()). The process could be migrated to another CPU by the time it uses the register value, unless the CPU affinity is set. Hence, there is no guarantee that the value reflects the processor that it is currently executing on. REVIDR and AIDR are not exposed due to this constraint, as these registers only make sense in conjunction with the MIDR. Alternately, MIDR_EL1, REVIDR_EL1, and AIDR_EL1 are exposed via sysfs at::h]hXMIDR_EL1 is exposed to help identify the processor. On a heterogeneous system, this could be racy (just like getcpu()). The process could be migrated to another CPU by the time it uses the register value, unless the CPU affinity is set. Hence, there is no guarantee that the value reflects the processor that it is currently executing on. REVIDR and AIDR are not exposed due to this constraint, as these registers only make sense in conjunction with the MIDR. Alternately, MIDR_EL1, REVIDR_EL1, and AIDR_EL1 are exposed via sysfs at:}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhjubh literal_block)}(h/sys/devices/system/cpu/cpu$ID/regs/identification/ \- midr_el1 \- revidr_el1 \- aidr_el1h]h/sys/devices/system/cpu/cpu$ID/regs/identification/ \- midr_el1 \- revidr_el1 \- aidr_el1}hj2sbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1j0hhhKPhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]jejfjghjhjiuh1jhjubah}(h]h ]h"]h$]h&]uh1j hhhK'hjxhhubeh}(h] requirementsah ]h"]2. requirementsah$]h&]uh1hhhhhhhhK%ubh)}(hhh](h)}(h3. Implementationh]h3. Implementation}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\hhhhhKVubh)}(hX[The infrastructure is built on the emulation of the 'MRS' instruction. Accessing a restricted system register from an application generates an exception and ends up in SIGILL being delivered to the process. The infrastructure hooks into the exception handler and emulates the operation if the source belongs to the supported system register space.h]hX_The infrastructure is built on the emulation of the ‘MRS’ instruction. Accessing a restricted system register from an application generates an exception and ends up in SIGILL being delivered to the process. The infrastructure hooks into the exception handler and emulates the operation if the source belongs to the supported system register space.}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhj\hhubh)}(hFThe infrastructure emulates only the following system register space::h]hEThe infrastructure emulates only the following system register space:}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK^hj\hhubj1)}(h&Op0=3, Op1=0, CRn=0, CRm=0,2,3,4,5,6,7h]h&Op0=3, Op1=0, CRn=0, CRm=0,2,3,4,5,6,7}hjsbah}(h]h ]h"]h$]h&]j@jAuh1j0hhhK`hj\hhubh)}(h(See Table C5-6 'System instruction encodings for non-Debug System register accesses' in ARMv8 ARM DDI 0487A.h, for the list of registers).h]h(See Table C5-6 ‘System instruction encodings for non-Debug System register accesses’ in ARMv8 ARM DDI 0487A.h, for the list of registers).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKbhj\hhubh)}(hLThe following rules are applied to the value returned by the infrastructure:h]hLThe following rules are applied to the value returned by the infrastructure:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKfhj\hhubj )}(hXa) The value of an 'IMPLEMENTATION DEFINED' field is set to 0. b) The value of a reserved field is populated with the reserved value as defined by the architecture. c) The value of a 'visible' field holds the system wide safe value for the particular feature (except for MIDR_EL1, see section 4). d) All other fields (i.e, invisible fields) are set to indicate the feature is missing (as defined by the architecture). h]j)}(hhh](j)}(h;The value of an 'IMPLEMENTATION DEFINED' field is set to 0.h]h)}(hjh]h?The value of an ‘IMPLEMENTATION DEFINED’ field is set to 0.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hbThe value of a reserved field is populated with the reserved value as defined by the architecture.h]h)}(hbThe value of a reserved field is populated with the reserved value as defined by the architecture.h]hbThe value of a reserved field is populated with the reserved value as defined by the architecture.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hThe value of a 'visible' field holds the system wide safe value for the particular feature (except for MIDR_EL1, see section 4).h]h)}(hThe value of a 'visible' field holds the system wide safe value for the particular feature (except for MIDR_EL1, see section 4).h]hThe value of a ‘visible’ field holds the system wide safe value for the particular feature (except for MIDR_EL1, see section 4).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hvAll other fields (i.e, invisible fields) are set to indicate the feature is missing (as defined by the architecture). h]h)}(huAll other fields (i.e, invisible fields) are set to indicate the feature is missing (as defined by the architecture).h]huAll other fields (i.e, invisible fields) are set to indicate the feature is missing (as defined by the architecture).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]jejfjghjhjiuh1jhjubah}(h]h ]h"]h$]h&]uh1j hhhKihj\hhubeh}(h]implementationah ]h"]3. implementationah$]h&]uh1hhhhhhhhKVubh)}(hhh](h)}(h*4. List of registers with visible featuresh]h*4. List of registers with visible features}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-hhhhhKrubj )}(hX,1) ID_AA64ISAR0_EL1 - Instruction Set Attribute Register 0 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | RNDR | [63-60] | y | +------------------------------+---------+---------+ | TS | [55-52] | y | +------------------------------+---------+---------+ | FHM | [51-48] | y | +------------------------------+---------+---------+ | DP | [47-44] | y | +------------------------------+---------+---------+ | SM4 | [43-40] | y | +------------------------------+---------+---------+ | SM3 | [39-36] | y | +------------------------------+---------+---------+ | SHA3 | [35-32] | y | +------------------------------+---------+---------+ | RDM | [31-28] | y | +------------------------------+---------+---------+ | ATOMICS | [23-20] | y | +------------------------------+---------+---------+ | CRC32 | [19-16] | y | +------------------------------+---------+---------+ | SHA2 | [15-12] | y | +------------------------------+---------+---------+ | SHA1 | [11-8] | y | +------------------------------+---------+---------+ | AES | [7-4] | y | +------------------------------+---------+---------+ 2) ID_AA64PFR0_EL1 - Processor Feature Register 0 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | DIT | [51-48] | y | +------------------------------+---------+---------+ | MPAM | [43-40] | n | +------------------------------+---------+---------+ | SVE | [35-32] | y | +------------------------------+---------+---------+ | GIC | [27-24] | n | +------------------------------+---------+---------+ | AdvSIMD | [23-20] | y | +------------------------------+---------+---------+ | FP | [19-16] | y | +------------------------------+---------+---------+ | EL3 | [15-12] | n | +------------------------------+---------+---------+ | EL2 | [11-8] | n | +------------------------------+---------+---------+ | EL1 | [7-4] | n | +------------------------------+---------+---------+ | EL0 | [3-0] | n | +------------------------------+---------+---------+ 3) ID_AA64PFR1_EL1 - Processor Feature Register 1 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | SME | [27-24] | y | +------------------------------+---------+---------+ | MTE | [11-8] | y | +------------------------------+---------+---------+ | SSBS | [7-4] | y | +------------------------------+---------+---------+ | BT | [3-0] | y | +------------------------------+---------+---------+ 4) MIDR_EL1 - Main ID Register +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | Implementer | [31-24] | y | +------------------------------+---------+---------+ | Variant | [23-20] | y | +------------------------------+---------+---------+ | Architecture | [19-16] | y | +------------------------------+---------+---------+ | PartNum | [15-4] | y | +------------------------------+---------+---------+ | Revision | [3-0] | y | +------------------------------+---------+---------+ NOTE: The 'visible' fields of MIDR_EL1 will contain the value as available on the CPU where it is fetched and is not a system wide safe value. 5) ID_AA64ISAR1_EL1 - Instruction set attribute register 1 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | I8MM | [55-52] | y | +------------------------------+---------+---------+ | DGH | [51-48] | y | +------------------------------+---------+---------+ | BF16 | [47-44] | y | +------------------------------+---------+---------+ | SB | [39-36] | y | +------------------------------+---------+---------+ | FRINTTS | [35-32] | y | +------------------------------+---------+---------+ | GPI | [31-28] | y | +------------------------------+---------+---------+ | GPA | [27-24] | y | +------------------------------+---------+---------+ | LRCPC | [23-20] | y | +------------------------------+---------+---------+ | FCMA | [19-16] | y | +------------------------------+---------+---------+ | JSCVT | [15-12] | y | +------------------------------+---------+---------+ | API | [11-8] | y | +------------------------------+---------+---------+ | APA | [7-4] | y | +------------------------------+---------+---------+ | DPB | [3-0] | y | +------------------------------+---------+---------+ 6) ID_AA64MMFR0_EL1 - Memory model feature register 0 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | ECV | [63-60] | y | +------------------------------+---------+---------+ 7) ID_AA64MMFR2_EL1 - Memory model feature register 2 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | AT | [35-32] | y | +------------------------------+---------+---------+ 8) ID_AA64ZFR0_EL1 - SVE feature ID register 0 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | F64MM | [59-56] | y | +------------------------------+---------+---------+ | F32MM | [55-52] | y | +------------------------------+---------+---------+ | I8MM | [47-44] | y | +------------------------------+---------+---------+ | SM4 | [43-40] | y | +------------------------------+---------+---------+ | SHA3 | [35-32] | y | +------------------------------+---------+---------+ | B16B16 | [27-24] | y | +------------------------------+---------+---------+ | BF16 | [23-20] | y | +------------------------------+---------+---------+ | BitPerm | [19-16] | y | +------------------------------+---------+---------+ | AES | [7-4] | y | +------------------------------+---------+---------+ | SVEVer | [3-0] | y | +------------------------------+---------+---------+ 8) ID_AA64MMFR1_EL1 - Memory model feature register 1 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | AFP | [47-44] | y | +------------------------------+---------+---------+ 9) ID_AA64ISAR2_EL1 - Instruction set attribute register 2 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | CSSC | [55-52] | y | +------------------------------+---------+---------+ | RPRFM | [51-48] | y | +------------------------------+---------+---------+ | BC | [23-20] | y | +------------------------------+---------+---------+ | MOPS | [19-16] | y | +------------------------------+---------+---------+ | APA3 | [15-12] | y | +------------------------------+---------+---------+ | GPA3 | [11-8] | y | +------------------------------+---------+---------+ | RPRES | [7-4] | y | +------------------------------+---------+---------+ | WFXT | [3-0] | y | +------------------------------+---------+---------+ 10) MVFR0_EL1 - AArch32 Media and VFP Feature Register 0 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | FPDP | [11-8] | y | +------------------------------+---------+---------+ 11) MVFR1_EL1 - AArch32 Media and VFP Feature Register 1 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | SIMDFMAC | [31-28] | y | +------------------------------+---------+---------+ | SIMDSP | [19-16] | y | +------------------------------+---------+---------+ | SIMDInt | [15-12] | y | +------------------------------+---------+---------+ | SIMDLS | [11-8] | y | +------------------------------+---------+---------+ 12) ID_ISAR5_EL1 - AArch32 Instruction Set Attribute Register 5 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | CRC32 | [19-16] | y | +------------------------------+---------+---------+ | SHA2 | [15-12] | y | +------------------------------+---------+---------+ | SHA1 | [11-8] | y | +------------------------------+---------+---------+ | AES | [7-4] | y | +------------------------------+---------+---------+ h](j)}(hhh](j)}(hX;ID_AA64ISAR0_EL1 - Instruction Set Attribute Register 0 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | RNDR | [63-60] | y | +------------------------------+---------+---------+ | TS | [55-52] | y | +------------------------------+---------+---------+ | FHM | [51-48] | y | +------------------------------+---------+---------+ | DP | [47-44] | y | +------------------------------+---------+---------+ | SM4 | [43-40] | y | +------------------------------+---------+---------+ | SM3 | [39-36] | y | +------------------------------+---------+---------+ | SHA3 | [35-32] | y | +------------------------------+---------+---------+ | RDM | [31-28] | y | +------------------------------+---------+---------+ | ATOMICS | [23-20] | y | +------------------------------+---------+---------+ | CRC32 | [19-16] | y | +------------------------------+---------+---------+ | SHA2 | [15-12] | y | +------------------------------+---------+---------+ | SHA1 | [11-8] | y | +------------------------------+---------+---------+ | AES | [7-4] | y | +------------------------------+---------+---------+ h](h)}(h7ID_AA64ISAR0_EL1 - Instruction Set Attribute Register 0h]h7ID_AA64ISAR0_EL1 - Instruction Set Attribute Register 0}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKthjEubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahj^ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj^ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj^ubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(hNameh]hName}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitsh]hbits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hvisibleh]hvisible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hRNDRh]hRNDR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[63-60]h]h[63-60]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hyh]hy}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hTSh]hTS}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK{hj)ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(h[55-52]h]h[55-52]}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK{hj@ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hjh]hy}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK{hjWubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hFHMh]hFHM}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hjvubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(h[51-48]h]h[51-48]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hjubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hjubah}(h]h ]h"]h$]h&]uh1jhjsubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hDPh]hDP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[47-44]h]h[47-44]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSM4h]hSM4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h[43-40]h]h[43-40]}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj'ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]hy}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj>ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSM3h]hSM3}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj]ubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(h[39-36]h]h[39-36]}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjtubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSHA3h]hSHA3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[35-32]h]h[35-32]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hRDMh]hRDM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[31-28]h]h[31-28]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj%ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hATOMICSh]hATOMICS}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(h[23-20]h]h[23-20]}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj[ubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hjh]hy}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjrubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hCRC32h]hCRC32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[19-16]h]h[19-16]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSHA2h]hSHA2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[15-12]h]h[15-12]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSHA1h]hSHA1}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(h[11-8]h]h[11-8]}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjBubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hjh]hy}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjYubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hAESh]hAES}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjxubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]h)}(h[7-4]h]h[7-4]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjuubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj^ubeh}(h]h ]h"]h$]h&]colsKuh1j\hjYubah}(h]h ]h"]h$]h&]uh1jWhjEubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hXID_AA64PFR0_EL1 - Processor Feature Register 0 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | DIT | [51-48] | y | +------------------------------+---------+---------+ | MPAM | [43-40] | n | +------------------------------+---------+---------+ | SVE | [35-32] | y | +------------------------------+---------+---------+ | GIC | [27-24] | n | +------------------------------+---------+---------+ | AdvSIMD | [23-20] | y | +------------------------------+---------+---------+ | FP | [19-16] | y | +------------------------------+---------+---------+ | EL3 | [15-12] | n | +------------------------------+---------+---------+ | EL2 | [11-8] | n | +------------------------------+---------+---------+ | EL1 | [7-4] | n | +------------------------------+---------+---------+ | EL0 | [3-0] | n | +------------------------------+---------+---------+ h](h)}(h.ID_AA64PFR0_EL1 - Processor Feature Register 0h]h.ID_AA64PFR0_EL1 - Processor Feature Register 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubjX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitsh]hbits}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hvisibleh]hvisible}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjEubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hDITh]hDIT}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjeubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(h[51-48]h]h[51-48]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|ubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hMPAMh]hMPAM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[43-40]h]h[43-40]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnh]hn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSVEh]hSVE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[35-32]h]h[35-32]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hj1 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj. ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hGICh]hGIC}(hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjM ubah}(h]h ]h"]h$]h&]uh1jhjJ ubj)}(hhh]h)}(h[27-24]h]h[27-24]}(hjg hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjd ubah}(h]h ]h"]h$]h&]uh1jhjJ ubj)}(hhh]h)}(hjh]hn}(hj~ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj{ ubah}(h]h ]h"]h$]h&]uh1jhjJ ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hAdvSIMDh]hAdvSIMD}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h[23-20]h]h[23-20]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]hy}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hFPh]hFP}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h[19-16]h]h[19-16]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]hy}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hEL3h]hEL3}(hj7 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4 ubah}(h]h ]h"]h$]h&]uh1jhj1 ubj)}(hhh]h)}(h[15-12]h]h[15-12]}(hjN hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjK ubah}(h]h ]h"]h$]h&]uh1jhj1 ubj)}(hhh]h)}(hjh]hn}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjb ubah}(h]h ]h"]h$]h&]uh1jhj1 ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hEL2h]hEL2}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj~ ubj)}(hhh]h)}(h[11-8]h]h[11-8]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj~ ubj)}(hhh]h)}(hjh]hn}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj~ ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hEL1h]hEL1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h[7-4]h]h[7-4]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]hn}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hEL0h]hEL0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h[3-0]h]h[3-0]}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2 ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]hn}(hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjI ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1j\hjubah}(h]h ]h"]h$]h&]uh1jWhjubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hXxID_AA64PFR1_EL1 - Processor Feature Register 1 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | SME | [27-24] | y | +------------------------------+---------+---------+ | MTE | [11-8] | y | +------------------------------+---------+---------+ | SSBS | [7-4] | y | +------------------------------+---------+---------+ | BT | [3-0] | y | +------------------------------+---------+---------+ h](h)}(h.ID_AA64PFR1_EL1 - Processor Feature Register 1h]h.ID_AA64PFR1_EL1 - Processor Feature Register 1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj~ ubjX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahj ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hbitsh]hbits}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hvisibleh]hvisible}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hSMEh]hSME}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h[27-24]h]h[27-24]}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]hy}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hMTEh]hMTE}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjU ubah}(h]h ]h"]h$]h&]uh1jhjR ubj)}(hhh]h)}(h[11-8]h]h[11-8]}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjl ubah}(h]h ]h"]h$]h&]uh1jhjR ubj)}(hhh]h)}(hjh]hy}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjR ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hSSBSh]hSSBS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h[7-4]h]h[7-4]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]hy}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hBTh]hBT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h[3-0]h]h[3-0]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]hy}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1j\hj ubah}(h]h ]h"]h$]h&]uh1jWhj~ ubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hXMIDR_EL1 - Main ID Register +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | Implementer | [31-24] | y | +------------------------------+---------+---------+ | Variant | [23-20] | y | +------------------------------+---------+---------+ | Architecture | [19-16] | y | +------------------------------+---------+---------+ | PartNum | [15-4] | y | +------------------------------+---------+---------+ | Revision | [3-0] | y | +------------------------------+---------+---------+ h](h)}(hMIDR_EL1 - Main ID Registerh]hMIDR_EL1 - Main ID Register}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjR ubjX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahjg ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjg ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjg ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hbitsh]hbits}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hvisibleh]hvisible}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h Implementerh]h Implementer}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h[31-24]h]h[31-24]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]hy}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hVarianth]hVariant}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(h[23-20]h]h[23-20]}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hjh]hy}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h Architectureh]h Architecture}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjvubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(h[19-16]h]h[19-16]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjsubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hPartNumh]hPartNum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[15-4]h]h[15-4]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hRevisionh]hRevision}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h[3-0]h]h[3-0]}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj'ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]hy}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj>ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjg ubeh}(h]h ]h"]h$]h&]colsKuh1j\hjd ubah}(h]h ]h"]h$]h&]uh1jWhjR ubeh}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]jearabicjghjhjiuh1jhj>ubj )}(hNOTE: The 'visible' fields of MIDR_EL1 will contain the value as available on the CPU where it is fetched and is not a system wide safe value. h]h)}(hNOTE: The 'visible' fields of MIDR_EL1 will contain the value as available on the CPU where it is fetched and is not a system wide safe value.h]hNOTE: The ‘visible’ fields of MIDR_EL1 will contain the value as available on the CPU where it is fetched and is not a system wide safe value.}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjzubah}(h]h ]h"]h$]h&]uh1j hhhKhj>ubj)}(hhh](j)}(hX:ID_AA64ISAR1_EL1 - Instruction set attribute register 1 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | I8MM | [55-52] | y | +------------------------------+---------+---------+ | DGH | [51-48] | y | +------------------------------+---------+---------+ | BF16 | [47-44] | y | +------------------------------+---------+---------+ | SB | [39-36] | y | +------------------------------+---------+---------+ | FRINTTS | [35-32] | y | +------------------------------+---------+---------+ | GPI | [31-28] | y | +------------------------------+---------+---------+ | GPA | [27-24] | y | +------------------------------+---------+---------+ | LRCPC | [23-20] | y | +------------------------------+---------+---------+ | FCMA | [19-16] | y | +------------------------------+---------+---------+ | JSCVT | [15-12] | y | +------------------------------+---------+---------+ | API | [11-8] | y | +------------------------------+---------+---------+ | APA | [7-4] | y | +------------------------------+---------+---------+ | DPB | [3-0] | y | +------------------------------+---------+---------+ h](h)}(h7ID_AA64ISAR1_EL1 - Instruction set attribute register 1h]h7ID_AA64ISAR1_EL1 - Instruction set attribute register 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubjX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitsh]hbits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hvisibleh]hvisible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hI8MMh]hI8MM}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[55-52]h]h[55-52]}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjMubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hDGHh]hDGH}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjlubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(h[51-48]h]h[51-48]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hBF16h]hBF16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[47-44]h]h[47-44]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSBh]hSB}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[39-36]h]h[39-36]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hFRINTTSh]hFRINTTS}(hjVhohhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjSubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(h[35-32]h]h[35-32]}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjjubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hGPIh]hGPI}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[31-28]h]h[31-28]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hGPAh]hGPA}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[27-24]h]h[27-24]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hLRCPCh]hLRCPC}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj:ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(h[23-20]h]h[23-20]}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjQubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hjh]hy}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hFCMAh]hFCMA}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[19-16]h]h[19-16]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hJSCVTh]hJSCVT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[15-12]h]h[15-12]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hAPIh]hAPI}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj!ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[11-8]h]h[11-8]}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj8ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjOubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hAPAh]hAPA}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjnubah}(h]h ]h"]h$]h&]uh1jhjkubj)}(hhh]h)}(h[7-4]h]h[7-4]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjkubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjkubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hDPBh]hDPB}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[3-0]h]h[3-0]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1j\hjubah}(h]h ]h"]h$]h&]uh1jWhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hX=ID_AA64MMFR0_EL1 - Memory model feature register 0 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | ECV | [63-60] | y | +------------------------------+---------+---------+ h](h)}(h2ID_AA64MMFR0_EL1 - Memory model feature register 0h]h2ID_AA64MMFR0_EL1 - Memory model feature register 0}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubjX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahj3ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj3ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj3ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjZubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hbitsh]hbits}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjqubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hvisibleh]hvisible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh](j)}(hhh]h)}(hECVh]hECV}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[63-60]h]h[63-60]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]colsKuh1j\hj0ubah}(h]h ]h"]h$]h&]uh1jWhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hX=ID_AA64MMFR2_EL1 - Memory model feature register 2 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | AT | [35-32] | y | +------------------------------+---------+---------+ h](h)}(h2ID_AA64MMFR2_EL1 - Memory model feature register 2h]h2ID_AA64MMFR2_EL1 - Memory model feature register 2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubjX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahj ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjGubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(hbitsh]hbits}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj^ubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(hvisibleh]hvisible}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjuubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh](j)}(hhh]h)}(hATh]hAT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[35-32]h]h[35-32]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1j\hjubah}(h]h ]h"]h$]h&]uh1jWhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hXID_AA64ZFR0_EL1 - SVE feature ID register 0 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | F64MM | [59-56] | y | +------------------------------+---------+---------+ | F32MM | [55-52] | y | +------------------------------+---------+---------+ | I8MM | [47-44] | y | +------------------------------+---------+---------+ | SM4 | [43-40] | y | +------------------------------+---------+---------+ | SHA3 | [35-32] | y | +------------------------------+---------+---------+ | B16B16 | [27-24] | y | +------------------------------+---------+---------+ | BF16 | [23-20] | y | +------------------------------+---------+---------+ | BitPerm | [19-16] | y | +------------------------------+---------+---------+ | AES | [7-4] | y | +------------------------------+---------+---------+ | SVEVer | [3-0] | y | +------------------------------+---------+---------+ h](h)}(h+ID_AA64ZFR0_EL1 - SVE feature ID register 0h]h+ID_AA64ZFR0_EL1 - SVE feature ID register 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubjX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahj ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hbitsh]hbits}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hvisibleh]hvisible}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hF64MMh]hF64MM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[59-56]h]h[59-56]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hF32MMh]hF32MM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[55-52]h]h[55-52]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hI8MMh]hI8MM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[47-44]h]h[47-44]}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj3ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjJubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hSM4h]hSM4}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(h[43-40]h]h[43-40]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hSHA3h]hSHA3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[35-32]h]h[35-32]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hB16B16h]hB16B16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[27-24]h]h[27-24]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hBF16h]hBF16}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(h[23-20]h]h[23-20]}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~ubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hBitPermh]hBitPerm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[19-16]h]h[19-16]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hAESh]hAES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[7-4]h]h[7-4]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hSVEVerh]hSVEVer}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h[3-0]h]h[3-0]}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hjh]hy}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1j\hj ubah}(h]h ]h"]h$]h&]uh1jWhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]jejyjghjhjistartKuh1jhj>ubj)}(hhh](j)}(hX=ID_AA64MMFR1_EL1 - Memory model feature register 1 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | AFP | [47-44] | y | +------------------------------+---------+---------+ h](h)}(h2ID_AA64MMFR1_EL1 - Memory model feature register 1h]h2ID_AA64MMFR1_EL1 - Memory model feature register 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubjX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitsh]hbits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hvisibleh]hvisible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hAFPh]hAFP}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hj.ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(h[47-44]h]h[47-44]}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjEubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hjh]hy}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hj\ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1j\hjubah}(h]h ]h"]h$]h&]uh1jWhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hX(ID_AA64ISAR2_EL1 - Instruction set attribute register 2 +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | CSSC | [55-52] | y | +------------------------------+---------+---------+ | RPRFM | [51-48] | y | +------------------------------+---------+---------+ | BC | [23-20] | y | +------------------------------+---------+---------+ | MOPS | [19-16] | y | +------------------------------+---------+---------+ | APA3 | [15-12] | y | +------------------------------+---------+---------+ | GPA3 | [11-8] | y | +------------------------------+---------+---------+ | RPRES | [7-4] | y | +------------------------------+---------+---------+ | WFXT | [3-0] | y | +------------------------------+---------+---------+ h](h)}(h7ID_AA64ISAR2_EL1 - Instruction set attribute register 2h]h7ID_AA64ISAR2_EL1 - Instruction set attribute register 2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjubjX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitsh]hbits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hvisibleh]hvisible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hCSSCh]hCSSC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[55-52]h]h[55-52]}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hj2ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjIubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hRPRFMh]hRPRFM}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjhubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(h[51-48]h]h[51-48]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hBCh]hBC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[23-20]h]h[23-20]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hMOPSh]hMOPS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[19-16]h]h[19-16]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hj0ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hAPA3h]hAPA3}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjOubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h[15-12]h]h[15-12]}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjfubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hj}ubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hGPA3h]hGPA3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[11-8]h]h[11-8]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hRPRESh]hRPRES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[7-4]h]h[7-4]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hWFXTh]hWFXT}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hj6ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(h[3-0]h]h[3-0]}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjMubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hjh]hy}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjdubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1j\hjubah}(h]h ]h"]h$]h&]uh1jWhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(h5MVFR0_EL1 - AArch32 Media and VFP Feature Register 0 h]h)}(h4MVFR0_EL1 - AArch32 Media and VFP Feature Register 0h]h4MVFR0_EL1 - AArch32 Media and VFP Feature Register 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM;hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]jejyjghjhjijKuh1jhj>ubj )}(hX +------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | FPDP | [11-8] | y | +------------------------------+---------+---------+ h]jX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitsh]hbits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hvisibleh]hvisible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hFPDPh]hFPDP}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hj3ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(h[11-8]h]h[11-8]}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hjJubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hjh]hy}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hjaubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1j\hjubah}(h]h ]h"]h$]h&]uh1jWhjubah}(h]h ]h"]h$]h&]uh1j hhhM=hj>ubj)}(hhh]j)}(h5MVFR1_EL1 - AArch32 Media and VFP Feature Register 1 h]h)}(h4MVFR1_EL1 - AArch32 Media and VFP Feature Register 1h]h4MVFR1_EL1 - AArch32 Media and VFP Feature Register 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]jejyjghjhjijK uh1jhj>ubj )}(hXG+------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | SIMDFMAC | [31-28] | y | +------------------------------+---------+---------+ | SIMDSP | [19-16] | y | +------------------------------+---------+---------+ | SIMDInt | [15-12] | y | +------------------------------+---------+---------+ | SIMDLS | [11-8] | y | +------------------------------+---------+---------+ h]jX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitsh]hbits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hvisibleh]hvisible}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSIMDFMACh]hSIMDFMAC}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhj3ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(h[31-28]h]h[31-28]}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhjJubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hjh]hy}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhjaubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSIMDSPh]hSIMDSP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjubah}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh]h)}(h[19-16]h]h[19-16]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjubah}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjubah}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSIMDInth]hSIMDInt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h[15-12]h]h[15-12]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hjh]hy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSIMDLSh]hSIMDLS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h[11-8]h]h[11-8]}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhj1 ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hjh]hy}(hjK hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhjH ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1j\hjubah}(h]h ]h"]h$]h&]uh1jWhjubah}(h]h ]h"]h$]h&]uh1j hhhMEhj>ubj)}(hhh]j)}(hubj )}(hXH+------------------------------+---------+---------+ | Name | bits | visible | +------------------------------+---------+---------+ | CRC32 | [19-16] | y | +------------------------------+---------+---------+ | SHA2 | [15-12] | y | +------------------------------+---------+---------+ | SHA1 | [11-8] | y | +------------------------------+---------+---------+ | AES | [7-4] | y | +------------------------------+---------+---------+ h]jX)}(hhh]j])}(hhh](jb)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jahj ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj ubjb)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jahj ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hNameh]hName}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hbitsh]hbits}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hvisibleh]hvisible}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hCRC32h]hCRC32}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(h[19-16]h]h[19-16]}(hj4!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj1!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hjh]hy}(hjK!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhjH!ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hSHA2h]hSHA2}(hjj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhjg!ubah}(h]h ]h"]h$]h&]uh1jhjd!ubj)}(hhh]h)}(h[15-12]h]h[15-12]}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhj~!ubah}(h]h ]h"]h$]h&]uh1jhjd!ubj)}(hhh]h)}(hjh]hy}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhj!ubah}(h]h ]h"]h$]h&]uh1jhjd!ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hSHA1h]hSHA1}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(h[11-8]h]h[11-8]}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hjh]hy}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hAESh]hAES}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj"ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(h[7-4]h]h[7-4]}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj"ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hjh]hy}(hj2"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj/"ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1j\hj ubah}(h]h ]h"]h$]h&]uh1jWhj ubah}(h]h ]h"]h$]h&]uh1j hhhMShj>ubeh}(h]h ]h"]h$]h&]uh1j hhhKthj-hhubeh}(h]'list-of-registers-with-visible-featuresah ]h"]*4. list of registers with visible featuresah$]h&]uh1hhhhhhhhKrubh)}(hhh](h)}(hAppendix I: Exampleh]hAppendix I: Example}(hju"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjr"hhhhhMaubj1)}(hX/* * Sample program to demonstrate the MRS emulation ABI. * * Copyright (C) 2015-2016, ARM Ltd * * Author: Suzuki K Poulose * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include #include #include #define get_cpu_ftr(id) ({ \ unsigned long __val; \ asm("mrs %0, "#id : "=r" (__val)); \ printf("%-20s: 0x%016lx\n", #id, __val); \ }) int main(void) { if (!(getauxval(AT_HWCAP) & HWCAP_CPUID)) { fputs("CPUID registers unavailable\n", stderr); return 1; } get_cpu_ftr(ID_AA64ISAR0_EL1); get_cpu_ftr(ID_AA64ISAR1_EL1); get_cpu_ftr(ID_AA64MMFR0_EL1); get_cpu_ftr(ID_AA64MMFR1_EL1); get_cpu_ftr(ID_AA64PFR0_EL1); get_cpu_ftr(ID_AA64PFR1_EL1); get_cpu_ftr(ID_AA64DFR0_EL1); get_cpu_ftr(ID_AA64DFR1_EL1); get_cpu_ftr(MIDR_EL1); get_cpu_ftr(MPIDR_EL1); get_cpu_ftr(REVIDR_EL1); #if 0 /* Unexposed register access causes SIGILL */ get_cpu_ftr(ID_MMFR0_EL1); #endif return 0; }h]hX/* * Sample program to demonstrate the MRS emulation ABI. * * Copyright (C) 2015-2016, ARM Ltd * * Author: Suzuki K Poulose * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include #include #include #define get_cpu_ftr(id) ({ \ unsigned long __val; \ asm("mrs %0, "#id : "=r" (__val)); \ printf("%-20s: 0x%016lx\n", #id, __val); \ }) int main(void) { if (!(getauxval(AT_HWCAP) & HWCAP_CPUID)) { fputs("CPUID registers unavailable\n", stderr); return 1; } get_cpu_ftr(ID_AA64ISAR0_EL1); get_cpu_ftr(ID_AA64ISAR1_EL1); get_cpu_ftr(ID_AA64MMFR0_EL1); get_cpu_ftr(ID_AA64MMFR1_EL1); get_cpu_ftr(ID_AA64PFR0_EL1); get_cpu_ftr(ID_AA64PFR1_EL1); get_cpu_ftr(ID_AA64DFR0_EL1); get_cpu_ftr(ID_AA64DFR1_EL1); get_cpu_ftr(MIDR_EL1); get_cpu_ftr(MPIDR_EL1); get_cpu_ftr(REVIDR_EL1); #if 0 /* Unexposed register access causes SIGILL */ get_cpu_ftr(ID_MMFR0_EL1); #endif return 0; }}hj"sbah}(h]h ]h"]h$]h&]j@jAuh1j0hhhMehjr"hhubeh}(h]appendix-i-exampleah ]h"]appendix i: exampleah$]h&]uh1hhhhhhhhMaubeh}(h]arm64-cpu-feature-registersah ]h"]arm64 cpu feature registersah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj"error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j"j"jujrjYjVj*j'jo"jl"j"j"u nametypes}(j"jujYj*jo"j"uh}(j"hjrhjVjxj'j\jl"j-j"jr"u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages](hsystem_message)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "5" (ordinal 5)h]h>Enumerated list start value not ordinal-1: “5” (ordinal 5)}(hj*#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'#ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1j%#hj>ubj&#)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "8" (ordinal 8)h]h>Enumerated list start value not ordinal-1: “8” (ordinal 8)}(hjF#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjC#ubah}(h]h ]h"]h$]h&]levelKtypej@#sourcehlineKuh1j%#hj>ubj&#)}(hhh]h)}(hubj&#)}(hhh]h)}(hubetransform_messages] transformerN include_log] decorationNhhub.