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> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4464 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
8dee52d7a8
commit
b2bd9963a5
|
@ -40,7 +40,7 @@ unsigned long acpi_fill_mcfg(unsigned long current)
|
||||||
device_t dev;
|
device_t dev;
|
||||||
struct resource *res;
|
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)
|
if (!dev)
|
||||||
return current;
|
return current;
|
||||||
|
|
||||||
|
|
|
@ -22,9 +22,22 @@
|
||||||
#include <device/pci_ids.h>
|
#include <device/pci_ids.h>
|
||||||
#include <boot/tables.h>
|
#include <boot/tables.h>
|
||||||
#include "chip.h"
|
#include "chip.h"
|
||||||
|
#include <../../../southbridge/via/k8t890/k8t890.h>
|
||||||
|
|
||||||
int add_mainboard_resources(struct lb_memory *mem)
|
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
|
#if CONFIG_HAVE_ACPI_RESUME == 1
|
||||||
lb_add_memory_range(mem, LB_MEM_RESERVED,
|
lb_add_memory_range(mem, LB_MEM_RESERVED,
|
||||||
CONFIG_RAMBASE, ((CONFIG_LB_MEM_TOPK<<10) - CONFIG_RAMBASE));
|
CONFIG_RAMBASE, ((CONFIG_LB_MEM_TOPK<<10) - CONFIG_RAMBASE));
|
||||||
|
|
Loading…
Reference in New Issue