From: Daniel Castro <evil.dani@gmail.com>
To: xen-devel@lists.xensource.com
Cc: Daniel Castro <evil.dani@gmail.com>
Subject: [PATCH 05/10] Xen: Support for HVM_op Hypercall
Date: Fri, 19 Aug 2011 01:03:22 +0900 [thread overview]
Message-ID: <1313683408-32306-6-git-send-email-evil.dani@gmail.com> (raw)
In-Reply-To: <1313683408-32306-1-git-send-email-evil.dani@gmail.com>
Added support for hvm_op and hvm_params hypercalls.
Signed-off-by: Daniel Castro <evil.dani@gmail.com>
---
src/xen.h | 31 +++++++++++++++++++++++++++++++
1 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/src/xen.h b/src/xen.h
index b6b72b9..9e218fc 100644
--- a/src/xen.h
+++ b/src/xen.h
@@ -188,6 +188,33 @@ __DEFINE_XEN_GUEST_HANDLE(u32, u32);
#define __HYPERVISOR_xen_version 17
#define __HYPERVISOR_event_channel_op 32
+#define __HYPERVISOR_hvm_op 34
+
+/*
+ * from: xen/include/public/hvm/hvm_op.h
+ */
+
+/*
+ * in an HVM guest you find your xenstore ring and evtchn via hvmparams,
+ * HVM_PARAM_STORE_PFN and HVM_PARAM_STORE_EVTCHN.
+ * it's a hypercall (type) hvmop, subcommand HVMOP_get_param (this is the hypercall actually) with this:
+ * Get/set subcommands: extra argument == pointer to xen_hvm_param struct.
+*/
+#define HVMOP_set_param 0
+#define HVMOP_get_param 1
+
+/*
+ * from: include/public/hvm/params.h
+ */
+
+#define HVM_PARAM_STORE_PFN 1 //pass as index
+#define HVM_PARAM_STORE_EVTCHN 2 //pass as index
+
+struct xen_hvm_param {
+ u32 domid; //IN
+ u32 index; //IN
+ u64 value; //IN/OUT
+};
/******************************************************************************
* event_channel.h
@@ -210,6 +237,10 @@ typedef struct evtchn_send evtchn_send_t;
/*
* Wrappers for hypercalls
*/
+static inline int hypercall_hvm_op(int cmd, void *arg)
+{
+ return _hypercall2(int, hvm_op, cmd, arg);
+}
static inline int hypercall_event_channel_op(int cmd, void *arg)
{
return _hypercall2(int, event_channel_op, cmd, arg);
--
1.7.4.1
next prev parent reply other threads:[~2011-08-18 16:03 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-18 16:03 [PATCH 00/10] Xenstore communication support for Seabios Daniel Castro
2011-08-18 16:03 ` [PATCH 01/10] Xen: Guest Handlers and Copyrights Daniel Castro
2011-08-18 16:03 ` [PATCH 02/10] Move PAGE_SHIFT to memmap.h Daniel Castro
2011-08-24 17:51 ` Konrad Rzeszutek Wilk
2011-08-24 21:08 ` Ian Campbell
2011-08-18 16:03 ` [PATCH 03/10] Xen: Use PAGE_SHIFT as a constant Daniel Castro
2011-08-18 16:03 ` [PATCH 04/10] Xen: Support for interdomain event channel Daniel Castro
2011-08-18 16:03 ` Daniel Castro [this message]
2011-08-18 16:03 ` [PATCH 06/10] Xen: Support for memory_op Hypercall Daniel Castro
2011-08-18 16:03 ` [PATCH 07/10] Xen: Support for sched_op hypercall Daniel Castro
2011-08-18 16:03 ` [PATCH 08/10] Xen: Shared info for CPU yield support and xenbus protocol Daniel Castro
2011-08-18 16:03 ` [PATCH 09/10] Xen: Xenstore communication via xenbus Daniel Castro
2011-08-18 16:03 ` [PATCH 10/10] Xen: Xenstore example -do not apply Daniel Castro
2011-08-18 16:03 ` [PATCH 10/10] Xen: Xenstore example Daniel Castro
2011-08-24 17:56 ` [PATCH 00/10] Xenstore communication support for Seabios Konrad Rzeszutek Wilk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1313683408-32306-6-git-send-email-evil.dani@gmail.com \
--to=evil.dani@gmail.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.