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)