Three more cleanups after the unit-related ARM refactoring piled up and
come first in this series. It also fixes (again...) dependencies for
parallel builds. But the actual focus is on something x86-specific:

This introduces a test device and a test inmate for the MMIO instruction
parser we unfortunately need on x86. It identified 4 issues in that
code, fortunately all of them only recently introduced with new
instructions. Besides fixing them, this also completes the handling SIB
bytes and (hopefully) make the parser more palatable for readers.

Future changes to the instruction parser now have to come with test
cases attached. The existing ones may not be complete yet for 64-bit
mode either, needs at least one more careful round of checking - maybe
via gcov as well. We definitely need some 32-bit tests in addition.

Jan

Jan Kiszka (16):
  arm: Remove empty and dead struct pci_cell
  arm/arm64: Use common asm/cell.h
  arm-common: Drop __ASSEMBLY__ guard from asm/cell.h
  build: Cosmetic improvements for COMMON_OBJECTS variables
  build: Add a dummy recipe to ensure evaluation of arch subdir results
  x86: Add MMIO access test device
  inmates: x86: Add test case for MMIO accessing instructions
  x86: mmio: Fix instruction length calculation for write-immediate
  x86: mmio: Fix handling of displacement bytes when writing immediates
  x86: mmio: Reliably identify mov immediate instructions
  x86: mmio: Sign-extend immediate of 64-bit mov
  x86: mmio: Complete SIB + displacement support
  x86: mmio: Refactor code for mod=0 handling
  x86: Split up vcpu_vendor_get_execution_state
  x86: mmio: Fix parsing for mov ax to/from mem in 64-bit mode
  x86: Remove misleading brackets from mmio instruction dump

 configs/x86/tiny-demo.c                            |   3 +-
 hypervisor/Makefile                                |   1 +
 hypervisor/arch/arm-common/Kbuild                  |  10 +-
 .../arch/{arm => arm-common}/include/asm/cell.h    |   8 --
 hypervisor/arch/arm/Kbuild                         |   4 +-
 hypervisor/arch/arm64/Kbuild                       |   4 +-
 hypervisor/arch/arm64/include/asm/cell.h           |  27 ----
 hypervisor/arch/x86/Kbuild                         |  14 +-
 hypervisor/arch/x86/apic.c                         |   5 +-
 hypervisor/arch/x86/include/asm/apic.h             |   3 +-
 hypervisor/arch/x86/include/asm/mmio.h             |   5 +-
 hypervisor/arch/x86/include/asm/vcpu.h             |  13 +-
 hypervisor/arch/x86/mmio.c                         |  73 +++++-----
 hypervisor/arch/x86/svm.c                          |  22 +--
 hypervisor/arch/x86/test-device.c                  | 110 +++++++++++++++
 hypervisor/arch/x86/vcpu.c                         |  20 +--
 hypervisor/arch/x86/vmx.c                          |  21 +--
 include/jailhouse/cell-config.h                    |   1 +
 inmates/Makefile                                   |   7 +-
 inmates/lib/arm-common/Makefile.lib                |  12 +-
 inmates/lib/arm/Makefile                           |   2 +-
 inmates/lib/arm64/Makefile                         |   4 +-
 inmates/tests/arm/Makefile                         |   1 +
 inmates/tests/arm64/Makefile                       |   1 +
 inmates/tests/x86/Makefile                         |  19 +++
 inmates/tests/x86/mmio-access.c                    | 149 +++++++++++++++++++++
 26 files changed, 398 insertions(+), 141 deletions(-)
 rename hypervisor/arch/{arm => arm-common}/include/asm/cell.h (78%)
 delete mode 100644 hypervisor/arch/arm64/include/asm/cell.h
 create mode 100644 hypervisor/arch/x86/test-device.c
 create mode 100644 inmates/tests/arm/Makefile
 create mode 100644 inmates/tests/arm64/Makefile
 create mode 100644 inmates/tests/x86/Makefile
 create mode 100644 inmates/tests/x86/mmio-access.c

-- 
2.13.6

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to