Implemented selector limits on some instructions - fixes LBA2.

GPFs in real mode now work.
Selectors correctly zeroed on far return to lower privilege.
This commit is contained in:
TomW 2014-08-13 20:33:56 +01:00
commit cd2c3b47ed
16 changed files with 404 additions and 462 deletions

View file

@ -4,7 +4,6 @@
pmoderetf(0, stack_offset); \
return 0; \
} \
if (ssegs) ss = oldss; \
oxpc = pc; \
if (stack32) \
{ \
@ -27,7 +26,6 @@
pmoderetf(1, stack_offset); \
return 0; \
} \
if (ssegs) ss = oldss; \
oxpc = pc; \
if (stack32) \
{ \
@ -75,7 +73,6 @@ static int opIRET_286(uint32_t fetchdat)
x86gpf(NULL,0);
return 0;
}
if (ssegs) ss = oldss;
if (msw&1)
{
optype = IRET;
@ -115,7 +112,6 @@ static int opIRET(uint32_t fetchdat)
x86gpf(NULL,0);
return 0;
}
if (ssegs) ss = oldss;
if (msw&1)
{
optype = IRET;
@ -155,7 +151,6 @@ static int opIRETD(uint32_t fetchdat)
x86gpf(NULL,0);
return 0;
}
if (ssegs) ss = oldss;
if (msw & 1)
{
optype = IRET;