From 53ac0814de3abcdebc373df15c423a9a8f7d9d05 Mon Sep 17 00:00:00 2001 From: David Guillen Fandos Date: Wed, 26 Jan 2022 21:03:52 +0100 Subject: [PATCH] [x86/64] Fix openbus reads (PC is corrupted) --- x86/x86_stub.S | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/x86/x86_stub.S b/x86/x86_stub.S index 410ef6d..0f38edc 100644 --- a/x86/x86_stub.S +++ b/x86/x86_stub.S @@ -387,10 +387,6 @@ defsymbl(execute_load_##rtype) ;\ ja ext_load_slow##rtype ;\ jmp *load_##rtype##_tbl(REG_BASE, FULLREG(cx), ADDR_SIZE_BYTES) ;\ ;\ -ext_load_bios##rtype: ;\ - mov %edx, REG_PC(REG_BASE) /* Store current PC */ ;\ - jmp ext_load_slow##rtype ;\ - ;\ ext_load_iwram##rtype: ;\ and $(0x7FFF & addrm), %eax /* Addr wrap */ ;\ movop (IWRAM_OFF+0x8000)(REG_BASE, FULLREG(ax)), %eax /* Read mem */ ;\ @@ -436,6 +432,7 @@ ext_load_rom##rtype: ;\ ret ;\ ;\ ext_load_slow##rtype: ;\ + mov %edx, REG_PC(REG_BASE) /* Store current PC */ ;\ SETUP_ARGS ;\ CALL_FUNC(slowfn) ;\ ret ;\ @@ -524,7 +521,7 @@ return_to_main: ret #define load_table(atype) ;\ - ADDR_TYPE ext_load_bios##atype /* 0x00 BIOS */;\ + ADDR_TYPE ext_load_slow##atype /* 0x00 BIOS */;\ ADDR_TYPE ext_load_slow##atype /* 0x01 open read */;\ ADDR_TYPE ext_load_ewram##atype /* 0x02 EWRAM */;\ ADDR_TYPE ext_load_iwram##atype /* 0x03 IWRAM */;\