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 - Pranith Kumar Copyright (c) 2020 Inria 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.