From 7dde1da9a7cbedcdd6d75a935c04f09f9b7cdc4c Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Wed, 11 Feb 2009 16:57:32 +0000 Subject: [PATCH] Print a loud warning message if we run out of MTRRs. Signed-off-by: Carl-Daniel Hailfinger Acked-by: Myles Watson git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3937 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/cpu/x86/mtrr/mtrr.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/cpu/x86/mtrr/mtrr.c b/src/cpu/x86/mtrr/mtrr.c index 840f9d3909..2e45c4818c 100644 --- a/src/cpu/x86/mtrr/mtrr.c +++ b/src/cpu/x86/mtrr/mtrr.c @@ -228,7 +228,12 @@ static unsigned int range_to_mtrr(unsigned int reg, unsigned long range_startk, unsigned long range_sizek, unsigned long next_range_startk, unsigned char type, unsigned address_bits) { - if (!range_sizek || (reg >= BIOS_MTRRS)) { + if (!range_sizek) { + printk_debug("range_to_mtrr called for empty range\n"); + return reg; + } + if (reg >= BIOS_MTRRS) { + printk_err("Running out of variable MTRRs!\n"); return reg; } while(range_sizek) { @@ -249,8 +254,10 @@ static unsigned int range_to_mtrr(unsigned int reg, set_var_mtrr(reg++, range_startk, sizek, type, address_bits); range_startk += sizek; range_sizek -= sizek; - if (reg >= BIOS_MTRRS) + if (reg >= BIOS_MTRRS) { + printk_err("Running out of variable MTRRs!\n"); break; + } } return reg; }