X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cpu%2Fsh2%2Fcompiler.c;h=015a0986caa500c6cd225c4c0a7df0f3a3500997;hb=f81107f59093904c3daac2e9c257261fddc6caf0;hp=e9838978ee6cf2833b81d56c986d513f6932bd60;hpb=c1931173ab49838b8e6f934b11de8ff0b8fbbcf3;p=picodrive.git diff --git a/cpu/sh2/compiler.c b/cpu/sh2/compiler.c index e983897..015a098 100644 --- a/cpu/sh2/compiler.c +++ b/cpu/sh2/compiler.c @@ -349,7 +349,7 @@ static u32 REGPARM(2) (*sh2_drc_read16)(u32 a, SH2 *sh2); static u32 REGPARM(2) (*sh2_drc_read32)(u32 a, SH2 *sh2); static void REGPARM(2) (*sh2_drc_write8)(u32 a, u32 d); static void REGPARM(2) (*sh2_drc_write16)(u32 a, u32 d); -static int REGPARM(3) (*sh2_drc_write32)(u32 a, u32 d, SH2 *sh2); +static void REGPARM(3) (*sh2_drc_write32)(u32 a, u32 d, SH2 *sh2); // address space stuff static int dr_ctx_get_mem_ptr(u32 a, u32 *mask) @@ -363,6 +363,7 @@ static int dr_ctx_get_mem_ptr(u32 a, u32 *mask) } else if ((a & 0xfffff000) == 0xc0000000) { // data array + // FIXME: access sh2->data_array instead poffs = offsetof(SH2, p_da); *mask = 0xfff; } @@ -3159,7 +3160,7 @@ void sh2_drc_mem_setup(SH2 *sh2) { // fill the convenience pointers sh2->p_bios = sh2->is_slave ? Pico32xMem->sh2_rom_s : Pico32xMem->sh2_rom_m; - sh2->p_da = Pico32xMem->data_array[sh2->is_slave]; + sh2->p_da = sh2->data_array; sh2->p_sdram = Pico32xMem->sdram; sh2->p_rom = Pico.rom; } @@ -3277,7 +3278,7 @@ static void *dr_get_pc_base(u32 pc, int is_slave) } else if ((pc & 0xfffff000) == 0xc0000000) { // data array - ret = Pico32xMem->data_array[is_slave]; + ret = sh2s[is_slave].data_array; mask = 0xfff; } else if ((pc & 0xc6000000) == 0x06000000) {