diff options
Diffstat (limited to 'sim/v850/sim-main.h')
-rw-r--r-- | sim/v850/sim-main.h | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/sim/v850/sim-main.h b/sim/v850/sim-main.h index 95838ba..f38ef1c 100644 --- a/sim/v850/sim-main.h +++ b/sim/v850/sim-main.h @@ -43,11 +43,13 @@ struct sim_state { #else #define STATE_CPU(sd,n) (&(sd)->cpu[0]) #endif +#if 0 SIM_ADDR rom_size; SIM_ADDR low_end; SIM_ADDR high_start; SIM_ADDR high_base; void *mem; +#endif sim_state_base base; }; @@ -158,14 +160,18 @@ extern struct simops Simops[]; /* Function declarations. */ -uint32 get_word PARAMS ((uint8 *)); -uint16 get_half PARAMS ((uint8 *)); -uint8 get_byte PARAMS ((uint8 *)); -void put_word PARAMS ((uint8 *, uint32)); -void put_half PARAMS ((uint8 *, uint16)); -void put_byte PARAMS ((uint8 *, uint8)); +#define IMEM(EA) \ +sim_core_read_aligned_2 (STATE_CPU (sd, 0), \ + PC, sim_core_execute_map, (EA)) + +#define IMEM_IMMED(EA,N) \ +sim_core_read_aligned_2 (STATE_CPU (sd, 0), \ + PC, sim_core_execute_map, (EA) + (N) * 4) -extern uint32 load_mem PARAMS ((SIM_ADDR addr, int len)); -extern void store_mem PARAMS ((SIM_ADDR addr, int len, uint32 data)); +#define load_mem(ADDR,LEN) \ +sim_core_read_unaligned_##LEN (STATE_CPU (simulator, 0), \ + PC, sim_core_read_map, (ADDR)) -extern uint8 *map PARAMS ((SIM_ADDR addr)); +#define store_mem(ADDR,LEN,DATA) \ +sim_core_write_unaligned_##LEN (STATE_CPU (simulator, 0), \ + PC, sim_core_write_map, (ADDR), (DATA)) |