1 #ifndef I960_CPUCOMPONENT_H 2 #define I960_CPUCOMPONENT_H 37 #define N_I960_REGS 32 38 #define N_I960_SFRS 32 50 "r3",
"r4",
"r5",
"r6",
"r7",
51 "r8",
"r9",
"r10",
"r11",
"r12",
54 "g0",
"g1",
"g2",
"g3",
55 "g4",
"g5",
"g6",
"g7",
56 "g8",
"g9",
"g10",
"g11",
"g12",
62 #define I960_G0 16 // offset to first parameter register 92 unsigned char *instruction, vector<string>& result);
97 static void RunUnitTests(
int& nSucceeded,
int& nFailures);
107 ss.flags(std::ios::hex | std::ios::showbase | std::ios::right);
108 ss << (uint32_t)vaddr;
124 DECLARE_DYNTRANS_INSTR(b);
125 DECLARE_DYNTRANS_INSTR(lda_displacement);
126 DECLARE_DYNTRANS_INSTR(mov_lit_reg);
127 DECLARE_DYNTRANS_INSTR(sysctl);
129 void Translate(uint32_t iword, uint32_t iword2,
struct DyntransIC*
ic);
130 DECLARE_DYNTRANS_INSTR(ToBeTranslated);
146 uint32_t m_nr_of_valid_sfrs;
151 #endif // I960_CPUCOMPONENT_H virtual int GetDyntransICshift() const
virtual string VirtualAddressAsString(uint64_t vaddr)
Format a virtual address as a displayable string.
A Component representing an Intel i960 processor.
struct arm_instr_call * ic
virtual int FunctionTraceArgumentCount()
virtual bool PreRunCheckForComponent(GXemul *gxemul)
Checks the state of this component, before starting execution.
virtual void ResetState()
Resets the state variables of this component.
static void RunUnitTests(int &nSucceeded, int &nFailures)
A dyntrans instruction call.
I960_CPUComponent()
Constructs a I960_CPUComponent.
virtual uint64_t PCtoInstructionAddress(uint64_t pc)
Convert PC value to instuction address.
virtual int64_t FunctionTraceArgument(int n)
static refcount_ptr< Component > Create(const ComponentCreateArgs &args)
Creates a I960_CPUComponent.
static string GetAttribute(const string &attributeName)
virtual bool VirtualToPhysical(uint64_t vaddr, uint64_t &paddr, bool &writable)
Virtual to physical address translation (MMU).
virtual bool CheckVariableWrite(StateVariable &var, const string &oldValue)
Checks whether a write to a variable is OK.
A base-class for processors Component implementations that use dynamic translation.
virtual size_t DisassembleInstruction(uint64_t vaddr, size_t maxlen, unsigned char *instruction, vector< string > &result)
Disassembles an instruction into readable strings.
StateVariables make up the persistent state of Component objects.
virtual void ShowRegisters(GXemul *gxemul, const vector< string > &arguments) const
virtual void(*)(CPUDyntransComponent *, DyntransIC *) GetDyntransToBeTranslated()
virtual bool FunctionTraceReturnImpl(int64_t &retval)