|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [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.
-Xin
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|