summaryrefslogtreecommitdiff
path: root/src/devices
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2012-07-27 08:37:12 +0300
committerAnton Kochkov <anton.kochkov@gmail.com>2012-07-27 11:15:41 +0200
commitecf1ed49c72168c3d5b613a5d5198b5dd22777b4 (patch)
treeda0dce9686a6c8b9cc5efe931ad8332ab2b52721 /src/devices
parent19e99f5cf1659bc3731774087de3208b4a52fd2a (diff)
Allocators for different memory regions types
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 <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/1367 Reviewed-by: Patrick Georgi <patrick@georgi-clan.de> Tested-by: build bot (Jenkins) Reviewed-by: Anton Kochkov <anton.kochkov@gmail.com>
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/device_util.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/src/devices/device_util.c b/src/devices/device_util.c
index 9362525180..6f088b2e84 100644
--- a/src/devices/device_util.c
+++ b/src/devices/device_util.c
@@ -795,8 +795,8 @@ void show_all_devs_resources(int debug_level, const char* msg)
}
}
-void ram_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)
{
struct resource *resource;
@@ -806,23 +806,10 @@ void ram_resource(device_t dev, unsigned long index,
resource = new_resource(dev, index);
resource->base = ((resource_t)basek) << 10;
resource->size = ((resource_t)sizek) << 10;
- resource->flags = IORESOURCE_MEM | IORESOURCE_CACHEABLE | \
- IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
-}
-
-void uma_resource(device_t dev, unsigned long index,
- unsigned long basek, unsigned long sizek)
-{
- struct resource *resource;
-
- if (!sizek)
- return;
+ resource->flags = IORESOURCE_MEM | IORESOURCE_FIXED |
+ IORESOURCE_STORED | IORESOURCE_ASSIGNED;
- resource = new_resource(dev, index);
- resource->base = ((resource_t)basek) << 10;
- resource->size = ((resource_t)sizek) << 10;
- resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE | IORESOURCE_UMA_FB |
- IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
+ resource->flags |= type;
}
void tolm_test(void *gp, struct device *dev, struct resource *new)