SGDT now stores all 32 bits of the base address, even in 16-bit mode. Fixes Win32s.
This commit is contained in:
parent
17ee2a7d9e
commit
95640bb4bb
1 changed files with 1 additions and 1 deletions
|
|
@ -288,7 +288,7 @@ static int op0F01_common(uint32_t fetchdat, int is32, int is286)
|
||||||
{
|
{
|
||||||
case 0x00: /*SGDT*/
|
case 0x00: /*SGDT*/
|
||||||
seteaw(gdt.limit);
|
seteaw(gdt.limit);
|
||||||
base = is32 ? gdt.base : (gdt.base & 0xffffff);
|
base = gdt.base; //is32 ? gdt.base : (gdt.base & 0xffffff);
|
||||||
if (is286)
|
if (is286)
|
||||||
base |= 0xff000000;
|
base |= 0xff000000;
|
||||||
writememl(easeg, eaaddr + 2, base);
|
writememl(easeg, eaaddr + 2, base);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue