nb/intel/gm45/dsdt: Fix number of PCI busses
Linux complained that the numbers in DSDT (256) don't match with the
values in MMCONF (64).
Change-Id: I2ccac64934e8d284e68945f86ec46cb2bf896277
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64260
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/src/northbridge/intel/gm45/acpi/hostbridge.asl b/src/northbridge/intel/gm45/acpi/hostbridge.asl
index ff86b3f..7c86003 100644
--- a/src/northbridge/intel/gm45/acpi/hostbridge.asl
+++ b/src/northbridge/intel/gm45/acpi/hostbridge.asl
@@ -83,9 +83,10 @@
Name (MCRS, ResourceTemplate()
{
- /* Bus Numbers */
+ /* Bus Numbers. Highest bus gets updated later */
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
- 0x0000, 0x0000, 0x00ff, 0x0000, 0x0100,,, PB00)
+ 0x0000, 0x0000, 0x0000, 0x0000,
+ CONFIG_ECAM_MMCONF_BUS_NUMBER,,, PB00)
/* IO Region 0 */
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
@@ -207,6 +208,11 @@
/* Current Resource Settings */
Method (_CRS, 0, Serialized)
{
+ /* Set highest PCI bus */
+ CreateWordField(MCRS, ^PB00._MAX, BMAX)
+ CreateWordField(MCRS, ^PB00._LEN, BLEN)
+ BMAX = BLEN - 1
+
/* Find PCI resource area in MCRS */
CreateDwordField(MCRS, ^PM01._MIN, PMIN)
CreateDwordField(MCRS, ^PM01._MAX, PMAX)