38#ifndef __ARCH_GENERIC_DEBUGFAULTS_HH__
39#define __ARCH_GENERIC_DEBUGFAULTS_HH__
73 template <
class ...Args>
91template <
class Flavor>
97 template <
class F,
class OnceToken>
101 static std::map<OnceToken, bool> tokenMap;
102 return tokenMap[
token];
106 template <
class OnceToken,
class ...Args>
108 const Args &...args) :
M5DebugFault(std::string _m)
virtual void debugFunc()=0
void advancePC(ThreadContext *tc, const StaticInstPtr &inst)
M5DebugFault(const std::string &format, const Args &...args)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override
M5DebugOnceFault(const OnceToken &token, const std::string &format, const Args &...args)
static bool & lookUpToken(const OnceToken &token)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override
M5DebugFault(std::string _m)
void debugFunc() override
FaultName name() const override
void debugFunc() override
FaultName name() const override
M5DebugFault(std::string _m)
FaultName name() const override
void debugFunc() override
FaultName name() const override
void debugFunc() override
virtual PCStateBase * clone() const =0
virtual void advancePC(PCStateBase &pc_state) const =0
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual const PCStateBase & pcState() const =0
#define panic(...)
This implements a cprintf based panic() function.
#define fatal(...)
This implements a cprintf based fatal() function.
Bitfield< 31, 29 > format
M5WarnFaultBase< M5DebugFault > M5WarnFault
M5HackFaultBase< M5DebugFault > M5HackFault
M5InformFaultBase< M5DebugFault > M5InformFault
M5HackFaultBase< M5DebugOnceFault< M5HackFault > > M5HackOnceFault
M5WarnFaultBase< M5DebugOnceFault< M5WarnFault > > M5WarnOnceFault
M5InformFaultBase< M5DebugOnceFault< M5InformFault > > M5InformOnceFault
Copyright (c) 2024 Arm Limited All rights reserved.
RefCountingPtr< StaticInst > StaticInstPtr
std::string csprintf(const char *format, const Args &...args)
const StaticInstPtr nullStaticInstPtr
Statically allocated null StaticInstPtr.