[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] fix VTI boot
# HG changeset patch # User awilliam@xxxxxxxxxxx # Node ID 6f3b4d6b04f5a81f72acbbdb3c7c968e5838d929 # Parent 0361efd32d4dadc346f8a40accfbeb3e609ef376 [IA64] fix VTI boot workaroud patch for memory initial interface Signed-off-by: zhang xiantao <xiantao.zhang@xxxxxxxxx> Signed-off-by: Zhang Xin <xing.z.zhang@xxxxxxxxx> --- tools/libxc/ia64/xc_ia64_hvm_build.c | 16 +++++++++++++++- 1 files changed, 15 insertions(+), 1 deletion(-) diff -r 0361efd32d4d -r 6f3b4d6b04f5 tools/libxc/ia64/xc_ia64_hvm_build.c --- a/tools/libxc/ia64/xc_ia64_hvm_build.c Fri Nov 10 11:14:47 2006 -0700 +++ b/tools/libxc/ia64/xc_ia64_hvm_build.c Fri Nov 10 11:14:51 2006 -0700 @@ -554,12 +554,26 @@ setup_guest(int xc_handle, uint32_t dom, unsigned long page_array[3]; shared_iopage_t *sp; void *ioreq_buffer_page; - unsigned long dom_memsize = (memsize << 20); + // memsize = required memsize(in configure file) + 16M + // dom_memsize will pass to xc_ia64_build_hob(), so must be subbed 16M + unsigned long dom_memsize = ((memsize - 16) << 20); + unsigned long nr_pages = (unsigned long)memsize << (20 - PAGE_SHIFT); + int rc; DECLARE_DOMCTL; + + // ROM size for guest firmware, ioreq page and xenstore page + nr_pages += 3; if ((image_size > 12 * MEM_M) || (image_size & (PAGE_SIZE - 1))) { PERROR("Guest firmware size is incorrect [%ld]?", image_size); return -1; + } + + rc = xc_domain_memory_increase_reservation(xc_handle, dom, nr_pages, + 0, 0, NULL); + if (rc != 0) { + PERROR("Could not allocate memory for HVM guest.\n"); + goto error_out; } /* This will creates the physmap. */ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |