From ecf1ed49c72168c3d5b613a5d5198b5dd22777b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Fri, 27 Jul 2012 08:37:12 +0300 Subject: Allocators for different memory regions types MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hide some details of the resource allocator from rest of the world. These should come in handy when fixing some aspects of MTRR setup. Change-Id: I8acad98f25e56cd8bae64fb52539d81ce94f9c73 Signed-off-by: Kyösti Mälkki Reviewed-on: http://review.coreboot.org/1367 Reviewed-by: Patrick Georgi Tested-by: build bot (Jenkins) Reviewed-by: Anton Kochkov --- src/include/device/device.h | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/include/device') diff --git a/src/include/device/device.h b/src/include/device/device.h index 8cc937f94d..1515b45e02 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -170,10 +170,21 @@ void pci_domain_read_resources(struct device *dev); unsigned int pci_domain_scan_bus(struct device *dev, unsigned int max); unsigned int scan_static_bus(device_t bus, unsigned int max); -void ram_resource(device_t dev, unsigned long index, - unsigned long basek, unsigned long sizek); -void uma_resource(device_t dev, unsigned long index, - unsigned long basek, unsigned long sizek); +void fixed_mem_resource(device_t dev, unsigned long index, + unsigned long basek, unsigned long sizek, unsigned long type); + +#define ram_resource(dev, idx, basek, sizek) \ + fixed_mem_resource(dev, idx, basek, sizek, IORESOURCE_CACHEABLE) + +#define bad_ram_resource(dev, idx, basek, sizek) \ + fixed_mem_resource(dev, idx, basek, sizek, IORESOURCE_RESERVE | IORESOURCE_CACHEABLE ) + +#define uma_resource(dev, idx, basek, sizek) \ + fixed_mem_resource(dev, idx, basek, sizek, IORESOURCE_RESERVE | IORESOURCE_UMA_FB) + +#define mmio_resource(dev, idx, basek, sizek) \ + fixed_mem_resource(dev, idx, basek, sizek, IORESOURCE_RESERVE) + void tolm_test(void *gp, struct device *dev, struct resource *new); u32 find_pci_tolm(struct bus *bus); -- cgit v1.2.3