[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] catch up new hypercall HYPERVISR_hvm_op for IPF (libxc)
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |