b21663a3b1d60f31ea5fca0e54b30603d857439c
1 #ifndef _RISCV_PROCESSOR_H
2 #define _RISCV_PROCESSOR_H
13 typedef reg_t (*insn_func_t
)(processor_t
*, insn_t
, reg_t
);
19 processor_t(sim_t
* _sim
, mmu_t
* _mmu
);
21 void init(uint32_t _id
, icsim_t
* defualt_icache
, icsim_t
* default_dcache
);
22 void step(size_t n
, bool noisy
);
32 // privileged control registers
49 // unprivileged control registers
52 // # of bits in an XPR (32 or 64). (redundant with sr)
63 void take_interrupt();
64 void set_sr(uint32_t val
);
65 void set_fsr(uint32_t val
);
66 void take_trap(trap_t t
, bool noisy
);
67 void disasm(insn_t insn
, reg_t pc
);
71 void setvl(int vlapp
);
74 uint32_t vecbanks_count
;
83 processor_t
* uts
[MAX_UTS
];