kvmarm.lists.cs.columbia.edu archive mirror
 help / color / mirror / Atom feed
* [kvm-unit-tests PATCH 00/16] arm/arm64: Add ITS tests
@ 2019-12-16 14:02 Eric Auger
  2019-12-16 14:02 ` [kvm-unit-tests PATCH 01/16] libcflat: Add other size defines Eric Auger
                   ` (15 more replies)
  0 siblings, 16 replies; 28+ messages in thread
From: Eric Auger @ 2019-12-16 14:02 UTC (permalink / raw)
  To: eric.auger.pro, eric.auger, maz, kvmarm, kvm, qemu-devel, qemu-arm
  Cc: andre.przywara, thuth

This series is a revival of an RFC series sent in Dec 2016 [1].
Given the amount of code and the lack of traction at that time,
I haven't respinned until now. However a recent bug found around
the ITS migration convinced me that this work may deserve to be
respinned and enhanced.

Tests exercise main ITS commands and also test migration.
With the migration framework, we are able to trigger the
migration from guest and that is very practical actually.

What is particular with the ITS programming is that most of
the commands are passed through queues and there is real error
handling. Invalid commands are just ignored and that is not
really tester friendly.

This series includes Andre's patch: "arm: gic: Provide
per-IRQ helper functions" [2]

The series can be fount at:
https://github.com/eauger/kut/tree/its-v1

Best Regards

Eric

[1] [kvm-unit-tests RFC 00/15] arm/arm64: add ITS framework
    https://lists.gnu.org/archive/html/qemu-devel/2016-12/msg00575.html

[2] [kvm-unit-tests PATCH 00/17] arm: gic: Test SPIs and interrupt groups
    https://patchwork.kernel.org/cover/11234975/

For ITS migration testing use:
./run_tests.sh -g migration (blocks on TCG but I think it is beyond the
scope of that series)

For other ITS tests:
./run_tests.sh -g its

non migration tests can be launched invidually. For instance:
./arm-run arm/gic.flat -smp 8 -append 'its-trigger'

Andre Przywara (1):
  arm: gic: Provide per-IRQ helper functions

Eric Auger (15):
  libcflat: Add other size defines
  arm/arm64: gic: Introduce setup_irq() helper
  arm/arm64: gicv3: Add some re-distributor defines
  arm/arm64: ITS: Introspection tests
  arm/arm64: ITS: Test BASER
  arm/arm64: ITS: Set the LPI config and pending tables
  arm/arm64: ITS: Init the command queue
  arm/arm64: ITS: Enable/Disable LPIs at re-distributor level
  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

 arm/Makefile.common        |   3 +-
 arm/gic.c                  | 447 +++++++++++++++++++++++++++++++++--
 arm/run                    |   2 +-
 arm/unittests.cfg          |  39 ++++
 lib/arm/asm/gic-v3-its.h   | 217 +++++++++++++++++
 lib/arm/asm/gic-v3.h       |  87 +++++++
 lib/arm/asm/gic.h          |  13 ++
 lib/arm/gic-v3-its-cmd.c   | 462 +++++++++++++++++++++++++++++++++++++
 lib/arm/gic-v3-its.c       | 354 ++++++++++++++++++++++++++++
 lib/arm/gic.c              | 132 ++++++++++-
 lib/arm/io.c               |  13 ++
 lib/arm64/asm/gic-v3-its.h |   1 +
 lib/libcflat.h             |   3 +
 13 files changed, 1745 insertions(+), 28 deletions(-)
 create mode 100644 lib/arm/asm/gic-v3-its.h
 create mode 100644 lib/arm/gic-v3-its-cmd.c
 create mode 100644 lib/arm/gic-v3-its.c
 create mode 100644 lib/arm64/asm/gic-v3-its.h

-- 
2.20.1

_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

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

end of thread, other threads:[~2020-01-10 14:32 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-16 14:02 [kvm-unit-tests PATCH 00/16] arm/arm64: Add ITS tests Eric Auger
2019-12-16 14:02 ` [kvm-unit-tests PATCH 01/16] libcflat: Add other size defines Eric Auger
2020-01-07  7:35   ` Thomas Huth
2019-12-16 14:02 ` [kvm-unit-tests PATCH 02/16] arm: gic: Provide per-IRQ helper functions Eric Auger
2019-12-16 14:02 ` [kvm-unit-tests PATCH 03/16] arm/arm64: gic: Introduce setup_irq() helper Eric Auger
2019-12-16 14:02 ` [kvm-unit-tests PATCH 04/16] arm/arm64: gicv3: Add some re-distributor defines Eric Auger
2019-12-16 14:02 ` [kvm-unit-tests PATCH 05/16] arm/arm64: ITS: Introspection tests Eric Auger
2019-12-18  3:46   ` Zenghui Yu
2019-12-18  8:34     ` Auger Eric
2019-12-20  7:34       ` Zenghui Yu
2019-12-16 14:02 ` [kvm-unit-tests PATCH 06/16] arm/arm64: ITS: Test BASER Eric Auger
2019-12-20  6:59   ` Zenghui Yu
2019-12-16 14:02 ` [kvm-unit-tests PATCH 07/16] arm/arm64: ITS: Set the LPI config and pending tables Eric Auger
2019-12-16 14:02 ` [kvm-unit-tests PATCH 08/16] arm/arm64: ITS: Init the command queue Eric Auger
2019-12-20  7:10   ` Zenghui Yu
2020-01-10 14:19     ` Auger Eric
2019-12-16 14:02 ` [kvm-unit-tests PATCH 09/16] arm/arm64: ITS: Enable/Disable LPIs at re-distributor level Eric Auger
2019-12-16 14:02 ` [kvm-unit-tests PATCH 10/16] arm/arm64: ITS: its_enable_defaults Eric Auger
2019-12-16 14:02 ` [kvm-unit-tests PATCH 11/16] arm/arm64: ITS: Device and collection Initialization Eric Auger
2019-12-20  7:25   ` Zenghui Yu
2020-01-10 14:32     ` Auger Eric
2019-12-16 14:02 ` [kvm-unit-tests PATCH 12/16] arm/arm64: ITS: commands Eric Auger
2019-12-20  7:29   ` Zenghui Yu
2019-12-16 14:02 ` [kvm-unit-tests PATCH 13/16] arm/arm64: ITS: INT functional tests Eric Auger
2019-12-16 14:02 ` [kvm-unit-tests PATCH 14/16] arm/run: Allow Migration tests Eric Auger
2020-01-07  7:39   ` Thomas Huth
2019-12-16 14:02 ` [kvm-unit-tests PATCH 15/16] arm/arm64: ITS: migration tests Eric Auger
2019-12-16 14:02 ` [kvm-unit-tests PATCH 16/16] arm/arm64: ITS: pending table migration test Eric Auger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).