Author: ruik Date: 2009-07-23 10:10:51 +0200 (Thu, 23 Jul 2009) New Revision: 4464
Modified: trunk/coreboot-v2/src/mainboard/asus/m2v-mx_se/acpi_tables.c trunk/coreboot-v2/src/mainboard/asus/m2v-mx_se/mainboard.c Log: We did together some patch which makes finally a MMCONFIG workable in linux out of the box. There were two problems. First was that the mmconfig ACPI structure was empty because of cut and paste (PCI ID of K8M890 is different).
Second problem is now nicely solvable by add_region. Linux expects that the mmconfig region is found as reserved memory. Otherwise it does not trust it.
Signed-off-by: Rudolf Marek r.marek@assembler.cz Acked-by: Luc Verhaegen libv@skynet.be
Modified: trunk/coreboot-v2/src/mainboard/asus/m2v-mx_se/acpi_tables.c =================================================================== --- trunk/coreboot-v2/src/mainboard/asus/m2v-mx_se/acpi_tables.c 2009-07-22 12:26:18 UTC (rev 4463) +++ trunk/coreboot-v2/src/mainboard/asus/m2v-mx_se/acpi_tables.c 2009-07-23 08:10:51 UTC (rev 4464) @@ -40,7 +40,7 @@ device_t dev; struct resource *res;
- dev = dev_find_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_K8T890CE_5, 0); + dev = dev_find_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_K8M890CE_5, 0); if (!dev) return current;
Modified: trunk/coreboot-v2/src/mainboard/asus/m2v-mx_se/mainboard.c =================================================================== --- trunk/coreboot-v2/src/mainboard/asus/m2v-mx_se/mainboard.c 2009-07-22 12:26:18 UTC (rev 4463) +++ trunk/coreboot-v2/src/mainboard/asus/m2v-mx_se/mainboard.c 2009-07-23 08:10:51 UTC (rev 4464) @@ -22,9 +22,22 @@ #include <device/pci_ids.h> #include <boot/tables.h> #include "chip.h" +#include <../../../southbridge/via/k8t890/k8t890.h>
int add_mainboard_resources(struct lb_memory *mem) { + device_t dev; + + dev = dev_find_device(PCI_VENDOR_ID_VIA, + PCI_DEVICE_ID_VIA_K8M890CE_5, 0); + if (dev) { + struct resource *res = + find_resource(dev, K8T890_MMCONFIG_MBAR); + if (res) + lb_add_memory_range(mem, LB_MEM_RESERVED, res->base, + res->size); + } + #if CONFIG_HAVE_ACPI_RESUME == 1 lb_add_memory_range(mem, LB_MEM_RESERVED, CONFIG_RAMBASE, ((CONFIG_LB_MEM_TOPK<<10) - CONFIG_RAMBASE));