Kyösti Mälkki has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/55436 )
Change subject: device: Add fixed_mem_resource64() ......................................................................
device: Add fixed_mem_resource64()
Unlike fixed_mem_resource() the arguments are not in KiB. This allows coccinelle script to assign the base and size without applying the KiB division or 10 bit right-shift.
Unlike fixed_mem_resource() the IORESOURCE_STORED has to be passed in the flags parameter.
Change-Id: I2cc9ef94b60d62aaf4374f400b7e05b86e4664d2 Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com --- M src/device/device_util.c M src/include/device/device.h 2 files changed, 22 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/36/55436/1
diff --git a/src/device/device_util.c b/src/device/device_util.c index f05f71d..b4aa60a 100644 --- a/src/device/device_util.c +++ b/src/device/device_util.c @@ -848,6 +848,23 @@ resource->flags |= type; }
+void fixed_mem_resource64(struct device *dev, unsigned long index, + resource_t base, resource_t size, + unsigned long type) +{ + struct resource *resource; + + if (!size) + return; + + resource = new_resource(dev, index); + resource->base = base; + resource->size = size; + resource->flags = IORESOURCE_MEM | IORESOURCE_FIXED | IORESOURCE_ASSIGNED; + + resource->flags |= type; +} + void fixed_io_resource(struct device *dev, unsigned long index, unsigned long base, unsigned long size) { diff --git a/src/include/device/device.h b/src/include/device/device.h index afa6a40..8a5837d3 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -303,6 +303,8 @@
void fixed_mem_resource(struct device *dev, unsigned long index, unsigned long basek, unsigned long sizek, unsigned long type); +void fixed_mem_resource64(struct device *dev, unsigned long index, resource_t base, + resource_t size, unsigned long type);
void mmconf_resource(struct device *dev, unsigned long index);
@@ -325,6 +327,9 @@ #define mmio_resource(dev, idx, basek, sizek) \ fixed_mem_resource(dev, idx, basek, sizek, IORESOURCE_RESERVE)
+#define mmio_resource64(dev, idx, base, size) \ + fixed_mem_resource64(dev, idx, base, size, IORESOURCE_STORED | IORESOURCE_RESERVE) + #define io_resource(dev, idx, base, size) \ fixed_io_resource(dev, idx, base, size)