29#ifndef __ARCH_SPARC_INSTS_MICRO_HH__
30#define __ARCH_SPARC_INSTS_MICRO_HH__
47 OpClass __opClass, uint32_t _numMicroops) :
53 flags[IsMacroop] =
true;
76 panic(
"Tried to execute a macroop directly!\n");
82 panic(
"Tried to execute a macroop directly!\n");
88 panic(
"Tried to execute a macroop directly!\n");
100 flags[IsMicroop] =
true;
107 if (
flags[IsLastMicroop])
117 if (
flags[IsLastMicroop])
133 flags[IsDelayedCommit] =
true;
The ExecContext is an abstract base class the provides the interface used by the ISA to manipulate th...
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
SparcDelayedMicroInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
SparcMacroInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass, uint32_t _numMicroops)
Fault completeAcc(PacketPtr, ExecContext *, trace::InstRecord *) const override
Fault execute(ExecContext *, trace::InstRecord *) const override
StaticInstPtr fetchMicroop(MicroPC upc) const override
Return the microop that goes with a particular micropc.
Fault initiateAcc(ExecContext *, trace::InstRecord *) const override
const uint32_t numMicroops
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
void advancePC(PCStateBase &pc_state) const override
SparcMicroInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
void advancePC(ThreadContext *tc) const override
Base class for all SPARC static instructions.
std::bitset< Num_Flags > flags
Flag values for this instruction.
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.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::shared_ptr< FaultBase > Fault
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.