|
|
|
|
|
|
|
|
|
|
xen-changelog
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [IA64] fix VTI boot,
Xen patchbot-unstable <=
|
|
|
|
|