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