exception: clear L2C error status after exception

Signed-off-by: Hector Martin <marcan@marcan.st>
This commit is contained in:
Hector Martin 2021-01-30 16:23:18 +09:00
parent 5dd63e41a1
commit 1f99c17fef

View file

@ -94,10 +94,14 @@ void print_regs(u64 *regs)
const char *ec_desc = ec_table[(mrs(ESR_EL2) >> 26) & 0x3f];
printf("ESR_EL2: 0x%x (%s)\n", mrs(ESR_EL2), ec_desc ? ec_desc : "unknown");
printf("L2C_ERR_STS: 0x%lx\n", mrs(SYS_L2C_ERR_STS));
u64 l2c_err_sts = mrs(SYS_L2C_ERR_STS);
printf("L2C_ERR_STS: 0x%lx\n", l2c_err_sts);
printf("L2C_ERR_ADR: 0x%lx\n", mrs(SYS_L2C_ERR_ADR));
printf("L2C_ERR_INF: 0x%lx\n", mrs(SYS_L2C_ERR_INF));
msr(SYS_L2C_ERR_STS, l2c_err_sts); // Clear the flag bits
if (is_ecore()) {
printf("SYS_E_LSU_ERR_STS: 0x%lx\n", mrs(SYS_E_LSU_ERR_STS));
printf("SYS_E_FED_ERR_STS: 0x%lx\n", mrs(SYS_E_FED_ERR_STS));