[PATCH v7 00/10] Implement support for external IPT monitoring

Andrew Cooper posted 10 patches 3 years, 2 months ago
Failed in applying to current master (apply log)
docs/man/xl.cfg.5.pod.in                    |   9 ++
tools/golang/xenlight/helpers.gen.go        |   4 +
tools/golang/xenlight/types.gen.go          |   2 +
tools/include/libxl.h                       |  14 ++
tools/include/xenctrl.h                     |  73 +++++++++++
tools/libs/ctrl/Makefile                    |   1 +
tools/libs/ctrl/xc_vmtrace.c                | 128 ++++++++++++++++++
tools/libs/light/libxl.c                    |   2 +
tools/libs/light/libxl_cpuid.c              |   1 +
tools/libs/light/libxl_create.c             |   2 +
tools/libs/light/libxl_types.idl            |   5 +
tools/misc/.gitignore                       |   1 +
tools/misc/Makefile                         |   4 +
tools/misc/xen-cpuid.c                      |   2 +-
tools/misc/xen-vmtrace.c                    | 154 ++++++++++++++++++++++
tools/xl/xl_info.c                          |   5 +-
tools/xl/xl_parse.c                         |   4 +
xen/arch/x86/domain.c                       |  23 ++++
xen/arch/x86/domctl.c                       |  55 ++++++++
xen/arch/x86/hvm/vmx/vmcs.c                 |  15 ++-
xen/arch/x86/hvm/vmx/vmx.c                  | 196 +++++++++++++++++++++++++++-
xen/arch/x86/mm/mem_sharing.c               |   3 +
xen/arch/x86/vm_event.c                     |   3 +
xen/common/domain.c                         |  58 ++++++++
xen/common/memory.c                         |  27 ++++
xen/common/sysctl.c                         |   2 +
xen/include/asm-x86/cpufeature.h            |   1 +
xen/include/asm-x86/hvm/hvm.h               |  72 ++++++++++
xen/include/asm-x86/hvm/vmx/vmcs.h          |   4 +
xen/include/asm-x86/msr.h                   |  32 +++++
xen/include/public/arch-x86/cpufeatureset.h |   1 +
xen/include/public/domctl.h                 |  36 +++++
xen/include/public/memory.h                 |   1 +
xen/include/public/sysctl.h                 |   1 +
xen/include/public/vm_event.h               |   6 +
xen/include/xen/domain.h                    |   2 +
xen/include/xen/sched.h                     |   7 +
xen/xsm/flask/hooks.c                       |   1 +
38 files changed, 952 insertions(+), 5 deletions(-)
create mode 100644 tools/libs/ctrl/xc_vmtrace.c
create mode 100644 tools/misc/xen-vmtrace.c
[PATCH v7 00/10] Implement support for external IPT monitoring
Posted by Andrew Cooper 3 years, 2 months ago
This is the next iteration of the external IPT monitoring series, reworked
massively from v6 to fix a whole slew of bugs with the XENMEM_acquire_resource
interface.  It also includes some additional bugfixes to make traced VM's work
when forked.

A branch with all prerequisites is available at:
  https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/xen-ipt

This version has undergone basic testing from Michał, Tamas and myself, and
seems to work for the intended usecases.

Andrew Cooper (1):
  xen+tools: Introduce XEN_SYSCTL_PHYSCAP_vmtrace

Michał Leszczyński (7):
  xen/domain: Add vmtrace_frames domain creation parameter
  tools/[lib]xl: Add vmtrace_buf_size parameter
  xen/memory: Add a vmtrace_buf resource type
  x86/vmx: Add Intel Processor Trace support
  xen/domctl: Add XEN_DOMCTL_vmtrace_op
  tools/libxc: Add xc_vmtrace_* functions
  tools/misc: Add xen-vmtrace tool

Tamas K Lengyel (2):
  xen/vmtrace: support for VM forks
  x86/vm_event: Carry Processor Trace buffer offset in vm_event

 docs/man/xl.cfg.5.pod.in                    |   9 ++
 tools/golang/xenlight/helpers.gen.go        |   4 +
 tools/golang/xenlight/types.gen.go          |   2 +
 tools/include/libxl.h                       |  14 ++
 tools/include/xenctrl.h                     |  73 +++++++++++
 tools/libs/ctrl/Makefile                    |   1 +
 tools/libs/ctrl/xc_vmtrace.c                | 128 ++++++++++++++++++
 tools/libs/light/libxl.c                    |   2 +
 tools/libs/light/libxl_cpuid.c              |   1 +
 tools/libs/light/libxl_create.c             |   2 +
 tools/libs/light/libxl_types.idl            |   5 +
 tools/misc/.gitignore                       |   1 +
 tools/misc/Makefile                         |   4 +
 tools/misc/xen-cpuid.c                      |   2 +-
 tools/misc/xen-vmtrace.c                    | 154 ++++++++++++++++++++++
 tools/xl/xl_info.c                          |   5 +-
 tools/xl/xl_parse.c                         |   4 +
 xen/arch/x86/domain.c                       |  23 ++++
 xen/arch/x86/domctl.c                       |  55 ++++++++
 xen/arch/x86/hvm/vmx/vmcs.c                 |  15 ++-
 xen/arch/x86/hvm/vmx/vmx.c                  | 196 +++++++++++++++++++++++++++-
 xen/arch/x86/mm/mem_sharing.c               |   3 +
 xen/arch/x86/vm_event.c                     |   3 +
 xen/common/domain.c                         |  58 ++++++++
 xen/common/memory.c                         |  27 ++++
 xen/common/sysctl.c                         |   2 +
 xen/include/asm-x86/cpufeature.h            |   1 +
 xen/include/asm-x86/hvm/hvm.h               |  72 ++++++++++
 xen/include/asm-x86/hvm/vmx/vmcs.h          |   4 +
 xen/include/asm-x86/msr.h                   |  32 +++++
 xen/include/public/arch-x86/cpufeatureset.h |   1 +
 xen/include/public/domctl.h                 |  36 +++++
 xen/include/public/memory.h                 |   1 +
 xen/include/public/sysctl.h                 |   1 +
 xen/include/public/vm_event.h               |   6 +
 xen/include/xen/domain.h                    |   2 +
 xen/include/xen/sched.h                     |   7 +
 xen/xsm/flask/hooks.c                       |   1 +
 38 files changed, 952 insertions(+), 5 deletions(-)
 create mode 100644 tools/libs/ctrl/xc_vmtrace.c
 create mode 100644 tools/misc/xen-vmtrace.c

-- 
2.11.0