aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2023-06-09 08:36:12 +0000
committerAndrew Turner <andrew@FreeBSD.org>2023-09-25 08:41:32 +0000
commitda9d00c5bac94f4e3ed19e08f0df4fb63d1acb98 (patch)
tree85957d2cdf02ae7f3389497ec88269817bd5b733
parent66d713f68698f4a2721c8885fb38b897ca208cf4 (diff)
downloadsrc-da9d00c5bac94f4e3ed19e08f0df4fb63d1acb98.tar.gz
src-da9d00c5bac94f4e3ed19e08f0df4fb63d1acb98.zip
Add more arm64 ID registers to the user_regs array
This is a mapping from ID register value to offset in struct cpu_desc. These registers may be needed with future architecture revisions either by userspace or by bhyve. Sponsored by: Arm Ltd (cherry picked from commit 1dd169af7143db4df613f273e565919c1c2b53f5)
-rw-r--r--sys/arm64/arm64/identcpu.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c
index 136e1d09db9d..4ac1e0ff3ae9 100644
--- a/sys/arm64/arm64/identcpu.c
+++ b/sys/arm64/arm64/identcpu.c
@@ -1565,10 +1565,15 @@ struct mrs_user_reg {
.fields = field_name##_fields, \
}
static struct mrs_user_reg user_regs[] = {
+ USER_REG(ID_AA64AFR0_EL1, id_aa64afr0),
+ USER_REG(ID_AA64AFR1_EL1, id_aa64afr1),
+
USER_REG(ID_AA64DFR0_EL1, id_aa64dfr0),
+ USER_REG(ID_AA64DFR1_EL1, id_aa64dfr1),
USER_REG(ID_AA64ISAR0_EL1, id_aa64isar0),
USER_REG(ID_AA64ISAR1_EL1, id_aa64isar1),
+ USER_REG(ID_AA64ISAR2_EL1, id_aa64isar2),
USER_REG(ID_AA64MMFR0_EL1, id_aa64mmfr0),
USER_REG(ID_AA64MMFR1_EL1, id_aa64mmfr1),
@@ -1576,6 +1581,9 @@ static struct mrs_user_reg user_regs[] = {
USER_REG(ID_AA64PFR0_EL1, id_aa64pfr0),
USER_REG(ID_AA64PFR1_EL1, id_aa64pfr1),
+
+ USER_REG(ID_AA64ZFR0_EL1, id_aa64zfr0),
+
#ifdef COMPAT_FREEBSD32
USER_REG(ID_ISAR5_EL1, id_isar5),