[SeaBIOS] [PATCH] seabios: increase smp_mtrr array size
Kevin O'Connor
kevin at koconnor.net
Sat Jul 30 01:23:23 CEST 2011
On Fri, Jul 29, 2011 at 07:40:51PM -0300, Marcelo Tosatti wrote:
>
> Windows Server 2008 checked build complains about lack of consistency
> between MTRR MSRs in SMP guests.
>
> Problem is the smp_mtrr array is not large enough to hold all MSRs (31
> entries with current qemu/kvm implementations).
>
> Increase it to 32.
Thanks. I applied your patch and the patch below as well.
-Kevin
diff --git a/src/smp.c b/src/smp.c
index 2317d36..8c077a1 100644
--- a/src/smp.c
+++ b/src/smp.c
@@ -24,8 +24,10 @@ void
wrmsr_smp(u32 index, u64 val)
{
wrmsr(index, val);
- if (smp_mtrr_count >= ARRAY_SIZE(smp_mtrr))
+ if (smp_mtrr_count >= ARRAY_SIZE(smp_mtrr)) {
+ warn_noalloc();
return;
+ }
smp_mtrr[smp_mtrr_count].ecx = index;
smp_mtrr[smp_mtrr_count].eax = val;
smp_mtrr[smp_mtrr_count].edx = val >> 32;
More information about the SeaBIOS
mailing list