interesting : the values of the segment registers DS,ES and the value of CX
(low 16-bits of ECX) seem to have no resemblance to the code that should
have loaded them with 0x7C00,0x9000,0x0100 respectively...
This code looks like it's trying to move what would have been read from the
boot sector of the boot device (which the bios should read into location
0x7C00 upon a powerup) into location 0x9000, and then presumably jump to it
to start the ball rolling in booting linux.
I don't know much about plex86, but I would guess that something else
executed before the code you show below, that destroyed the assumptions of
this code.
Hope this at least points you in the right direction.
John D. Rogers Mangosoft, Inc. [EMAIL PROTECTED]
-----Original Message-----
From: Jeroen Janssen [mailto:[EMAIL PROTECTED]]
Sent: Friday, August 04, 2000 4:14 PM
To: [EMAIL PROTECTED]
Subject: linux-2.2.16 boot problem in very first instructions of
bootsector
Hello,
I am attempting to boot linux 2.2.16. I've got a zImage and when trying
to run plex86 it fails in the very first instructions..
plex86 output:
==============
Setting prescan depth to 3
Initializing plugins
Running VM
Fatal monitor error caused Panic
Abort due to exception 14 at 0010:00100012
Register dump:
CS:0010 SS:0010 DS:0010 ES:0010 FS:0010 GS:0010
EAX:c08e9000 EBX:00000000 ECX:f6254100 EDX:00000000
ESI:000f0000 EDI:000f0000 EBP:00000000 ESP:00009000 EFLAGS:00000046
Stack dump:
Current instruction:
0010.00100012 F3A5 rep movsl %ds:(%esi),
%es:(%edi)
looking at the source in linux/arch/i386/bootsect.S
=====================
mov ax,#BOOTSEG
mov ds,ax
mov ax,#INITSEG
mov es,ax
mov cx,#256
sub si,si
sub di,di
cld
rep
movsw
jmpi go,INITSEG
this gets disassembled into:
00100000 B8C007 mov ax,0x7c0
00100003 8ED8 mov ds,ax
00100005 B80090 mov ax,0x9000
00100008 8EC0 mov es,ax
0010000A B90001 mov cx,0x100
0010000D 29F6 sub si,si
0010000F 29FF sub di,di
00100011 FC cld
00100012 F3A5 rep movsw
00100014 EA19000090 jmp 0x9000:0x19
----------------------------------------------------
it seems to me the rep movsw fails for some "strange" reason(hmm.. ECX
is f6254100 wich looks strange to me..), does anybody know what's wrong
here?
Best regards,
Jeroen Janssen