From cffa5a99260a47952955c3f19e2f5d703fd65700 Mon Sep 17 00:00:00 2001 From: TomW Date: Tue, 11 Aug 2015 20:44:16 +0100 Subject: [PATCH] SIDT always stores 32-bit base on 386+. Fixes OS/2 2.0. --- src/x86_ops_pmode.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/x86_ops_pmode.h b/src/x86_ops_pmode.h index f5790f3..e01f521 100644 --- a/src/x86_ops_pmode.h +++ b/src/x86_ops_pmode.h @@ -296,7 +296,7 @@ static int op0F01_common(uint32_t fetchdat, int is32, int is286) break; case 0x08: /*SIDT*/ seteaw(idt.limit); - base = is32 ? idt.base : (idt.base & 0xffffff); + base = idt.base; if (is286) base |= 0xff000000; writememl(easeg, eaaddr + 2, base);