git: f12952eaeeba - main - arm64: Comment out some ID registers
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 03 Aug 2023 18:14:35 UTC
The branch main has been updated by andrew:
URL: https://cgit.FreeBSD.org/src/commit/?id=f12952eaeeba706725d888a46ff24baa2ac420d7
commit f12952eaeeba706725d888a46ff24baa2ac420d7
Author: Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2023-08-03 18:02:25 +0000
Commit: Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2023-08-03 18:13:17 +0000
arm64: Comment out some ID registers
Older toolchains don't support reading these registers. Until a fix is
added comment them out.
Reported by: jhb
Sponsored by: Arm Ltd
---
sys/arm64/arm64/identcpu.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c
index 2347d27c69e1..4beb34b04381 100644
--- a/sys/arm64/arm64/identcpu.c
+++ b/sys/arm64/arm64/identcpu.c
@@ -139,11 +139,15 @@ struct cpu_desc {
uint64_t id_aa64mmfr0;
uint64_t id_aa64mmfr1;
uint64_t id_aa64mmfr2;
+#ifdef NOTYET
uint64_t id_aa64mmfr3;
uint64_t id_aa64mmfr4;
+#endif
uint64_t id_aa64pfr0;
uint64_t id_aa64pfr1;
+#ifdef NOTYET
uint64_t id_aa64pfr2;
+#endif
uint64_t id_aa64zfr0;
uint64_t ctr;
#ifdef COMPAT_FREEBSD32
@@ -1268,6 +1272,7 @@ static const struct mrs_field id_aa64mmfr2_fields[] = {
};
+#ifdef NOTYET
/* ID_AA64MMFR2_EL1 */
static const struct mrs_field_value id_aa64mmfr3_spec_fpacc[] = {
MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR3, Spec_FPACC, NONE, IMPL),
@@ -1303,6 +1308,7 @@ static const struct mrs_field id_aa64mmfr3_fields[] = {
static const struct mrs_field id_aa64mmfr4_fields[] = {
MRS_FIELD_END,
};
+#endif
/* ID_AA64PFR0_EL1 */
@@ -1543,10 +1549,12 @@ static const struct mrs_field id_aa64pfr1_fields[] = {
};
+#ifdef NOTYET
/* ID_AA64PFR2_EL1 */
static const struct mrs_field id_aa64pfr2_fields[] = {
MRS_FIELD_END,
};
+#endif
/* ID_AA64ZFR0_EL1 */
@@ -1846,12 +1854,16 @@ static const struct mrs_user_reg user_regs[] = {
USER_REG(ID_AA64MMFR0_EL1, id_aa64mmfr0),
USER_REG(ID_AA64MMFR1_EL1, id_aa64mmfr1),
USER_REG(ID_AA64MMFR2_EL1, id_aa64mmfr2),
+#ifdef NOTYET
USER_REG(ID_AA64MMFR3_EL1, id_aa64mmfr3),
USER_REG(ID_AA64MMFR4_EL1, id_aa64mmfr4),
+#endif
USER_REG(ID_AA64PFR0_EL1, id_aa64pfr0),
USER_REG(ID_AA64PFR1_EL1, id_aa64pfr1),
+#ifdef NOTYET
USER_REG(ID_AA64PFR2_EL1, id_aa64pfr2),
+#endif
USER_REG(ID_AA64ZFR0_EL1, id_aa64zfr0),
@@ -2560,10 +2572,12 @@ print_cpu_features(u_int cpu, struct cpu_desc *desc,
print_id_register(sb, "Processor Features 1",
desc->id_aa64pfr1, id_aa64pfr1_fields);
+#ifdef NOTYET
/* AArch64 Processor Feature Register 2 */
if (SHOULD_PRINT_REG(id_aa64pfr2))
print_id_register(sb, "Processor Features 2",
desc->id_aa64pfr2, id_aa64pfr2_fields);
+#endif
/* AArch64 Memory Model Feature Register 0 */
if (SHOULD_PRINT_REG(id_aa64mmfr0))
@@ -2580,6 +2594,7 @@ print_cpu_features(u_int cpu, struct cpu_desc *desc,
print_id_register(sb, "Memory Model Features 2",
desc->id_aa64mmfr2, id_aa64mmfr2_fields);
+#ifdef NOTYET
/* AArch64 Memory Model Feature Register 3 */
if (SHOULD_PRINT_REG(id_aa64mmfr3))
print_id_register(sb, "Memory Model Features 3",
@@ -2589,6 +2604,7 @@ print_cpu_features(u_int cpu, struct cpu_desc *desc,
if (SHOULD_PRINT_REG(id_aa64mmfr4))
print_id_register(sb, "Memory Model Features 4",
desc->id_aa64mmfr4, id_aa64mmfr4_fields);
+#endif
/* AArch64 Debug Feature Register 0 */
if (SHOULD_PRINT_REG(id_aa64dfr0))
@@ -2704,11 +2720,15 @@ identify_cpu(u_int cpu)
desc->id_aa64mmfr0 = READ_SPECIALREG(id_aa64mmfr0_el1);
desc->id_aa64mmfr1 = READ_SPECIALREG(id_aa64mmfr1_el1);
desc->id_aa64mmfr2 = READ_SPECIALREG(id_aa64mmfr2_el1);
+#ifdef NOTYET
desc->id_aa64mmfr3 = READ_SPECIALREG(id_aa64mmfr3_el1);
desc->id_aa64mmfr4 = READ_SPECIALREG(id_aa64mmfr4_el1);
+#endif
desc->id_aa64pfr0 = READ_SPECIALREG(id_aa64pfr0_el1);
desc->id_aa64pfr1 = READ_SPECIALREG(id_aa64pfr1_el1);
+#ifdef NOTYET
desc->id_aa64pfr2 = READ_SPECIALREG(id_aa64pfr2_el1);
+#endif
/*
* ID_AA64ZFR0_EL1 is only valid when at least one of: