rvemu

RISC-V RV32I execution engine
git clone git://mcdim.xyz/revemu.git
Log | Files | Refs

exec.h (341B)


      1 #ifndef EXEC_H
      2 #define EXEC_H
      3 
      4 #include "trap.h"
      5 
      6 #define MEMSIZE 2052
      7 
      8 typedef enum {
      9 	CPU_RUNNING = 0,
     10 	CPU_TRAPPED,
     11 	CPU_HALTED
     12 } cpu_status_t;
     13 
     14 typedef struct {
     15 	uint32_t x[32];  /* general purpose registers */
     16 	uint32_t pc;
     17 	trap_info_t trap;
     18 	cpu_status_t status;
     19 } cpu_state_t;
     20 
     21 void cpu_step(cpu_state_t *cpu, uint8_t *mem);
     22 
     23 #endif