[SeaBIOS] [PATCH 0/6] Convert AHCI driver to run entirely in 32bit mode

Kevin O'Connor kevin at koconnor.net
Thu Oct 10 02:43:59 CEST 2013


On Mon, Oct 07, 2013 at 12:02:23PM +0200, Gerd Hoffmann wrote:
> On Mi, 2013-10-02 at 21:38 -0400, Kevin O'Connor wrote:
> > This series converts the AHCI driver to run entirely in 32bit mode.
> > Currently, ahci will only jump into 32bit mode when it needs to access
> > the ahci device's PCI config space.  However, if the code has to run
> > anything in 32bit mode, it might as well run it all in 32bit mode.
> 
> Makes sense.
> 
> > Doing this also shrinks the total SeaBIOS code size by a few KB.
> 
> Also some runtime memory allocations can be moved out of low memory.
> 
> xhci is another candidate to be ported to 32bit mode as it likewise
> jumps to 32bit mode for doorbell register access.

Yes, and it looks like the recently submitted "pvscsi" patch could
also be converted.

What I don't like about the series is the "+ BUILD_BIOS_ADDR" in
block.c.  All the GET_GLOBAL(op->drive_g) in the disk drivers should
probably get converted to GET_GLOBALFLAT(op->drive_gf) so these weird
offsets aren't needed.  The StackSeg manipulation in farcall16 and in
the __call16 assembler is not nice either.

Thanks,
-Kevin



More information about the SeaBIOS mailing list