diff options
Diffstat (limited to 'src/arch/arm/faults.hh')
-rw-r--r-- | src/arch/arm/faults.hh | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/arch/arm/faults.hh b/src/arch/arm/faults.hh index 90a730507..64940dd26 100644 --- a/src/arch/arm/faults.hh +++ b/src/arch/arm/faults.hh @@ -125,7 +125,19 @@ class UndefinedInstruction : public ArmFault<UndefinedInstruction> #endif }; -class SupervisorCall : public ArmFault<SupervisorCall> {}; +class SupervisorCall : public ArmFault<SupervisorCall> +{ +#if !FULL_SYSTEM + protected: + ExtMachInst machInst; + + public: + SupervisorCall(ExtMachInst _machInst) : machInst(_machInst) + {} + + void invoke(ThreadContext *tc); +#endif +}; class PrefetchAbort : public ArmFault<PrefetchAbort> {}; class DataAbort : public ArmFault<DataAbort> {}; class Interrupt : public ArmFault<Interrupt> {}; |