I tested the current plex86 with the current GRUB, but that
failed. The log message was:

% ./plex86 -v -f plex86.conf
Processing command-line options
[snip]
floppy_io: cylinder request != current cylinder
::plex86 panic:
::monPageFault: MapLinPPageOOB:

Fatal monitor error caused Panic
Register dump:
 CS:002b SS:0033 DS:003b ES:0023 FS:0043 GS:004b
 EAX:60000010 EBX:00000001 ECX:000e0901 EDX:00000100
 ESI:00008116 EDI:000081e8 EBP:00001ff0 ESP:e0061fec EFLAGS:00010006

Stack dump:
Current instructions:
 002B.000087AF  0B0424                  movl    (%esp), %eax

=========== begin VGA text buffer dump ===============
[snip]

And the code which caused plex86 to panic was:

   891  ENTRY(prot_to_real)
   892          /* just in case, set GDT */
   893          lgdt    gdtdesc
   894  
   895          /* save the protected mode stack */
   896          movl    %esp, %eax
   897          movl    %eax, protstack
   898  
   899          /* get the return address */
   900          movl    (%esp), %eax                    <== here!
   901          movl    %eax, STACKOFF

So I suspect that there is something wrong in the transition from
protected mode to real mode, but I haven't looked at the source code
of plex86 yet.

Regards,
Okuji

Reply via email to