gem5
v20.0.0.2
|
#include <decoder.hh>
Public Member Functions | |
Decoder (ISA *isa=nullptr) | |
void | process () |
void | reset () |
bool | compressed (ExtMachInst inst) |
void | moreBytes (const PCState &pc, Addr fetchPC, MachInst inst) |
bool | needMoreBytes () |
bool | instReady () |
void | takeOverFrom (Decoder *old) |
StaticInstPtr | decodeInst (ExtMachInst mach_inst) |
StaticInstPtr | decode (ExtMachInst mach_inst, Addr addr) |
Decode a machine instruction. More... | |
StaticInstPtr | decode (RiscvISA::PCState &nextPC) |
Protected Attributes | |
ExtMachInst | emi |
bool | instDone |
Private Attributes | |
DecodeCache::InstMap< ExtMachInst > | instMap |
bool | aligned |
bool | mid |
bool | more |
Definition at line 45 of file decoder.hh.
|
inline |
Definition at line 59 of file decoder.hh.
References reset().
|
inline |
Definition at line 64 of file decoder.hh.
References moreBytes(), and RiscvISA::pc.
Referenced by decode(), and moreBytes().
StaticInstPtr RiscvISA::Decoder::decode | ( | ExtMachInst | mach_inst, |
Addr | addr | ||
) |
Decode a machine instruction.
mach_inst | The binary instruction to decode. |
A | pointer to the corresponding StaticInst object. |
Definition at line 80 of file decoder.cc.
References decodeInst(), DPRINTF, instMap, and PowerISA::si.
Referenced by decode(), and takeOverFrom().
StaticInstPtr RiscvISA::Decoder::decode | ( | RiscvISA::PCState & | nextPC | ) |
Definition at line 94 of file decoder.cc.
References compressed(), decode(), emi, GenericISA::PCStateBase::instAddr(), instDone, and GenericISA::SimplePCState< MachInst >::npc().
StaticInstPtr RiscvISA::Decoder::decodeInst | ( | ExtMachInst | mach_inst | ) |
Referenced by decode(), and takeOverFrom().
|
inline |
Definition at line 71 of file decoder.hh.
References instDone.
Definition at line 50 of file decoder.cc.
References aligned, compressed(), DPRINTF, emi, instDone, letoh(), RiscvISA::LowerBitMask, mid, more, GenericISA::SimplePCState< MachInst >::pc(), and RiscvISA::UpperBitMask.
Referenced by compressed().
|
inline |
Definition at line 70 of file decoder.hh.
References more.
|
inline |
Definition at line 61 of file decoder.hh.
References reset().
void RiscvISA::Decoder::reset | ( | ) |
|
inline |
Definition at line 72 of file decoder.hh.
References addr, decode(), and decodeInst().
|
private |
Definition at line 49 of file decoder.hh.
Referenced by moreBytes(), and reset().
|
protected |
Definition at line 55 of file decoder.hh.
Referenced by decode(), moreBytes(), and reset().
|
protected |
Definition at line 56 of file decoder.hh.
Referenced by decode(), instReady(), moreBytes(), and reset().
|
private |
Definition at line 48 of file decoder.hh.
Referenced by decode().
|
private |
Definition at line 50 of file decoder.hh.
Referenced by moreBytes(), and reset().
|
private |
Definition at line 51 of file decoder.hh.
Referenced by moreBytes(), needMoreBytes(), and reset().