Yesterday, I had some trouble getting a win95 bootflop (stil does not
work yet) to run and plex86 aborted due to exception 13.
this was in the kernel log:
======================================
Aug 8 22:16:18 darius kernel: cpu.cr0 = 0x60000010
Aug 8 22:16:18 darius kernel: plex86: vm_t size is 67304
Aug 8 22:16:18 darius kernel: plex86: log message(s):
Aug 8 22:16:18 darius kernel: init_monitor OK -----------------
Aug 8 22:16:18 darius kernel: nexus_size = 0x236
Aug 8 22:16:18 darius kernel:
Aug 8 22:16:19 darius kernel: plex86: log message(s):
Aug 8 22:16:19 darius kernel: plex86 panic: default case on i.b1 of
0x2B, reason=0x81
======================================
and this was outputted in the terminal I ran plex86 from:
======================================
Fatal monitor error caused Panic
Abort due to exception 13 at 74de:000017c3
Register dump:
CS:74de SS:74de DS:0070 ES:8c92 FS:0000 GS:0000
EAX:000074de EBX:00001492 ECX:000010a0 EDX:00000000
ESI:000032d0 EDI:00008fbf EBP:00001009 ESP:000017c2 EFLAGS:00000286
Stack dump:
Current instruction:
74DE.000017C3 0100 add dword ptr [eax], eax
Shutting down plugins
======================================
Looking at kernel/emulation/emulation.c in emulate_instr and in
user/decode.c there is something I don't understand:
0x2b is the instruction opcode of the instruction that causes the panic?
(/*2b*/ { INS_sub, op(G,v), op(E,v) } and /*2b*/ {
INS_movntps,op(W,o), op(V,o) } in the One/TwoByteMap tables).
Looking at the stack dump, I would expect the "current instruction" to
be the faulting instruction, however this is not the case (since it
displays an add instruction).
--
Best regards,
Jeroen Janssen
+++
On Earth, No-one Can Hear You Say "Um".
-- (Terry Pratchett, Only You Can Save Mankind)
+++