On Mon, Nov 14, 2011 at 1:23 PM, Keir Fraser keir@xen.org wrote:
On 14/11/2011 08:53, "Keir Fraser" keir.xen@gmail.com wrote:
On 14/11/2011 03:36, "Kevin O'Connor" kevin@koconnor.net wrote:
On Xen, the PCI init code isn't used, so assuming this struct doesn't need to live in real "ram", I think it could live just about anywhere past the end of ram. Even with pciinit.c, addresses over 0xfc00000 (with the exception of a few bytes for hpet, apic, ioapic, and bios image) could be used.
I suggest we stick it at FC000000, and shift hvmloader's mem_alloc() starting address up by one page to FC001000. The acpi build code will have to manually mem_hole_populate_ram() that one page before writing to it. This can then be documented in hvmloader/config.h which contains a description of, and defines for, the system memory map. This is by far the easiest solution to this problem; manually crafting an SSDT is a right pain in the arse, whereas this is maybe a 5-line patch.
Like the attached patch (untested), which is a bit larger than anticipated, but actually allows code to be net deleted. :-)
That was quick. I will give it a try shortly.