From: Tamas K Lengyel <tklengyel@sec.in.tum.de>
To: xen-devel@lists.xen.org
Cc: ian.campbell@citrix.com, tim@xen.org, julien.grall@linaro.org,
ian.jackson@eu.citrix.com, stefano.stabellini@citrix.com,
andres@lagarcavilla.org, jbeulich@suse.com,
dgdegra@tycho.nsa.gov, Tamas K Lengyel <tklengyel@sec.in.tum.de>
Subject: [PATCH for-4.5 v7 12/21] xen/mem_event: Abstract architecture specific sanity checks
Date: Wed, 17 Sep 2014 22:51:15 +0200 [thread overview]
Message-ID: <1410987084-11899-13-git-send-email-tklengyel@sec.in.tum.de> (raw)
In-Reply-To: <1410987084-11899-1-git-send-email-tklengyel@sec.in.tum.de>
Move architecture specific sanity checks into its own function
which is called when enabling mem_event.
Signed-off-by: Tamas K Lengyel <tklengyel@sec.in.tum.de>
---
v5: Style fix.
v4: Style fix.
v2: Move sanity check function into architecture specific p2m.h
---
xen/common/mem_event.c | 7 +------
xen/include/asm-x86/p2m.h | 6 ++++++
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/xen/common/mem_event.c b/xen/common/mem_event.c
index 9eca687..4d0a27b 100644
--- a/xen/common/mem_event.c
+++ b/xen/common/mem_event.c
@@ -593,12 +593,7 @@ int mem_event_domctl(struct domain *d, xen_domctl_mem_event_op_t *mec,
case XEN_DOMCTL_MEM_EVENT_OP_ACCESS_ENABLE:
{
rc = -ENODEV;
- /* Only HAP is supported */
- if ( !hap_enabled(d) )
- break;
-
- /* Currently only EPT is supported */
- if ( !cpu_has_vmx )
+ if ( !p2m_mem_event_sanity_check(d) )
break;
rc = mem_event_enable(d, mec, med, _VPF_mem_access,
diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h
index e29743e..11a99c3 100644
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -585,6 +585,12 @@ long p2m_set_mem_access(struct domain *d, unsigned long start_pfn, uint32_t nr,
int p2m_get_mem_access(struct domain *d, unsigned long pfn,
xenmem_access_t *access);
+/* Sanity check for mem_event hardware support */
+static inline bool_t p2m_mem_event_sanity_check(struct domain *d)
+{
+ return hap_enabled(d) && cpu_has_vmx;
+}
+
/* Used by mem_access_check in mem_access common. */
static inline void p2m_gpfn_lock(struct p2m_domain *p2m, unsigned long gpfn)
{
--
2.1.0
next prev parent reply other threads:[~2014-09-17 20:51 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-17 20:51 [PATCH for-4.5 v7 00/21] Mem_event and mem_access for ARM Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 01/21] xen: Relocate mem_access and mem_event into common Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 02/21] xen: Relocate struct npfec definition " Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 03/21] xen: Relocate mem_event_op domctl and access_op memop " Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 04/21] xen: Relocate set_access_required domctl " Tamas K Lengyel
2014-09-18 9:18 ` Jan Beulich
2014-09-18 10:36 ` Tamas K Lengyel
2014-09-18 10:37 ` Tamas K Lengyel
2014-09-18 11:17 ` Tim Deegan
2014-09-18 11:21 ` Tamas K Lengyel
2014-09-18 12:34 ` Jan Beulich
2014-09-18 13:02 ` Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 05/21] xen: Relocate p2m_access_t into common and swap the order Tamas K Lengyel
2014-09-18 9:22 ` Jan Beulich
2014-09-18 10:52 ` Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 06/21] xen: Relocate p2m_mem_access_resume to mem_access common Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 07/21] xen: Relocate p2m_mem_access_check into common and refactor it Tamas K Lengyel
2014-09-18 9:28 ` Jan Beulich
2014-09-18 10:39 ` Tim Deegan
2014-09-18 10:47 ` Tamas K Lengyel
2014-09-18 11:13 ` Tim Deegan
2014-09-22 12:08 ` Ian Campbell
2014-09-17 20:51 ` [PATCH for-4.5 v7 08/21] x86/p2m: Typo fix for spelling ambiguous Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 09/21] x86/p2m: Fix conversion macro of p2m_access to XENMEM_access Tamas K Lengyel
2014-09-18 9:35 ` Jan Beulich
2014-09-18 9:41 ` Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 10/21] xen/mem_event: Clean out superfluous white-spaces Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 11/21] xen/mem_event: Relax error condition on debug builds Tamas K Lengyel
2014-09-17 20:51 ` Tamas K Lengyel [this message]
2014-09-17 20:51 ` [PATCH for-4.5 v7 13/21] xen/mem_access: Abstract architecture specific sanity check Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 14/21] xen/arm: p2m changes for mem_access support Tamas K Lengyel
2014-09-22 12:20 ` Ian Campbell
2014-09-22 17:16 ` Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 15/21] xen/arm: Implement domain_get_maximum_gpfn Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 16/21] xen/arm: Add p2m_set_permission and p2m_shatter_page helpers Tamas K Lengyel
2014-09-22 12:24 ` Ian Campbell
2014-09-22 18:24 ` Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 17/21] xen/arm: Data abort exception (R/W) mem_events Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 18/21] xen/arm: Instruction prefetch abort (X) mem_event handling Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 19/21] xen/arm: Enable the compilation of mem_access and mem_event on ARM Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 20/21] tools/libxc: Allocate magic page for mem access " Tamas K Lengyel
2014-09-17 20:51 ` [PATCH for-4.5 v7 21/21] tools/tests: Enable xen-access " Tamas K Lengyel
2014-09-22 12:29 ` Ian Campbell
2014-09-22 17:11 ` Tamas K Lengyel
2014-09-23 8:37 ` Ian Campbell
2014-09-18 9:21 ` [PATCH for-4.5 v7 00/21] Mem_event and mem_access for ARM Tim Deegan
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=1410987084-11899-13-git-send-email-tklengyel@sec.in.tum.de \
--to=tklengyel@sec.in.tum.de \
--cc=andres@lagarcavilla.org \
--cc=dgdegra@tycho.nsa.gov \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=julien.grall@linaro.org \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xen.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).