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>
Reviewed-on: http://review.coreboot.org/1281
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Stefan Reinauer 2012-06-11 15:38:15 -07:00 committed by Stefan Reinauer
parent 3a8cad3c14
commit 6097e193fc
2 changed files with 5 additions and 7 deletions

View File

@ -36,7 +36,9 @@ unsigned long acpi_fill_mcfg(unsigned long current)
u32 pciexbar_reg; u32 pciexbar_reg;
int max_buses; 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) if (!dev)
return current; return current;

View File

@ -199,12 +199,8 @@ struct ied_header {
u8 reserved[34]; u8 reserved[34];
} __attribute__ ((packed)); } __attribute__ ((packed));
#if CONFIG_NORTHBRIDGE_INTEL_SANDYBRIDGE #define PCI_DEVICE_ID_SB 0x0104
#define PCI_DEVICE_ID_NB 0x0104 #define PCI_DEVICE_ID_IB 0x0154
#endif
#if CONFIG_NORTHBRIDGE_INTEL_IVYBRIDGE
#define PCI_DEVICE_ID_NB 0x0154
#endif
#ifdef __SMM__ #ifdef __SMM__
void intel_sandybridge_finalize_smm(void); void intel_sandybridge_finalize_smm(void);