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 v6 00/17] Mem_event and mem_access for ARM
Date: Mon, 15 Sep 2014 16:02:38 +0200 [thread overview]
Message-ID: <1410789775-24197-1-git-send-email-tklengyel@sec.in.tum.de> (raw)
The ARM virtualization extension provides 2-stage paging, a similar mechanisms
to Intel's EPT, which can be used to trace the memory accesses performed by
the guest systems. This series moves the mem_access and mem_event codebase
into Xen common, performs some code cleanup and architecture specific division
of components, then sets up the necessary infrastructure in the ARM code
to deliver the event on R/W/X traps. Finally, we turn on the compilation of
mem_access and mem_event on ARM and perform the necessary changes to the tools side.
This version of the series has been fully tested and is functional on an
Arndale board.
This PATCH series is also available at:
https://github.com/tklengyel/xen/tree/arm_memaccess6
Tamas K Lengyel (17):
xen: Relocate mem_access and mem_event into common.
xen: Relocate p2m_mem_access_resume to mem_access common
xen: Relocate struct npfec definition into common
xen: Relocate mem_event_op domctl and access_op memop into common.
x86/p2m: Typo fix for spelling ambiguous
xen/mem_event: Clean out superfluous white-spaces
xen/mem_event: Relax error condition on debug builds
xen/mem_event: Abstract architecture specific sanity checks
xen/mem_access: Abstract architecture specific sanity check
xen/arm: p2m type definitions and changes
xen/arm: Add set access required domctl
xen/arm: Implement domain_get_maximum_gpfn
xen/arm: Data abort exception (R/W) mem_events.
xen/arm: Instruction prefetch abort (X) mem_event handling
xen/arm: Enable the compilation of mem_access and mem_event on ARM.
tools/libxc: Allocate magic page for mem access on ARM
tools/tests: Enable xen-access on ARM
MAINTAINERS | 6 +
config/arm32.mk | 1 +
config/arm64.mk | 1 +
config/x86_32.mk | 2 +
config/x86_64.mk | 2 +
tools/libxc/xc_dom_arm.c | 6 +-
tools/tests/xen-access/Makefile | 9 +-
tools/tests/xen-access/xen-access.c | 79 ++--
xen/Rules.mk | 1 +
xen/arch/arm/domctl.c | 13 +
xen/arch/arm/mm.c | 2 +-
xen/arch/arm/p2m.c | 546 +++++++++++++++++++++++----
xen/arch/arm/traps.c | 67 +++-
xen/arch/x86/domctl.c | 10 +-
xen/arch/x86/hvm/hvm.c | 63 +---
xen/arch/x86/mm/Makefile | 2 -
xen/arch/x86/mm/hap/nested_ept.c | 6 +-
xen/arch/x86/mm/hap/nested_hap.c | 6 +-
xen/arch/x86/mm/mem_access.c | 133 -------
xen/arch/x86/mm/mem_event.c | 705 -----------------------------------
xen/arch/x86/mm/mem_paging.c | 2 +-
xen/arch/x86/mm/mem_sharing.c | 4 +-
xen/arch/x86/mm/p2m-pod.c | 8 +-
xen/arch/x86/mm/p2m-pt.c | 10 +-
xen/arch/x86/mm/p2m.c | 32 +-
xen/arch/x86/x86_64/compat/mm.c | 8 +-
xen/arch/x86/x86_64/mm.c | 8 +-
xen/common/Makefile | 2 +
xen/common/compat/memory.c | 5 +
xen/common/domain.c | 1 +
xen/common/domctl.c | 7 +
xen/common/mem_access.c | 157 ++++++++
xen/common/mem_event.c | 723 ++++++++++++++++++++++++++++++++++++
xen/common/memory.c | 72 +++-
xen/include/asm-arm/mm.h | 1 -
xen/include/asm-arm/p2m.h | 108 +++++-
xen/include/asm-arm/processor.h | 70 +++-
xen/include/asm-x86/config.h | 6 +
xen/include/asm-x86/hvm/hvm.h | 8 +-
xen/include/asm-x86/mem_access.h | 39 --
xen/include/asm-x86/mem_event.h | 82 ----
xen/include/asm-x86/mm.h | 23 --
xen/include/asm-x86/p2m.h | 18 +-
xen/include/xen/mem_access.h | 65 ++++
xen/include/xen/mem_event.h | 143 +++++++
xen/include/xen/mm.h | 27 ++
xen/include/xsm/dummy.h | 26 +-
xen/include/xsm/xsm.h | 29 +-
xen/xsm/dummy.c | 7 +-
xen/xsm/flask/hooks.c | 33 +-
50 files changed, 2099 insertions(+), 1285 deletions(-)
delete mode 100644 xen/arch/x86/mm/mem_access.c
delete mode 100644 xen/arch/x86/mm/mem_event.c
create mode 100644 xen/common/mem_access.c
create mode 100644 xen/common/mem_event.c
delete mode 100644 xen/include/asm-x86/mem_access.h
delete mode 100644 xen/include/asm-x86/mem_event.h
create mode 100644 xen/include/xen/mem_access.h
create mode 100644 xen/include/xen/mem_event.h
--
2.1.0
next reply other threads:[~2014-09-15 14:02 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-15 14:02 Tamas K Lengyel [this message]
2014-09-15 14:02 ` [PATCH for-4.5 v6 01/17] xen: Relocate mem_access and mem_event into common Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 02/17] xen: Relocate p2m_mem_access_resume to mem_access common Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 03/17] xen: Relocate struct npfec definition into common Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 04/17] xen: Relocate mem_event_op domctl and access_op memop " Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 05/17] x86/p2m: Typo fix for spelling ambiguous Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 06/17] xen/mem_event: Clean out superfluous white-spaces Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 07/17] xen/mem_event: Relax error condition on debug builds Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 08/17] xen/mem_event: Abstract architecture specific sanity checks Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 09/17] xen/mem_access: Abstract architecture specific sanity check Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 10/17] xen/arm: p2m type definitions and changes Tamas K Lengyel
2014-09-15 22:35 ` Ian Campbell
2014-09-16 8:49 ` Tamas K Lengyel
2014-09-16 13:27 ` Ian Campbell
2014-09-16 20:38 ` Julien Grall
2014-09-16 21:52 ` Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 11/17] xen/arm: Add set access required domctl Tamas K Lengyel
2014-09-15 22:37 ` Ian Campbell
2014-09-16 8:37 ` Tamas K Lengyel
2014-09-15 22:38 ` Ian Campbell
2014-09-16 8:33 ` Tamas K Lengyel
2014-09-16 13:25 ` Ian Campbell
2014-09-15 14:02 ` [PATCH for-4.5 v6 12/17] xen/arm: Implement domain_get_maximum_gpfn Tamas K Lengyel
2014-09-15 22:39 ` Ian Campbell
2014-09-16 8:02 ` Tamas K Lengyel
2014-09-16 16:44 ` Ian Campbell
2014-09-16 17:09 ` Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 13/17] xen/arm: Data abort exception (R/W) mem_events Tamas K Lengyel
2014-09-15 22:53 ` Ian Campbell
[not found] ` <CAErYnshu0vJJMxWwu4eo2MZf=q_g2H123p6VUk_4a9f12vYLjg@mail.gmail.com>
2014-09-16 10:07 ` Tamas K Lengyel
2014-09-16 16:50 ` Ian Campbell
2014-09-16 17:08 ` Tamas K Lengyel
2014-09-18 18:54 ` Ian Campbell
2014-09-18 20:09 ` Tamas K Lengyel
2014-09-19 9:05 ` Tamas K Lengyel
2014-09-22 9:11 ` Ian Campbell
2014-09-22 17:18 ` Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 14/17] xen/arm: Instruction prefetch abort (X) mem_event handling Tamas K Lengyel
2014-09-18 18:59 ` Ian Campbell
2014-09-18 20:12 ` Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 15/17] xen/arm: Enable the compilation of mem_access and mem_event on ARM Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 16/17] tools/libxc: Allocate magic page for mem access " Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 17/17] tools/tests: Enable xen-access " Tamas K Lengyel
2014-09-18 19:02 ` Ian Campbell
2014-09-22 18:48 ` Tamas K Lengyel
2014-09-23 12:18 ` Ian Campbell
2014-10-01 17:32 ` Aravindh Puthiyaparambil (aravindp)
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=1410789775-24197-1-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).