Hi Paolo, This pull request is a repost of an older request, plus it contains Eric's new PMU and ITS tests. Thanks, drew The following changes since commit ce27fa2c7cd4d07859a9a2e81c7ff641897818d1: x86: vmx: skip atomic_switch_overflow_msrs_test on bare metal (2020-03-31 13:01:41 -0400) are available in the Git repository at: https://github.com/rhdrjones/kvm-unit-tests arm/queue for you to fetch changes up to de582149c5be94a1ff7d3d8ee3526501b26c7f03: arm/arm64: ITS: pending table migration test (2020-04-04 10:03:44 +0200) ---------------------------------------------------------------- Alexandru Elisei (10): Makefile: Use no-stack-protector compiler options arm/arm64: psci: Don't run C code without stack or vectors arm64: timer: Add ISB after register writes arm64: timer: Add ISB before reading the counter value arm64: timer: Make irq_received volatile arm64: timer: EOIR the interrupt after masking the timer arm64: timer: Wait for the GIC to sample timer interrupt state arm64: timer: Check the timer interrupt state arm64: timer: Test behavior when timer disabled or masked arm/arm64: Perform dcache clean + invalidate after turning MMU off Andrew Jones (2): arm64: timer: Speed up gic-timer-state check arm64: Provide read/write_sysreg_s Eric Auger (24): arm: pmu: Let pmu tests take a sub-test parameter arm: pmu: Don't check PMCR.IMP anymore arm: pmu: Add a pmu struct arm: pmu: Introduce defines for PMU versions arm: pmu: Check Required Event Support arm: pmu: Basic event counter Tests arm: pmu: Test SW_INCR event count arm: pmu: Test chained counters arm: pmu: test 32-bit <-> 64-bit transitions arm: gic: Introduce gic_irq_set_clr_enable() helper arm: pmu: Test overflow interrupts libcflat: Add other size defines page_alloc: Introduce get_order() arm/arm64: gic: Introduce setup_irq() helper arm/arm64: gicv3: Add some re-distributor defines arm/arm64: gicv3: Set the LPI config and pending tables arm/arm64: ITS: Introspection tests arm/arm64: ITS: its_enable_defaults arm/arm64: ITS: Device and collection Initialization arm/arm64: ITS: Commands arm/arm64: ITS: INT functional tests arm/run: Allow Migration tests arm/arm64: ITS: migration tests arm/arm64: ITS: pending table migration test Zenghui Yu (3): arm/arm64: gic: Move gic_state enumeration to asm/gic.h arm64: timer: Use the proper RDist register name in GICv3 arm64: timer: Use existing helpers to access counter/timers Makefile | 4 +- arm/Makefile.arm64 | 1 + arm/Makefile.common | 2 +- arm/cstart.S | 22 ++ arm/cstart64.S | 23 ++ arm/gic.c | 482 ++++++++++++++++++++++++-- arm/pmu.c | 831 +++++++++++++++++++++++++++++++++++++++++++-- arm/psci.c | 14 +- arm/run | 2 +- arm/timer.c | 82 +++-- arm/unittests.cfg | 101 +++++- errata.txt | 1 + lib/alloc_page.c | 7 +- lib/alloc_page.h | 1 + lib/arm/asm/gic-v3-its.h | 27 ++ lib/arm/asm/gic-v3.h | 33 ++ lib/arm/asm/gic.h | 13 + lib/arm/asm/processor.h | 15 + lib/arm/gic-v3.c | 78 +++++ lib/arm/gic.c | 116 ++++++- lib/arm/io.c | 28 ++ lib/arm/setup.c | 8 + lib/arm64/asm/gic-v3-its.h | 174 ++++++++++ lib/arm64/asm/processor.h | 12 + lib/arm64/asm/sysreg.h | 17 + lib/arm64/gic-v3-its-cmd.c | 459 +++++++++++++++++++++++++ lib/arm64/gic-v3-its.c | 171 ++++++++++ lib/bitops.h | 3 + lib/libcflat.h | 3 + 29 files changed, 2635 insertions(+), 95 deletions(-) create mode 100644 lib/arm/asm/gic-v3-its.h create mode 100644 lib/arm64/asm/gic-v3-its.h create mode 100644 lib/arm64/gic-v3-its-cmd.c create mode 100644 lib/arm64/gic-v3-its.c -- 2.25.1