|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 09/14] xen: vmx: Introduce a Hyper call to set subpage
From: Zhang Yi Z <yi.z.zhang@xxxxxxxxxxxxxxx>
The Hypercall is defined as HVMOP_set_subpage
And the Interface's parameters is defined as
struct xen_hvm_subpage {
domid_t domid;
uint32_t access_map;
uint64_t gfn;
}
The user application: xl, or some other security control daemon. will
set the protection bitmap via this hyper call.
Signed-off-by: Zhang Yi Z <yi.z.zhang@xxxxxxxxxxxxxxx>
---
xen/arch/x86/hvm/hvm.c | 8 ++++++++
xen/include/public/hvm/hvm_op.h | 9 +++++++++
2 files changed, 17 insertions(+)
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0b1aba7..54cd916 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4694,6 +4694,14 @@ long do_hvm_op(unsigned long op,
XEN_GUEST_HANDLE_PARAM(void) arg)
rc = do_altp2m_op(arg);
break;
+ case HVMOP_set_subpage: {
+ xen_hvm_subpage_t subpage;
+
+ if ( copy_from_guest(&subpage, arg, 1 ) )
+ return -EFAULT;
+ break;
+ }
+
default:
{
gdprintk(XENLOG_DEBUG, "Bad HVM op %ld.\n", op);
diff --git a/xen/include/public/hvm/hvm_op.h b/xen/include/public/hvm/hvm_op.h
index 0bdafdf..0fa5b88 100644
--- a/xen/include/public/hvm/hvm_op.h
+++ b/xen/include/public/hvm/hvm_op.h
@@ -205,6 +205,15 @@ struct xen_hvm_altp2m_domain_state {
};
typedef struct xen_hvm_altp2m_domain_state xen_hvm_altp2m_domain_state_t;
DEFINE_XEN_GUEST_HANDLE(xen_hvm_altp2m_domain_state_t);
+#define HVMOP_set_subpage 26
+struct xen_hvm_subpage {
+ domid_t domid;
+ uint32_t access_map;
+ uint64_t gfn;
+};
+typedef struct xen_hvm_subpage xen_hvm_subpage_t;
+DEFINE_XEN_GUEST_HANDLE(xen_hvm_subpage_t);
+
struct xen_hvm_altp2m_vcpu_enable_notify {
uint32_t vcpu_id;
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |