Merge branch 'master' of ssh://code.systems.ethz.ch:8006/diffusion/BFI/barrelfish
[barrelfish] / usr / pci / pci.c
index 521833c..926bcc4 100644 (file)
@@ -33,6 +33,8 @@
 #include <dev/ht_config_dev.h>
 #include "pci_debug.h"
 
+#include <if/acpi_rpcclient_defs.h>
+
 #define MIN(a,b)        ((a) < (b) ? (a) : (b))
 
 #define BAR_PROBE       0xffffffff
@@ -162,6 +164,7 @@ static errval_t alloc_device_bar(uint8_t idx,
 
     struct device_caps *c = &dev_caps[bus][dev][fun][idx];
     errval_t err;
+    size = ROUND_UP(size, BASE_PAGE_SIZE); // Some BARs are less than 4 KiB
 
     // first try with maximally-sized caps (we'll reduce this if it doesn't work)
     uint8_t bits = log2ceil(size);