This simple patch makes memmove copy (dev->resources -i) resource
structs instead of (dev->resources-i) bytes. All my resources were
disappearing when I compacted (if I had a zeroed resource). Now they
don't.
Signed-off-by: Myles Watson <[email protected]>
Thanks,
Myles
Index: cbv2/src/devices/device_util.c
===================================================================
--- cbv2.orig/src/devices/device_util.c
+++ cbv2/src/devices/device_util.c
@@ -272,7 +272,8 @@ void compact_resources(device_t dev)
for(i = 0; i < dev->resources;) {
resource = &dev->resource[i];
if (!resource->flags) {
- memmove(resource, resource + 1, dev->resources - i);
+ memmove(resource, resource + 1, (dev->resources - i) *
+ sizeof(*resource));
dev->resources -= 1;
memset(&dev->resource[dev->resources], 0, sizeof(*resource));
} else {
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot