On Wed, 28 Oct 2026 11:10:32 GMT, Andrew Haley <[email protected]> wrote:
>> Ashay Rane has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Documentation updates >> >> - Include section numbers from ARM ISA document >> - Mark branch protection on Windows/ARM64 as supported > > src/hotspot/os_cpu/windows_aarch64/vm_version_windows_aarch64.cpp line 108: > >> 106: // - ISAR1's API field (bits 8 through 11): custom algorithm support >> 107: // - ISAR2's APA3 field (bits 12 through 15): QARM3 algorithm support >> 108: // See feature descriptions of the ARM v8 architecture for details. > > Please reference chapter and verse. Thanks! I updated the comment to now say: // The Arm Architecture Reference Manual for A-profile architecture (DDI0487) // specifies the bits that reflect whether pointer authentication is enabled. // See Part D (System Level Architecture), Section D8.10.3 (PAC instructions): // - ID_AA64ISAR1_EL1.APA is nonzero => FEAT_PACQARMA5 is implemented // - ID_AA64ISAR1_EL1.API is nonzero => FEAT_PACIMP is implemented // - ID_AA64ISAR2_EL1.APA3 is nonzero => FEAT_PACQARMA3 is implemented The weblink for this section is [here](https://support.arm.com/documentation/ddi0487/md/-Part-D-The-AArch64-System-Level-Architecture/-Chapter-D8-The-AArch64-Virtual-Memory-System-Architecture/-D8-10-Pointer-authentication/-D8-10-3-PAC-instructions), which says: > For pointer authentication instructions other than the > [PACGA](https://support.arm.com/documentation/ddi0487/md/-Part-C-The-AArch64-Instruction-Set/-Chapter-C6-A64-Base-Instruction-Descriptions/-C6-2-Alphabetical-list-of-A64-base-instructions/-C6-2-305-PACGA?lang=en#isa_pacga) > instruction, the PAC is generated using one of the following IMPLEMENTATION > DEFINED methods: > > - If > [FEAT_PACQARMA5](https://support.arm.com/documentation/ddi0487/md/-Part-A-Arm-Architecture-Introduction-and-Overview/-Chapter-A2-A-profile-Architecture-Extensions/-A2-2-Armv8-A-architecture-extensions/-A2-2-4-The-Armv8-3-architecture-extension?lang=en#feat_feat_pacqarma5) > is implemented, then > [ID_AA64ISAR1_EL1](https://support.arm.com/documentation/ddi0487/md/-Part-D-The-AArch64-System-Level-Architecture/-Chapter-D24-AArch64-System-Register-Descriptions/-D24-2-General-system-control-registers/-D24-2-84-ID-AA64ISAR1-EL1--AArch64-Instruction-Set-Attribute-Register-1?lang=en#reg_aarch64_id_aa64isar1_el1).APA > is nonzero and the QARMA5 block cipher algorithm is used. > - If > [FEAT_PACIMP](https://support.arm.com/documentation/ddi0487/md/-Part-A-Arm-Architecture-Introduction-and-Overview/-Chapter-A2-A-profile-Architecture-Extensions/-A2-2-Armv8-A-architecture-extensions/-A2-2-4-The-Armv8-3-architecture-extension?lang=en#feat_feat_pacimp) > is implemented, then > [ID_AA64ISAR1_EL1](https://support.arm.com/documentation/ddi0487/md/-Part-D-The-AArch64-System-Level-Architecture/-Chapter-D24-AArch64-System-Register-Descriptions/-D24-2-General-system-control-registers/-D24-2-84-ID-AA64ISAR1-EL1--AArch64-Instruction-Set-Attribute-Register-1?lang=en#reg_aarch64_id_aa64isar1_el1).API > is nonzero and an IMPLEMENTATION DEFINED algorithm is used. > - If > [FEAT_PACQARMA3](https://support.arm.com/documentation/ddi0487/md/-Part-A-Arm-Architecture-Introduction-and-Overview/-Chapter-A2-A-profile-Architecture-Extensions/-A2-2-Armv8-A-architecture-extensions/-A2-2-4-The-Armv8-3-architecture-extension?lang=en#feat_feat_pacqarma3) > is implemented, then > [ID_AA64ISAR2_EL1](https://support.arm.com/documentation/ddi0487/md/-Part-D-The-AArch64-System-Level-Architecture/-Chapter-D24-AArch64-System-Register-Descriptions/-D24-2-General-system-control-registers/-D24-2-85-ID-AA64ISAR2-EL1--AArch64-Instruction-Set-Attribute-Register-2?lang=en#reg_aarch64_id_aa64isar2_el1).APA3 > is nonzero and the QARMA3 block cipher algorithm is used. I also tacked on another change to building.[md,html] that says that both Linux/AArch64 and Windows/ARM64 support branch protection. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/33595#discussion_r4405230180
