From 240766af027a6f1f7c854eeea799965e30686ce7 Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Thu, 15 Oct 2015 15:33:25 +0200 Subject: nb/intel/sandybridge/northbridge: Initialize uma_memory_base in all cases Issue observed: Coreboot stops at: "Not enough MTRRs available!" Test system: * Gigabyte GA-B75M-D3H * Intel Pentium CPU G2130 * ATI Radeon HD4780 Problem description: In case the IGD does not claim VGA decode, the code path taken results in an integer overflow as uma_memory_base isn't initialized. The MTRR assignment will fail, because of invalid memory regions. Problem solution: Properly initialize uma_memory_base to prevent possible integer overflow. Final testing results: The system boots again with IGD not claiming VGA decode. Change-Id: I025be23b1defb6155469a3eee66569e49a695e7f Signed-off-by: Patrick Rudolph Reviewed-on: http://review.coreboot.org/11918 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Nico Huber --- src/northbridge/intel/sandybridge/northbridge.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/northbridge/intel') diff --git a/src/northbridge/intel/sandybridge/northbridge.c b/src/northbridge/intel/sandybridge/northbridge.c index bfc5de85a5..1ebb81ec91 100644 --- a/src/northbridge/intel/sandybridge/northbridge.c +++ b/src/northbridge/intel/sandybridge/northbridge.c @@ -194,6 +194,7 @@ static void pci_domain_set_resources(device_t dev) printk(BIOS_DEBUG, "MEBASE 0x%llx\n", me_base); + uma_memory_base = tolud; tomk = tolud >> 10; if (me_base == tolud) { /* ME is from MEBASE-TOM */ -- cgit v1.2.3