49#include "debug/Faults.hh"
104 "Page table fault when accessing virtual address %#x\n",
vaddr);
111 "Alignment fault when accessing virtual address %#x\n",
vaddr);
124 assert(checkpoint->valid());
virtual void globalClearExclusive()
virtual FaultName name() const =0
virtual void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override
HtmFailureFaultCause getHtmFailureFaultCause() const
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override
HtmFailureFaultCause cause
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override
virtual PCStateBase * clone() const =0
bool fixupFault(Addr vaddr)
Attempt to fix up a fault at vaddr by allocating a page on the stack.
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override
virtual void advancePC(PCStateBase &pc_state) const =0
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override
Workload * workload
OS kernel.
bool trapToGdb(GDBSignal signal, ContextID ctx_id) const
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual void htmAbortTransaction(uint64_t htm_uid, HtmFailureFaultCause cause)=0
virtual System * getSystemPtr()=0
virtual BaseISA * getIsaPtr() const =0
virtual BaseHTMCheckpointPtr & getHtmCheckpointPtr()=0
virtual InstDecoder * getDecoderPtr()=0
virtual const PCStateBase & pcState() const =0
virtual Process * getProcessPtr()=0
virtual ContextID contextId() const =0
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override
virtual void syscall(ThreadContext *tc)
#define panic(...)
This implements a cprintf based panic() function.
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
Copyright (c) 2024 Arm Limited All rights reserved.
bool FullSystem
The FullSystem variable can be used to determine the current mode of simulation.
Declarations of a non-full system Page Table.