Go to the documentation of this file.
41 #ifndef __ARCH_ARM_DECODER_HH__
42 #define __ARCH_ARM_DECODER_HH__
52 #include "enums/DecoderFlavor.hh"
214 #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.
StaticInstPtr decode(TheISA::Decoder *const decoder, TheISA::ExtMachInst mach_inst, Addr addr)
Decode a machine instruction.
Decoder(ISA *isa=nullptr)
Enums::DecoderFlavor decoderFlavor
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)
static GenericISA::BasicDecodeCache defaultCache
A cache of decoded instruction objects.
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 Wed Sep 30 2020 14:01:58 for gem5 by doxygen 1.8.17