From: Eric Auger <eric.auger@redhat.com>
To: eric.auger.pro@gmail.com, eric.auger@redhat.com, maz@kernel.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
qemu-devel@nongnu.org, qemu-arm@nongnu.org
Cc: drjones@redhat.com, andre.przywara@arm.com,
peter.maydell@linaro.org, yuzenghui@huawei.com,
alexandru.elisei@arm.com, thuth@redhat.com
Subject: [kvm-unit-tests PATCH v5 00/13] arm/arm64: Add ITS tests
Date: Tue, 10 Mar 2020 15:53:57 +0100 [thread overview]
Message-ID: <20200310145410.26308-1-eric.auger@redhat.com> (raw)
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 related
to 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.
The series can be fount at:
https://github.com/eauger/kut/tree/its-v5
Best Regards
Eric
History:
v4 -> v5:
- 32b stubs moved back to arm/gic.c
- some changes reordering
- minor style issues
v3 -> v4:
- addressed comments from Drew and Zenghui
- added "page_alloc: Introduce get_order()"
- removed "arm: gic: Provide per-IRQ helper functions"
- ITS files moved to lib64
- and many more, see individual logs
v2 -> v3:
- fix 32b compilation
- take into account Drew's comments (see individual diff logs)
v1 -> v2:
- took into account Zenghui's comments
- collect R-b's from Thomas
References:
[1] [kvm-unit-tests RFC 00/15] arm/arm64: add ITS framework
https://lists.gnu.org/archive/html/qemu-devel/2016-12/msg00575.html
Execution:
x For other ITS tests:
./run_tests.sh -g its
x non migration tests can be launched invidually. For instance:
./arm-run arm/gic.flat -smp 8 -append 'its-trigger'
Eric Auger (13):
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
arm/Makefile.arm64 | 1 +
arm/Makefile.common | 2 +-
arm/gic.c | 477 +++++++++++++++++++++++++++++++++++--
arm/run | 2 +-
arm/unittests.cfg | 38 +++
lib/alloc_page.c | 7 +-
lib/alloc_page.h | 1 +
lib/arm/asm/gic-v3-its.h | 22 ++
lib/arm/asm/gic-v3.h | 34 +++
lib/arm/asm/processor.h | 2 +
lib/arm/gic-v3.c | 78 ++++++
lib/arm/gic.c | 34 ++-
lib/arm/io.c | 28 +++
lib/arm64/asm/gic-v3-its.h | 172 +++++++++++++
lib/arm64/gic-v3-its-cmd.c | 463 +++++++++++++++++++++++++++++++++++
lib/arm64/gic-v3-its.c | 172 +++++++++++++
lib/libcflat.h | 3 +
17 files changed, 1507 insertions(+), 29 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.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Eric Auger <eric.auger@redhat.com>
To: eric.auger.pro@gmail.com, eric.auger@redhat.com, maz@kernel.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
qemu-devel@nongnu.org, qemu-arm@nongnu.org
Cc: peter.maydell@linaro.org, drjones@redhat.com,
andre.przywara@arm.com, thuth@redhat.com, yuzenghui@huawei.com,
alexandru.elisei@arm.com
Subject: [kvm-unit-tests PATCH v5 00/13] arm/arm64: Add ITS tests
Date: Tue, 10 Mar 2020 15:53:57 +0100 [thread overview]
Message-ID: <20200310145410.26308-1-eric.auger@redhat.com> (raw)
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 related
to 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.
The series can be fount at:
https://github.com/eauger/kut/tree/its-v5
Best Regards
Eric
History:
v4 -> v5:
- 32b stubs moved back to arm/gic.c
- some changes reordering
- minor style issues
v3 -> v4:
- addressed comments from Drew and Zenghui
- added "page_alloc: Introduce get_order()"
- removed "arm: gic: Provide per-IRQ helper functions"
- ITS files moved to lib64
- and many more, see individual logs
v2 -> v3:
- fix 32b compilation
- take into account Drew's comments (see individual diff logs)
v1 -> v2:
- took into account Zenghui's comments
- collect R-b's from Thomas
References:
[1] [kvm-unit-tests RFC 00/15] arm/arm64: add ITS framework
https://lists.gnu.org/archive/html/qemu-devel/2016-12/msg00575.html
Execution:
x For other ITS tests:
./run_tests.sh -g its
x non migration tests can be launched invidually. For instance:
./arm-run arm/gic.flat -smp 8 -append 'its-trigger'
Eric Auger (13):
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
arm/Makefile.arm64 | 1 +
arm/Makefile.common | 2 +-
arm/gic.c | 477 +++++++++++++++++++++++++++++++++++--
arm/run | 2 +-
arm/unittests.cfg | 38 +++
lib/alloc_page.c | 7 +-
lib/alloc_page.h | 1 +
lib/arm/asm/gic-v3-its.h | 22 ++
lib/arm/asm/gic-v3.h | 34 +++
lib/arm/asm/processor.h | 2 +
lib/arm/gic-v3.c | 78 ++++++
lib/arm/gic.c | 34 ++-
lib/arm/io.c | 28 +++
lib/arm64/asm/gic-v3-its.h | 172 +++++++++++++
lib/arm64/gic-v3-its-cmd.c | 463 +++++++++++++++++++++++++++++++++++
lib/arm64/gic-v3-its.c | 172 +++++++++++++
lib/libcflat.h | 3 +
17 files changed, 1507 insertions(+), 29 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.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Eric Auger <eric.auger@redhat.com>
To: eric.auger.pro@gmail.com, eric.auger@redhat.com, maz@kernel.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
qemu-devel@nongnu.org, qemu-arm@nongnu.org
Cc: andre.przywara@arm.com, thuth@redhat.com
Subject: [kvm-unit-tests PATCH v5 00/13] arm/arm64: Add ITS tests
Date: Tue, 10 Mar 2020 15:53:57 +0100 [thread overview]
Message-ID: <20200310145410.26308-1-eric.auger@redhat.com> (raw)
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 related
to 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.
The series can be fount at:
https://github.com/eauger/kut/tree/its-v5
Best Regards
Eric
History:
v4 -> v5:
- 32b stubs moved back to arm/gic.c
- some changes reordering
- minor style issues
v3 -> v4:
- addressed comments from Drew and Zenghui
- added "page_alloc: Introduce get_order()"
- removed "arm: gic: Provide per-IRQ helper functions"
- ITS files moved to lib64
- and many more, see individual logs
v2 -> v3:
- fix 32b compilation
- take into account Drew's comments (see individual diff logs)
v1 -> v2:
- took into account Zenghui's comments
- collect R-b's from Thomas
References:
[1] [kvm-unit-tests RFC 00/15] arm/arm64: add ITS framework
https://lists.gnu.org/archive/html/qemu-devel/2016-12/msg00575.html
Execution:
x For other ITS tests:
./run_tests.sh -g its
x non migration tests can be launched invidually. For instance:
./arm-run arm/gic.flat -smp 8 -append 'its-trigger'
Eric Auger (13):
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
arm/Makefile.arm64 | 1 +
arm/Makefile.common | 2 +-
arm/gic.c | 477 +++++++++++++++++++++++++++++++++++--
arm/run | 2 +-
arm/unittests.cfg | 38 +++
lib/alloc_page.c | 7 +-
lib/alloc_page.h | 1 +
lib/arm/asm/gic-v3-its.h | 22 ++
lib/arm/asm/gic-v3.h | 34 +++
lib/arm/asm/processor.h | 2 +
lib/arm/gic-v3.c | 78 ++++++
lib/arm/gic.c | 34 ++-
lib/arm/io.c | 28 +++
lib/arm64/asm/gic-v3-its.h | 172 +++++++++++++
lib/arm64/gic-v3-its-cmd.c | 463 +++++++++++++++++++++++++++++++++++
lib/arm64/gic-v3-its.c | 172 +++++++++++++
lib/libcflat.h | 3 +
17 files changed, 1507 insertions(+), 29 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.20.1
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
next reply other threads:[~2020-03-10 14:54 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-10 14:53 Eric Auger [this message]
2020-03-10 14:53 ` [kvm-unit-tests PATCH v5 00/13] arm/arm64: Add ITS tests Eric Auger
2020-03-10 14:53 ` Eric Auger
2020-03-10 14:53 ` [kvm-unit-tests PATCH v5 01/13] libcflat: Add other size defines Eric Auger
2020-03-10 14:53 ` Eric Auger
2020-03-10 14:53 ` Eric Auger
2020-03-10 14:53 ` [kvm-unit-tests PATCH v5 02/13] page_alloc: Introduce get_order() Eric Auger
2020-03-10 14:53 ` Eric Auger
2020-03-10 14:53 ` Eric Auger
2020-03-10 14:54 ` [kvm-unit-tests PATCH v5 03/13] arm/arm64: gic: Introduce setup_irq() helper Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` [kvm-unit-tests PATCH v5 04/13] arm/arm64: gicv3: Add some re-distributor defines Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` [kvm-unit-tests PATCH v5 05/13] arm/arm64: gicv3: Set the LPI config and pending tables Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-11 6:42 ` Zenghui Yu
2020-03-11 6:42 ` Zenghui Yu
2020-03-11 6:42 ` Zenghui Yu
2020-03-11 9:07 ` Auger Eric
2020-03-11 9:07 ` Auger Eric
2020-03-10 14:54 ` [kvm-unit-tests PATCH v5 06/13] arm/arm64: ITS: Introspection tests Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-11 8:37 ` Zenghui Yu
2020-03-11 8:37 ` Zenghui Yu
2020-03-11 8:37 ` Zenghui Yu
2020-03-11 9:29 ` Auger Eric
2020-03-11 9:29 ` Auger Eric
2020-03-11 9:29 ` Auger Eric
2020-03-10 14:54 ` [kvm-unit-tests PATCH v5 07/13] arm/arm64: ITS: its_enable_defaults Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-11 8:46 ` Zenghui Yu
2020-03-11 8:46 ` Zenghui Yu
2020-03-11 8:46 ` Zenghui Yu
2020-03-10 14:54 ` [kvm-unit-tests PATCH v5 08/13] arm/arm64: ITS: Device and collection Initialization Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` [kvm-unit-tests PATCH v5 09/13] arm/arm64: ITS: Commands Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-11 9:09 ` Zenghui Yu
2020-03-11 9:09 ` Zenghui Yu
2020-03-11 9:09 ` Zenghui Yu
2020-03-10 14:54 ` [kvm-unit-tests PATCH v5 10/13] arm/arm64: ITS: INT functional tests Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-11 11:59 ` Zenghui Yu
2020-03-11 11:59 ` Zenghui Yu
2020-03-11 11:59 ` Zenghui Yu
2020-03-11 13:48 ` Auger Eric
2020-03-11 13:48 ` Auger Eric
2020-03-11 13:48 ` Auger Eric
2020-03-11 14:00 ` Marc Zyngier
2020-03-11 14:00 ` Marc Zyngier
2020-03-11 14:00 ` Marc Zyngier
2020-03-12 9:19 ` Zenghui Yu
2020-03-12 9:19 ` Zenghui Yu
2020-03-12 9:19 ` Zenghui Yu
2020-03-12 9:59 ` Auger Eric
2020-03-12 9:59 ` Auger Eric
2020-03-12 9:59 ` Auger Eric
2020-03-13 1:55 ` Zenghui Yu
2020-03-13 1:55 ` Zenghui Yu
2020-03-13 1:55 ` Zenghui Yu
2020-03-10 14:54 ` [kvm-unit-tests PATCH v5 11/13] arm/run: Allow Migration tests Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` [kvm-unit-tests PATCH v5 12/13] arm/arm64: ITS: migration tests Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` [kvm-unit-tests PATCH v5 13/13] arm/arm64: ITS: pending table migration test Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-10 14:54 ` Eric Auger
2020-03-11 12:07 ` Zenghui Yu
2020-03-11 12:07 ` Zenghui Yu
2020-03-11 12:07 ` Zenghui Yu
2020-03-11 13:49 ` Auger Eric
2020-03-11 13:49 ` Auger Eric
2020-03-11 13:49 ` Auger Eric
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200310145410.26308-1-eric.auger@redhat.com \
--to=eric.auger@redhat.com \
--cc=alexandru.elisei@arm.com \
--cc=andre.przywara@arm.com \
--cc=drjones@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=maz@kernel.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
--cc=yuzenghui@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.