X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Farch%2Fx86%2Fvm8086.c;h=d93bdf18e7403024c42f47ee02307c6a3838da96;hb=337eb3d287e4291e16192a524f3173937e579866;hp=61348622ceeacf5a7d8bdc7dcc957b423db47ea0;hpb=51ab5f489bc356940c95cc936fd0508e8f07ea97;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/arch/x86/vm8086.c b/KernelLand/Kernel/arch/x86/vm8086.c index 61348622..d93bdf18 100644 --- a/KernelLand/Kernel/arch/x86/vm8086.c +++ b/KernelLand/Kernel/arch/x86/vm8086.c @@ -321,6 +321,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);