This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


RE: [Xen-devel] [PATCH] support HVM guests with more than 3.75G memory

To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH] support HVM guests with more than 3.75G memory
From: "Li, Xin B" <xin.b.li@xxxxxxxxx>
Date: Wed, 16 Aug 2006 10:45:47 +0800
Delivery-date: Tue, 15 Aug 2006 19:46:40 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Aca8YoRr1I39yCGgQUOLgLDtGAbNfwEG4A5wAACzqkgAENXVoA==
Thread-topic: [Xen-devel] [PATCH] support HVM guests with more than 3.75G memory
 >My previous response:

Oops, I missed your previous response :-(

>Hi Xin,
>This patch seems to mess with the e820 logic quite a bit, in particular
>adding some extra entries. What's going on there -- is it all 
>just a 'clean
>up' or are there real changes going on in that section of the patch?

It's "real changes" and the issue here is, in current HVM guest memory
layout, we don't reserve any guest physical address space for PCI MMIO
uses. On the other hand, qemu-dm PCI BIOS allocates PCI MMIO from
0xF0000000, that's meaning the last 256M physical address space (below
4G) can not be regarded as normal RAM address space.  But current e820
table is blind to this :-(, and we already encountered a bug that
windows 2003 VMX guest only saw 1G RAM while we gave 5G RAM to it.

On a real platform with 8G RAM, it's e820 table is like this:
(XEN)  0000000000000000 - 000000000009dc00 (usable) 
(XEN)  000000000009dc00 - 00000000000a0000 (reserved) 
(XEN)  00000000000e4000 - 0000000000100000 (reserved) 
(XEN)  0000000000100000 - 00000000bff60000 (usable) 
(XEN)  00000000bff60000 - 00000000bff69000 (ACPI data) 
(XEN)  00000000bff69000 - 00000000bff80000 (ACPI NVS) 
(XEN)  00000000bff80000 - 00000000c0000000 (reserved) 
(XEN)  00000000e0000000 - 00000000f0000000 (reserved)
(XEN)  00000000fec00000 - 00000000fec10000 (reserved) 
(XEN)  00000000fee00000 - 00000000fee01000 (reserved)
(XEN)  00000000ff000000 - 0000000100000000 (reserved) 
(XEN)  0000000100000000 - 0000000240000000 (usable)
8G is split into 2 parts: 3G and 5G:
1) 0 - 3G
2) 4G - 9G

So our HVM e820 table should also comply to this, and the 256M RAM that
falls into that range should be moved to 4G above, that's the "real
changes" in my patch.


Xen-devel mailing list