Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1281
-gerrit
commit 9853ad32f03481fad470412470684730678cc689 Author: Stefan Reinauer reinauer@chromium.org Date: Mon Jun 11 15:38:15 2012 -0700
Make ACPI code detect Sandy/Ivy Bridge dynamically
On systems with socketed CPUs we want to be able to drop in a Sandy Bridge or Ivy Bridge CPU without recompiling the firmware. Hence, detect the north bridge dynamically. In order for this to work, we need Ivy Bridge MRC and coreboot configured for Ivy Bridge.
Change-Id: I635bef2c61d47d36a3fdd87f8ecb6e69097ba969 Signed-off-by: Stefan Reinauer reinauer@google.com --- src/northbridge/intel/sandybridge/acpi.c | 4 +++- src/northbridge/intel/sandybridge/sandybridge.h | 8 ++------ 2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/src/northbridge/intel/sandybridge/acpi.c b/src/northbridge/intel/sandybridge/acpi.c index d1174d6..10b1a68 100644 --- a/src/northbridge/intel/sandybridge/acpi.c +++ b/src/northbridge/intel/sandybridge/acpi.c @@ -36,7 +36,9 @@ unsigned long acpi_fill_mcfg(unsigned long current) u32 pciexbar_reg; int max_buses;
- dev = dev_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_NB, 0); + dev = dev_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_SB, 0); + if (!dev) + dev = dev_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_IB, 0); if (!dev) return current;
diff --git a/src/northbridge/intel/sandybridge/sandybridge.h b/src/northbridge/intel/sandybridge/sandybridge.h index 7e12416..f8617de 100644 --- a/src/northbridge/intel/sandybridge/sandybridge.h +++ b/src/northbridge/intel/sandybridge/sandybridge.h @@ -199,12 +199,8 @@ struct ied_header { u8 reserved[34]; } __attribute__ ((packed));
-#if CONFIG_NORTHBRIDGE_INTEL_SANDYBRIDGE -#define PCI_DEVICE_ID_NB 0x0104 -#endif -#if CONFIG_NORTHBRIDGE_INTEL_IVYBRIDGE -#define PCI_DEVICE_ID_NB 0x0154 -#endif +#define PCI_DEVICE_ID_SB 0x0104 +#define PCI_DEVICE_ID_IB 0x0154
#ifdef __SMM__ void intel_sandybridge_finalize_smm(void);