thermosphere: add smc trap handler

This commit is contained in:
TuxSH 2019-07-31 00:08:09 +02:00
parent b686af2008
commit 4a5d05f32b
4 changed files with 92 additions and 4 deletions

View file

@ -17,6 +17,7 @@
#include "hvc.h"
#include "traps.h"
#include "sysreg_traps.h"
#include "smc.h"
#include "core_ctx.h"
#include "log.h"
@ -107,12 +108,16 @@ void handleLowerElSyncException(ExceptionStackFrame *frame, ExceptionSyndromeReg
handleHypercall(frame, esr);
break;
#endif
case Exception_SystemRegisterTrap:
handleMsrMrsTrap(frame, esr);
break;
case Exception_HypervisorCallA64:
handleHypercall(frame, esr);
break;
case Exception_MonitorCallA64:
handleSmcTrap(frame, esr);
break;
case Exception_SystemRegisterTrap:
handleMsrMrsTrap(frame, esr);
break;
default:
serialLog("Lower EL sync exception, EC = 0x%02llx IL=%llu ISS=0x%06llx\n", (u64)esr.ec, esr.il, esr.iss);
dumpStackFrame(frame, false);