Go to the documentation of this file.
41 #ifndef __ARCH_ARM_DECODER_HH__
42 #define __ARCH_ARM_DECODER_HH__
52 #include "debug/Decode.hh"
53 #include "enums/DecoderFlavor.hh"
177 DPRINTF(Decode,
"Decode: Decoded %s instruction: %#x\n",
178 si->getName(), mach_inst);
221 #endif // __ARCH_ARM_DECODER_HH__
void takeOverFrom(Decoder *old)
Take over the state from an old decoder when switching CPUs.
void process()
Pre-decode an instruction from the current state of the decoder.
Decoder(ISA *isa=nullptr)
Enums::DecoderFlavor decoderFlavor
static GenericISA::BasicDecodeCache< Decoder, ExtMachInst > defaultCache
A cache of decoded instruction objects.
StaticInstPtr decode(ExtMachInst mach_inst, Addr addr)
Decode a pre-decoded machine instruction.
StaticInstPtr decode(ArmISA::PCState &pc)
Decode an instruction or fetch it from the code cache.
bool needMoreBytes() const
Can the decoder accept more data?
int sveLen
SVE vector length, encoded in the same format as the ZCR_EL<x>.LEN bitfields.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void reset()
Reset the decoders internal state.
StaticInstPtr decodeInst(ExtMachInst mach_inst)
Decode a machine instruction without calling the cache.
void setSveLen(uint8_t len)
bool instReady() const
Is an instruction ready to be decoded?
GenericISA::DelaySlotPCState< MachInst > PCState
void setContext(FPSCR fpscr)
void moreBytes(const PCState &pc, Addr fetchPC, MachInst inst)
Feed data to the decoder.
void consumeBytes(int numBytes)
Consume bytes by moving the offset into the data word and sanity check the results.
Generated on Tue Jun 22 2021 15:28:19 for gem5 by doxygen 1.8.17