The branch stable/13 has been updated by andrew:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=722273ba668a0c20053c11df89e31b42db7955b1

commit 722273ba668a0c20053c11df89e31b42db7955b1
Author:     Andrew Turner <[email protected]>
AuthorDate: 2022-03-08 12:46:47 +0000
Commit:     Andrew Turner <[email protected]>
CommitDate: 2022-04-04 09:37:05 +0000

    Add more arm64 PAC identification fields
    
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit e3f7087489c55decf54161b25a5db20c2c93ff42)
---
 sys/arm64/arm64/identcpu.c | 8 ++++++++
 sys/arm64/include/armreg.h | 6 ++++++
 2 files changed, 14 insertions(+)

diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c
index e360a61a2010..8cbe483dc1c6 100644
--- a/sys/arm64/arm64/identcpu.c
+++ b/sys/arm64/arm64/identcpu.c
@@ -698,6 +698,10 @@ static struct mrs_field_value id_aa64isar1_api[] = {
        MRS_FIELD_VALUE(ID_AA64ISAR1_API_NONE, ""),
        MRS_FIELD_VALUE(ID_AA64ISAR1_API_PAC, "API PAC"),
        MRS_FIELD_VALUE(ID_AA64ISAR1_API_EPAC, "API EPAC"),
+       MRS_FIELD_VALUE(ID_AA64ISAR1_API_EPAC2, "Impl PAuth+EPAC2"),
+       MRS_FIELD_VALUE(ID_AA64ISAR1_API_FPAC, "Impl PAuth+FPAC"),
+       MRS_FIELD_VALUE(ID_AA64ISAR1_API_FPAC_COMBINED,
+           "Impl PAuth+FPAC+Combined"),
        MRS_FIELD_VALUE_END,
 };
 
@@ -705,6 +709,10 @@ static struct mrs_field_value id_aa64isar1_apa[] = {
        MRS_FIELD_VALUE(ID_AA64ISAR1_APA_NONE, ""),
        MRS_FIELD_VALUE(ID_AA64ISAR1_APA_PAC, "APA PAC"),
        MRS_FIELD_VALUE(ID_AA64ISAR1_APA_EPAC, "APA EPAC"),
+       MRS_FIELD_VALUE(ID_AA64ISAR1_APA_EPAC2, "PAuth+EPAC2"),
+       MRS_FIELD_VALUE(ID_AA64ISAR1_APA_FPAC, "PAuth+FPAC"),
+       MRS_FIELD_VALUE(ID_AA64ISAR1_APA_FPAC_COMBINED,
+           "PAuth+FPAC+Combined"),
        MRS_FIELD_VALUE_END,
 };
 
diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h
index 1404ca8cd727..bd024a0f4d0d 100644
--- a/sys/arm64/include/armreg.h
+++ b/sys/arm64/include/armreg.h
@@ -460,12 +460,18 @@
 #define         ID_AA64ISAR1_APA_NONE          (UL(0x0) << 
ID_AA64ISAR1_APA_SHIFT)
 #define         ID_AA64ISAR1_APA_PAC           (UL(0x1) << 
ID_AA64ISAR1_APA_SHIFT)
 #define         ID_AA64ISAR1_APA_EPAC          (UL(0x2) << 
ID_AA64ISAR1_APA_SHIFT)
+#define         ID_AA64ISAR1_APA_EPAC2         (UL(0x3) << 
ID_AA64ISAR1_APA_SHIFT)
+#define         ID_AA64ISAR1_APA_FPAC          (UL(0x4) << 
ID_AA64ISAR1_APA_SHIFT)
+#define         ID_AA64ISAR1_APA_FPAC_COMBINED (UL(0x5) << 
ID_AA64ISAR1_APA_SHIFT)
 #define        ID_AA64ISAR1_API_SHIFT          8
 #define        ID_AA64ISAR1_API_MASK           (UL(0xf) << 
ID_AA64ISAR1_API_SHIFT)
 #define        ID_AA64ISAR1_API_VAL(x)         ((x) & ID_AA64ISAR1_API_MASK)
 #define         ID_AA64ISAR1_API_NONE          (UL(0x0) << 
ID_AA64ISAR1_API_SHIFT)
 #define         ID_AA64ISAR1_API_PAC           (UL(0x1) << 
ID_AA64ISAR1_API_SHIFT)
 #define         ID_AA64ISAR1_API_EPAC          (UL(0x2) << 
ID_AA64ISAR1_API_SHIFT)
+#define         ID_AA64ISAR1_API_EPAC2         (UL(0x3) << 
ID_AA64ISAR1_API_SHIFT)
+#define         ID_AA64ISAR1_API_FPAC          (UL(0x4) << 
ID_AA64ISAR1_API_SHIFT)
+#define         ID_AA64ISAR1_API_FPAC_COMBINED (UL(0x5) << 
ID_AA64ISAR1_API_SHIFT)
 #define        ID_AA64ISAR1_JSCVT_SHIFT        12
 #define        ID_AA64ISAR1_JSCVT_MASK         (UL(0xf) << 
ID_AA64ISAR1_JSCVT_SHIFT)
 #define        ID_AA64ISAR1_JSCVT_VAL(x)       ((x) & ID_AA64ISAR1_JSCVT_MASK)

Reply via email to