From 73c20a723f448182122e0eb5fb05c4a87b3b9729 Mon Sep 17 00:00:00 2001 From: SarahW Date: Wed, 10 Apr 2019 20:28:45 +0100 Subject: [PATCH] Clear integer registers on CPU reset. Fixes hang on reboot on VA-503+. --- src/808x.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/808x.c b/src/808x.c index cba4273..1336727 100644 --- a/src/808x.c +++ b/src/808x.c @@ -630,14 +630,13 @@ void resetx86() idt.base = 0; idt.limit = is386 ? 0x03FF : 0xFFFF; cpu_state.flags=2; + EAX = EBX = ECX = EDX = ESI = EDI = EBP = ESP = 0; makeznptable(); resetreadlookup(); makemod1table(); FETCHCLEAR(); x87_reset(); cpu_set_edx(); - EAX = 0; - ESP=0; mmu_perm=4; x86seg_reset(); codegen_reset(); @@ -679,6 +678,7 @@ void softresetx86() cpu_state.flags=2; idt.base = 0; idt.limit = is386 ? 0x03FF : 0xFFFF; + EAX = EBX = ECX = EDX = ESI = EDI = EBP = ESP = 0; x86seg_reset(); x86_was_reset = 1; }