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