summaryrefslogtreecommitdiff
path: root/src/northbridge/intel/sandybridge/northbridge.c
diff options
context:
space:
mode:
authorPatrick Rudolph <siro@das-labor.org>2015-10-15 15:33:25 +0200
committerNico Huber <nico.h@gmx.de>2015-11-18 15:09:36 +0100
commit240766af027a6f1f7c854eeea799965e30686ce7 (patch)
treee5e1e90580c3323b40c9784fbef5e6ed5e1d865e /src/northbridge/intel/sandybridge/northbridge.c
parent9f1fbb9a3002e8d74d53d7973bd1c7e3d4879238 (diff)
downloadcoreboot-240766af027a6f1f7c854eeea799965e30686ce7.tar.xz
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 <siro@das-labor.org> Reviewed-on: http://review.coreboot.org/11918 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src/northbridge/intel/sandybridge/northbridge.c')
-rw-r--r--src/northbridge/intel/sandybridge/northbridge.c1
1 files changed, 1 insertions, 0 deletions
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 */