Subject: Re: PXE boot loader?
To: Frank van der Linden <fvdl@wasabisystems.com>
From: Andrew Gillham <gillham@vaultron.com>
List: port-i386
Date: 09/11/2000 16:25:27
Frank van der Linden writes:
> On Mon, Sep 11, 2000 at 03:30:15PM -0400, Andrew Gillham wrote:
>
> > My assembler skills are very good, and this 16bit versus 32bit stuff
^^^ gack! I meant to type "aren't" here. :)
> For a number of instructions (most notably mov), the data and address
> size defaults to the default size set by the code segment (always 16
> for real mode). For both data and address sizes, you can add a prefix
> to override the size.
Ok, so does this mean something like 'movl $0x01, %ax' will actually be
the equivalent of 'movw' when it isn't prefixed? Or will it just not
work?
> If you keep it simple, that's all you need to know. Just don't use
> any fancier compound indirect modes, because some are actually
> different between real and protected mode (you gotta love it).
Nothing fancy, I just need enough 16bit code to setup and call start
much like the bootsector would do. I need to doublecheck the pxespec
to make sure I'm not missing anything there either.
> Have a look at sbin/fdisk/mbr/mbr.S, for example. Don't be put off
> by the #define'd macros; I had to add those to be able to use some
> shorter real mode instructions (prefixing takes up extra space and
> space was short in the MBR).
Thanks, I'll look at it. I appreciate the pointers.
-Andrew