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
void debugFunc() override
FaultName name() const override
void debugFunc() override
FaultName name() const override
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
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::string csprintf(const char *format, const Args &...args)
const StaticInstPtr nullStaticInstPtr
Statically allocated null StaticInstPtr.