]> xenbits.xensource.com Git - seabios.git/commitdiff
pvscsi: Use high memory for rings
authorDana Rubin <dana.rubin@ravellosystems.com>
Thu, 4 Aug 2016 11:22:31 +0000 (14:22 +0300)
committerKevin O'Connor <kevin@koconnor.net>
Fri, 5 Aug 2016 19:10:11 +0000 (15:10 -0400)
Avoid using the scarce ZoneLow memory.
This limits max number of pvscsi controllers.

As driver runs in 32bit mode, use ZoneHigh allocation instead.

Signed-off-by: Dana Rubin <dana.rubin@ravellosystems.com>
Signed-off-by: Shmulik Ladkani <shmulik.ladkani@ravellosystems.com>
src/hw/pvscsi.c

index 7535493affcdb95a53bcb60f81d517018876302b..cd4046c1b468b3a076c8b30291e69bb9a172f35b 100644 (file)
@@ -167,18 +167,18 @@ pvscsi_init_rings(void *iobase, struct pvscsi_ring_dsc_s **ring_dsc)
 {
     struct PVSCSICmdDescSetupRings cmd = {0,};
 
-    struct pvscsi_ring_dsc_s *dsc = memalign_low(PAGE_SIZE, sizeof(*dsc));
+    struct pvscsi_ring_dsc_s *dsc = memalign_high(PAGE_SIZE, sizeof(*dsc));
     if (!dsc) {
         warn_noalloc();
         return;
     }
 
     dsc->ring_state =
-        (struct PVSCSIRingsState *)memalign_low(PAGE_SIZE, PAGE_SIZE);
+        (struct PVSCSIRingsState *)memalign_high(PAGE_SIZE, PAGE_SIZE);
     dsc->ring_reqs =
-        (struct PVSCSIRingReqDesc *)memalign_low(PAGE_SIZE, PAGE_SIZE);
+        (struct PVSCSIRingReqDesc *)memalign_high(PAGE_SIZE, PAGE_SIZE);
     dsc->ring_cmps =
-        (struct PVSCSIRingCmpDesc *)memalign_low(PAGE_SIZE, PAGE_SIZE);
+        (struct PVSCSIRingCmpDesc *)memalign_high(PAGE_SIZE, PAGE_SIZE);
     if (!dsc->ring_state || !dsc->ring_reqs || !dsc->ring_cmps) {
         warn_noalloc();
         return;