diff --git a/device/Kconfig b/device/Kconfig index 044cd711e1..8b68979d58 100644 --- a/device/Kconfig +++ b/device/Kconfig @@ -95,5 +95,19 @@ config SUSPEND_TO_RAM help Enable support for Suspend-to-RAM (S3) functionality. -endmenu +config PCI_64BIT_PREF_MEM + bool "64 bit prefetchable memory addresses" + help + Enable support for 64-bit prefetchable memory addresses in PCI. +config HW_MEM_HOLE_SIZEK + hex "HW memory hole size in KB" + default 0x1000 + help + Some chipsets support setting up a "hole" at the top of memory. It is essentially + a hole torn in the physical address space so that you can fit non-memory resources + (e.g. flash) at the top of the 4G address space. Given that this only happens on machines + with lots of memory, the default 4 MB is a very reasonable value. + + +endmenu diff --git a/device/Makefile b/device/Makefile index 28d3b7ec9e..78d2d3864e 100644 --- a/device/Makefile +++ b/device/Makefile @@ -25,5 +25,6 @@ $(obj)/device/%.o: $(src)/device/%.c $(Q)$(CC) $(INITCFLAGS) -c $< -o $@ STAGE2_DEVICE_SRC = device.c device_util.c root_device.c \ - pci_device.c pci_ops.c pci_rom.c pnp_device.c pnp_raw.c + pci_device.c pci_ops.c pci_rom.c pnp_device.c pnp_raw.c \ + smbus_ops.c diff --git a/device/device_util.c b/device/device_util.c index f09cc29de5..71c9158618 100644 --- a/device/device_util.c +++ b/device/device_util.c @@ -432,7 +432,7 @@ void compact_resources(struct device *dev) /* Note: memmove() was used here. But this can never * overlap, right? */ - memcpy(resource, resource + 1, dev->resources - i); + memcpy(resource, resource + 1, (dev->resources-i)* sizeof(*resource)); dev->resources -= 1; memset(&dev->resource[dev->resources], 0, sizeof(*resource));