diff options
author | Andrew Turner <andrew@FreeBSD.org> | 2023-06-09 08:36:12 +0000 |
---|---|---|
committer | Andrew Turner <andrew@FreeBSD.org> | 2023-09-25 08:41:32 +0000 |
commit | da9d00c5bac94f4e3ed19e08f0df4fb63d1acb98 (patch) | |
tree | 85957d2cdf02ae7f3389497ec88269817bd5b733 | |
parent | 66d713f68698f4a2721c8885fb38b897ca208cf4 (diff) | |
download | src-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.c | 8 |
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), |