# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 111936ef42911810bc4e9f474130990ad2b6f192
# Parent d735526b02ec060cbe98ef93119f60898c174e7b
[IA64] catch up new hypercall HYPERVISR_hvm_op for IPF (libxc)
append xc_set_hvm_param for IPF
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@xxxxxxxxxxxxxx>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@xxxxxxxxxxxxxx>
---
tools/libxc/ia64/xc_ia64_hvm_build.c | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+)
diff -r d735526b02ec -r 111936ef4291 tools/libxc/ia64/xc_ia64_hvm_build.c
--- a/tools/libxc/ia64/xc_ia64_hvm_build.c Wed Aug 09 09:59:52 2006 -0600
+++ b/tools/libxc/ia64/xc_ia64_hvm_build.c Wed Aug 09 10:04:43 2006 -0600
@@ -6,6 +6,7 @@
#include <zlib.h>
#include "xen/arch-ia64.h"
#include <xen/hvm/ioreq.h>
+#include <xen/hvm/params.h>
static int
xc_ia64_copy_to_domain_pages(int xc_handle, uint32_t domid, void* src_page,
@@ -40,6 +41,31 @@ error_out:
return -1;
}
+static void
+xc_set_hvm_param(int handle, domid_t dom, int param, unsigned long value)
+{
+ DECLARE_HYPERCALL;
+ xen_hvm_param_t arg;
+ int rc;
+
+ hypercall.op = __HYPERVISOR_hvm_op;
+ hypercall.arg[0] = HVMOP_set_param;
+ hypercall.arg[1] = (unsigned long)&arg;
+
+ arg.domid = dom;
+ arg.index = param;
+ arg.value = value;
+
+ if (mlock(&arg, sizeof(arg)) != 0) {
+ PERROR("Could not lock memory for set parameter");
+ return;
+ }
+
+ rc = do_xen_hypercall(handle, &hypercall);
+ safe_munlock(&arg, sizeof(arg));
+ if (rc < 0)
+ PERROR("set HVM parameter failed (%d)", rc);
+}
#define HOB_SIGNATURE 0x3436474953424f48 // "HOBSIG64"
#define GFW_HOB_START ((4UL<<30)-(14UL<<20)) // 4G - 14M
@@ -568,6 +594,10 @@ setup_guest(int xc_handle, uint32_t dom,
goto error_out;
}
+ xc_set_hvm_param(xc_handle, dom,
+ HVM_PARAM_STORE_PFN, STORE_PAGE_START>>PAGE_SHIFT);
+ xc_set_hvm_param(xc_handle, dom, HVM_PARAM_STORE_EVTCHN, store_evtchn);
+
*store_mfn = page_array[1];
sp = (shared_iopage_t *)xc_map_foreign_range(xc_handle, dom,
PAGE_SIZE, PROT_READ|PROT_WRITE, page_array[0]);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|