hw: don't halt kernel due to unknown cpu exception

Fix genodelabs/genode#4617
This commit is contained in:
Stefan Kalkowski 2022-09-20 14:13:01 +02:00 committed by Christian Helmuth
parent 6c6ce30389
commit 0231ee4ad3

View File

@ -55,6 +55,16 @@ void Thread::exception(Cpu & cpu)
" ISS=", Cpu::Esr::Iss::get(esr),
" ip=", (void*)regs->ip);
};
/*
* If the machine exception is caused by a non-privileged
* component, mark it dead, and continue execution.
*/
if (regs->exception_type == Cpu::SYNC_LEVEL_EL0) {
Genode::raw("Will freeze thread ", *this);
_become_inactive(DEAD);
return;
}
break;
}
default: