diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2013-11-26 14:10:25 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2013-12-04 10:59:35 +0100 |
commit | 3ecdc492ce1f2b7308dde85f1aba6a582a68f3cc (patch) | |
tree | f14cdc488aad9266786aefaa9fd6a67ca5223b4e | |
parent | 4a0f366ac380af50849ca5a03cdbc8fa3ac2781c (diff) | |
download | seabios-3ecdc492ce1f2b7308dde85f1aba6a582a68f3cc.zip seabios-3ecdc492ce1f2b7308dde85f1aba6a582a68f3cc.tar.gz seabios-3ecdc492ce1f2b7308dde85f1aba6a582a68f3cc.tar.bz2 |
ahci: alloc structs in high memory
With ahci running in 32bit mode we can also allocate the
(ahci private) data structures in high memory. This
reduces the real mode memory footprint as we only need
to move struct ahci_port_s (which contains struct drive_s)
to fseg in case the port probe was successful.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r-- | src/hw/ahci.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/hw/ahci.c b/src/hw/ahci.c index 5984c1c..687cc7d 100644 --- a/src/hw/ahci.c +++ b/src/hw/ahci.c @@ -403,9 +403,9 @@ static struct ahci_port_s* ahci_port_realloc(struct ahci_port_s *port) free(port->list); free(port->fis); free(port->cmd); - port->list = memalign_low(1024, 1024); - port->fis = memalign_low(256, 256); - port->cmd = memalign_low(256, 256); + port->list = memalign_high(1024, 1024); + port->fis = memalign_high(256, 256); + port->cmd = memalign_high(256, 256); ahci_port_writel(port->ctrl, port->pnr, PORT_LST_ADDR, (u32)port->list); ahci_port_writel(port->ctrl, port->pnr, PORT_FIS_ADDR, (u32)port->fis); |