At 16:07 on 11/19/2000 EST, Kevin Lawton <[EMAIL PROTECTED]> wrote:
> >From ChangeLog:
>
> - "Kevin P. Lawton" <[EMAIL PROTECTED]>: Sun Nov 19 16:04:40 EST 2000
> Implemented WBINVD instruction. Ingnored for now. This was
> tripping up some people's attempts to install/boot OSes.
Thanks a bunch, Kevin- I tried booting the qnx floppy again.. Here's the
current errors:
::WBINVD: (ignoring)
::WBINVD: (ignoring)
bochs: pic: IRQ lowest command 0xc2
::plex86 panic:
::default case on i.b1 of 0x131, reason=0x1
Fatal monitor error caused Panic
eax:0x2faf03a
ebx:0xf7c0fa4
ecx:0xc64
edx:0x5000
ebp:0xf7c0fb4
esi:0x5329
edi:0x5311
esp:0xf7c0fa4
eflags:0x2246
eip:0x9259
cs:s=0x5, dl=0xbfff, dh=0xf0519f00, valid=1
ss:s=0xd, dl=0xffbf, dh=0xf0d0b304, valid=1
ds:s=0xd, dl=0xffbf, dh=0xf0d0b304, valid=1
es:s=0x8, dl=0x100019ff, dh=0xff40b380, valid=1
fs:s=0x81, dl=0x30008fff, dh=0xf3eb, valid=1
gs:s=0x0, dl=0xffff, dh=0x9300, valid=0
ldtr:s=0x100, dl=0x1740001f, dh=0xff008280, valid=1
tr:s=0xd8, dl=0x16ec0067, dh=0xf000a904, valid=1
gdtr:base=0xff801000, limit=0x19ff
idtr:base=0xff800000, limit=0x7ff
dr0:0x0
dr1:0x0
dr2:0x0
dr3:0x0
dr6:0xffff0ff0
dr7:0x400
tr3:0x0
tr4:0x0
tr5:0x0
tr6:0x0
tr7:0x0
cr0:0x8000003d
cr1:0x0
cr2:0x0
cr3:0x22000
cr4:0x0
inhibit_mask:0
zsh: segmentation fault ./plex86 -f ../conf/qnx
Note that it's segfaulting instead of giving a stack dump.
Here's a stacktrace from gdb:
Program received signal SIGSEGV, Segmentation fault.
0x804b8eb in i386_decode_raw (ctx=0xbffff6a0, value=0xbffff3d0, size=1)
at decode.c:1658
1658 case 1: *value = *(unsigned char *)(ctx->base + ctx->offset); break;
(gdb) bt
#0 0x804b8eb in i386_decode_raw (ctx=0xbffff6a0, value=0xbffff3d0, size=1)
at decode.c:1658
#1 0x804ba82 in i386_decode (ctx=0xbffff6a0, dc=0xbffff624) at decode.c:1715
#2 0x804b3f8 in vm_debug_exception () at user.c:727
#3 0x804aa9f in vm_event_loop () at user.c:380
#4 0x804a37e in main (argc=3, argv=0xbffffc14) at plex86.c:372
(gdb) list
1653 /* FIXME */
1654
1655 switch ( size )
1656 {
1657 default: assert( FALSE );
1658 case 1: *value = *(unsigned char *)(ctx->base + ctx->offset); break;
1659 case 2: *value = *(unsigned short *)(ctx->base + ctx->offset); break;
1660 case 4: *value = *(unsigned int *)(ctx->base + ctx->offset); break;
1661 }
1662
(gdb)