[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-3.2-testing] x86, hvm: MTRR can't cover all the memery ranges
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1201186300 0 # Node ID 29f61d2f40b2260e2a1bd9e924a23fff3114746e # Parent 42331be1d1d05759144df23aa4dda75999fdb815 x86, hvm: MTRR can't cover all the memery ranges MTRR can't cover all the memery ranges, due to guest E820 is changed by CS:16728 with current method. Signed-off-by: Disheng Su <disheng.su@xxxxxxxxx> xen-unstable changeset: 16876:6269a3ce7b830f6903a61e1116331590b47f7e99 xen-unstable date: Thu Jan 24 14:40:35 2008 +0000 --- xen/arch/x86/hvm/mtrr.c | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletion(-) diff -r 42331be1d1d0 -r 29f61d2f40b2 xen/arch/x86/hvm/mtrr.c --- a/xen/arch/x86/hvm/mtrr.c Thu Jan 24 14:51:12 2008 +0000 +++ b/xen/arch/x86/hvm/mtrr.c Thu Jan 24 14:51:40 2008 +0000 @@ -186,7 +186,14 @@ static uint32_t range_to_mtrr(uint32_t r uint8_t type) { if ( !range_sizek || (reg >= ((m->mtrr_cap & 0xff) - RESERVED_MTRR)) ) + { + gdprintk(XENLOG_WARNING, + "Failed to init var mtrr msr[%d]" + "range_size:%x, total available MSR:%d\n", + reg, range_sizek, + (uint32_t)((m->mtrr_cap & 0xff) - RESERVED_MTRR)); return reg; + } while ( range_sizek ) { @@ -202,7 +209,13 @@ static uint32_t range_to_mtrr(uint32_t r range_sizek -= sizek; if ( reg >= ((m->mtrr_cap & 0xff) - RESERVED_MTRR) ) + { + gdprintk(XENLOG_WARNING, + "Failed to init var mtrr msr[%d]," + "total available MSR:%d\n", + reg, (uint32_t)((m->mtrr_cap & 0xff) - RESERVED_MTRR)); break; + } } return reg; @@ -253,7 +266,7 @@ static void setup_var_mtrrs(struct vcpu { if ( e820_table[i].addr == 0x100000 ) { - size = e820_table[i].size + 0x100000 + PAGE_SIZE * 3; + size = e820_table[i].size + 0x100000 + PAGE_SIZE * 4; addr = 0; } else _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |