Subject: Re: memtest86 in bochs
To: None <port-i386@netbsd.org>
From: Christian Biere <christianbiere@gmx.de>
List: port-i386
Date: 01/05/2004 17:41:34
--TakKZr9L6Hm6aLOc
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Ben Collver wrote:
> It is hard for me to believe the code is supposed to continue at 0:0
> because that range of memory is all zeroed out.

That would be a bug (somewhere) because the first 4k at 0:0 contain
the IDT (interrupt decriptor table). Though, I remember you can
its location even in read-mode with 'lidt'.

> 0000265d: sti                       ; fb

Here you allow interrupts (unless the PIC is programmed to disable them)
and a few instructions later something goes haywire. Suspicious.

> 0000265e: xor EAX, EAX              ; 6631c0
> 00002661: mov [DS:0000], EAX        ; 66a30000
> 00002665: mov [DS:0004], EAX        ; 66a30400
> 00002669: mov [DS:0008], EAX        ; 66a30800
> 0000266d: xor EBX, EBX              ; 6631db

--=20
Christian

--TakKZr9L6Hm6aLOc
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (NetBSD)

iD8DBQE/+ZO+0KQix3oyIMcRAlsxAJ0eSRXWoI1t3+wqKX+7TtY0y+w+2QCdHd9Y
wnS8ISYlQfMn9VVNkiau1rg=
=7qgZ
-----END PGP SIGNATURE-----

--TakKZr9L6Hm6aLOc--