All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/17] Mem_event and mem_access for ARM
@ 2014-09-10 13:28 Tamas K Lengyel
  2014-09-10 13:28 ` [PATCH v5 01/17] xen: Relocate mem_access and mem_event into common Tamas K Lengyel
                   ` (17 more replies)
  0 siblings, 18 replies; 48+ messages in thread
From: Tamas K Lengyel @ 2014-09-10 13:28 UTC (permalink / raw)
  To: xen-devel
  Cc: ian.campbell, tim, julien.grall, ian.jackson, stefano.stabellini,
	andres, jbeulich, dgdegra, Tamas K Lengyel

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_memaccess5

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.
  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.
  xen: Extend getdomaininfo to return the domain's max_gpfn
  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 |  60 ++-
 xen/Rules.mk                        |   1 +
 xen/arch/arm/domctl.c               |  13 +
 xen/arch/arm/mm.c                   |   2 +-
 xen/arch/arm/p2m.c                  | 466 ++++++++++++++++++++---
 xen/arch/arm/traps.c                |  73 +++-
 xen/arch/x86/domctl.c               |  10 +-
 xen/arch/x86/hvm/hvm.c              |  61 +--
 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                 |   8 +
 xen/common/mem_access.c             | 157 ++++++++
 xen/common/mem_event.c              | 723 ++++++++++++++++++++++++++++++++++++
 xen/common/memory.c                 |  68 ++++
 xen/include/asm-arm/mm.h            |   1 -
 xen/include/asm-arm/p2m.h           | 109 +++++-
 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           |  14 +-
 xen/include/public/domctl.h         |   1 +
 xen/include/xen/mem_access.h        |  63 ++++
 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 +-
 51 files changed, 2031 insertions(+), 1251 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

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2014-09-16  8:00 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-10 13:28 [PATCH v5 00/17] Mem_event and mem_access for ARM Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 01/17] xen: Relocate mem_access and mem_event into common Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 02/17] xen: Relocate p2m_mem_access_resume to mem_access common Tamas K Lengyel
2014-09-11 20:16   ` Julien Grall
2014-09-12  8:56     ` Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 03/17] xen: Relocate struct npfec definition into common Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 04/17] xen: Relocate mem_event_op domctl and access_op memop " Tamas K Lengyel
2014-09-10 13:44   ` Jan Beulich
2014-09-10 13:28 ` [PATCH v5 05/17] xen/mem_event: Clean out superfluous white-spaces Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 06/17] xen/mem_event: Relax error condition on debug builds Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 07/17] xen/mem_event: Abstract architecture specific sanity checks Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 08/17] xen/mem_access: Abstract architecture specific sanity check Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 09/17] xen/arm: p2m type definitions and changes Tamas K Lengyel
2014-09-11 20:25   ` Julien Grall
2014-09-12  8:15     ` Tamas K Lengyel
2014-09-12 19:23       ` Julien Grall
2014-09-12 20:25         ` Tamas K Lengyel
2014-09-11 20:49   ` Julien Grall
2014-09-12  8:31     ` Tamas K Lengyel
2014-09-12 19:41       ` Julien Grall
2014-09-12 20:20         ` Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 10/17] xen/arm: Add set access required domctl Tamas K Lengyel
2014-09-11 20:26   ` Julien Grall
2014-09-10 13:28 ` [PATCH v5 11/17] xen/arm: Implement domain_get_maximum_gpfn Tamas K Lengyel
2014-09-11 20:28   ` Julien Grall
2014-09-12  8:58     ` Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 12/17] xen/arm: Data abort exception (R/W) mem_events Tamas K Lengyel
2014-09-11 21:19   ` Julien Grall
2014-09-12  8:46     ` Tamas K Lengyel
2014-09-12 20:35       ` Julien Grall
2014-09-12 20:48         ` Tamas K Lengyel
2014-09-12 21:04           ` Julien Grall
2014-09-10 13:28 ` [PATCH v5 13/17] xen/arm: Instruction prefetch abort (X) mem_event handling Tamas K Lengyel
2014-09-11 21:23   ` Julien Grall
2014-09-12  8:34     ` Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 14/17] xen/arm: Enable the compilation of mem_access and mem_event on ARM Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 15/17] xen: Extend getdomaininfo to return the domain's max_gpfn Tamas K Lengyel
2014-09-10 13:48   ` Jan Beulich
2014-09-10 13:55     ` Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 16/17] tools/libxc: Allocate magic page for mem access on ARM Tamas K Lengyel
2014-09-10 13:28 ` [PATCH v5 17/17] tools/tests: Enable xen-access " Tamas K Lengyel
2014-09-11 21:29   ` Julien Grall
2014-09-12  8:50     ` Tamas K Lengyel
2014-09-12  9:01     ` Tamas K Lengyel
2014-09-10 13:51 ` [PATCH v5 00/17] Mem_event and mem_access for ARM Jan Beulich
2014-09-10 14:01   ` Tamas K Lengyel
2014-09-15 22:26     ` Ian Campbell
2014-09-16  8:00       ` Jan Beulich

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.