thermosphere: also trap GICH (to deny access)

This commit is contained in:
TuxSH
2019-08-14 15:48:07 +02:00
parent bb1ba5308d
commit 9787bca325
3 changed files with 12 additions and 6 deletions

View File

@@ -46,6 +46,7 @@ void handleLowerElDataAbortException(ExceptionStackFrame *frame, ExceptionSyndro
memcpy(&dabtIss, &esr, 4);
u64 far = GET_SYSREG(far_el2);
u64 farpg = far & ~0xFFFull;
if (!dabtIss.isv || dabtIss.fnv) {
dumpUnhandledDataAbort(dabtIss, far, "");
@@ -53,9 +54,11 @@ void handleLowerElDataAbortException(ExceptionStackFrame *frame, ExceptionSyndro
// TODO
if ((far & ~0xFFFull) == (uintptr_t)g_irqManager.gic.gicd) {
if (farpg == (uintptr_t)g_irqManager.gic.gicd) {
// TODO
} else if (farpg == (uintptr_t)g_irqManager.gic.gich) {
dumpUnhandledDataAbort(dabtIss, far, "GICH");
} else {
dumpUnhandledDataAbort(dabtIss, far, "(fallback)");
}
dumpUnhandledDataAbort(dabtIss, far, "(fallback)");
}