43 #ifndef __ARCH_ARM_DECODER_HH__
44 #define __ARCH_ARM_DECODER_HH__
53 #include "enums/DecoderFlavour.hh"
204 #endif // __ARCH_ARM_DECODER_HH__
void consumeBytes(int numBytes)
Consume bytes by moving the offset into the data word and sanity check the results.
void takeOverFrom(Decoder *old)
Take over the state from an old decoder when switching CPUs.
Some registers alias with others, and therefore need to be translated.
void process()
Pre-decode an instruction from the current state of the decoder.
StaticInstPtr decodeInst(ExtMachInst mach_inst)
Decode a machine instruction without calling the cache.
static GenericISA::BasicDecodeCache defaultCache
A cache of decoded instruction objects.
StaticInstPtr decode(ArmISA::PCState &pc)
Decode an instruction or fetch it from the code cache.
StaticInstPtr decode(TheISA::Decoder *const decoder, TheISA::ExtMachInst mach_inst, Addr addr)
Decode a machine instruction.
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
StaticInstPtr decode(ExtMachInst mach_inst, Addr addr)
Decode a pre-decoded machine instruction.
void moreBytes(const PCState &pc, Addr fetchPC, MachInst inst)
Feed data to the decoder.
Enums::DecoderFlavour decoderFlavour
bool instReady() const
Is an instruction ready to be decoded?
GenericISA::SimplePCState< MachInst > PCState
bool needMoreBytes() const
Can the decoder accept more data?
Decoder(ISA *isa=nullptr)
void reset()
Reset the decoders internal state.
void setContext(FPSCR fpscr)