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.