X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Farch%2Fx86%2Fvm8086.c;h=44c60dffd65cf597daa5b76c178ada95bf3435da;hb=a3464cb30ecb189019b8bceb70aebdc74f5edded;hp=f4e98c4c87eeab6515ef5d70fb8b5154cd3d3eb5;hpb=533ed3e53b3b16da86c4e792eb52e0570e2cd21f;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/arch/x86/vm8086.c b/KernelLand/Kernel/arch/x86/vm8086.c index f4e98c4c..44c60dff 100644 --- a/KernelLand/Kernel/arch/x86/vm8086.c +++ b/KernelLand/Kernel/arch/x86/vm8086.c @@ -357,6 +357,15 @@ void VM8086_GPF(tRegs *Regs) } break; + case 0x0F: + opcode = *(Uint8*)( (Regs->cs*16) + (Regs->eip&0xFFFF)); + Log_Error("VM8086", "Error - Unknown opcode 0F %02x caused a GPF at %04x:%04x", + opcode, Regs->cs, Regs->eip); + // Force an end to the call + Regs->cs = VM8086_MAGIC_CS; + Regs->eip = VM8086_MAGIC_IP; + break; + default: Log_Error("VM8086", "Error - Unknown opcode %02x caused a GPF at %04x:%04x", opcode, Regs->cs, Regs->eip-1);