|
@@ -1039,6 +1039,7 @@ static const struct arm64_cpu_capabilities arm64_features[] = {
|
|
|
.sign = FTR_UNSIGNED,
|
|
|
.field_pos = ID_AA64PFR0_RAS_SHIFT,
|
|
|
.min_field_value = ID_AA64PFR0_RAS_V1,
|
|
|
+ .enable = cpu_clear_disr,
|
|
|
},
|
|
|
#endif /* CONFIG_ARM64_RAS_EXTN */
|
|
|
{},
|
|
@@ -1470,3 +1471,11 @@ static int __init enable_mrs_emulation(void)
|
|
|
}
|
|
|
|
|
|
core_initcall(enable_mrs_emulation);
|
|
|
+
|
|
|
+int cpu_clear_disr(void *__unused)
|
|
|
+{
|
|
|
+ /* Firmware may have left a deferred SError in this register. */
|
|
|
+ write_sysreg_s(0, SYS_DISR_EL1);
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|