From: Auger Eric <eric.auger@redhat.com> To: "Alex Bennée" <alex.bennee@linaro.org>, "Andrew Jones" <drjones@redhat.com> Cc: kvm@vger.kernel.org, marc.zyngier@arm.com, andre.przywara@arm.com, qemu-devel@nongnu.org, qemu-arm@nongnu.org, pbonzini@redhat.com, kvmarm@lists.cs.columbia.edu Subject: Re: [Qemu-devel] [kvm-unit-tests PATCH v6 00/11] arm/arm64: add gic framework Date: Wed, 23 Nov 2016 12:33:53 +0100 [thread overview] Message-ID: <cf9a0aab-90cd-c350-d078-9a6bc3ea9fd1@redhat.com> (raw) In-Reply-To: <87shqio6c0.fsf@linaro.org> Hi, On 23/11/2016 11:09, Alex Bennée wrote: > > Andrew Jones <drjones@redhat.com> writes: > >> Andre, Alex, Eric, anybody, >> >> Any more comments on this? If not, I'll send a pull request >> to Radim and Paolo to finally get this merged. > > Looks good to me. I successfully re-based my TCG tests on top and they > work fine ;-) no blocking point for me either. That's already a huge work and when adding new tests we may end up rationalizing things in separate v2/v3 lib files and ops. Tested on Cavium ThunderX Reviewed-by: Eric Auger <eric.auger@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com> Thanks Eric > > Tested-by: Alex Bennée <alex.bennee@linaro.org> > >> >> Thanks, >> drew >> >> >> On Mon, Nov 14, 2016 at 10:08:28PM +0100, Andrew Jones wrote: >>> v6: >>> - rebased to latest master >>> - several other changes thanks to Andre and Alex, changes in >>> individual patch change logs >>> - some code cleanups >>> >>> v5: >>> - fix arm32/gicv3 compile [drew] >>> - use modern register names [Andre] >>> - one Andre r-b >>> >>> v4: >>> - Eric's r-b's >>> - Andre's suggestion to only take defines we need >>> - several other changes listed in individual patches >>> >>> v3: >>> - Rebased on latest master >>> - Added Alex's r-b's >>> >>> v2: >>> Rebased on latest master + my "populate argv[0]" series (will >>> send a REPOST for that shortly. Additionally a few patches got >>> fixes/features; >>> 07/10 got same fix as kernel 7c9b973061 "irqchip/gic-v3: Configure >>> all interrupts as non-secure Group-1" in order to continue >>> working over TCG, as the gicv3 code for TCG removed a hack >>> it had there to make Linux happy. >>> 08/10 added more output for when things fail (if they fail) >>> 09/10 switched gicv3 broadcast implementation to using IRM. This >>> found a bug in a recent (but not tip) kernel, which I was >>> about to fix, but then I saw MarcZ beat me to it. >>> 10/10 actually check that the input irq is the received irq >>> >>> >>> Import defines, and steal enough helper functions, from Linux to >>> enable programming of the gic (v2 and v3). Then use the framework >>> to add an initial test (an ipi test; self, target-list, broadcast). >>> >>> It's my hope that this framework will be a suitable base on which >>> more tests may be easily added, particularly because we have >>> vgic-new and tcg gicv3 emulation getting close to merge. (v3 UPDATE: >>> vgic-new and tcg gicv3 are merged now) >>> >>> To run it, along with other tests, just do >>> >>> ./configure [ --arch=[arm|arm64] --cross-prefix=$PREFIX ] >>> make >>> export QEMU=$PATH_TO_QEMU >>> ./run_tests.sh >>> >>> To run it separately do, e.g. >>> >>> $QEMU -machine virt,accel=tcg -cpu cortex-a57 \ >>> -device virtio-serial-device \ >>> -device virtconsole,chardev=ctd -chardev testdev,id=ctd \ >>> -display none -serial stdio \ >>> -kernel arm/gic.flat \ >>> -smp 123 -machine gic-version=3 -append ipi >>> ^^ note, we can go nuts with nr-cpus on TCG :-) >>> >>> Or, a KVM example using a different "sender" cpu and irq (other than zero) >>> >>> $QEMU -machine virt,accel=kvm -cpu host \ >>> -device virtio-serial-device \ >>> -device virtconsole,chardev=ctd -chardev testdev,id=ctd \ >>> -display none -serial stdio \ >>> -kernel arm/gic.flat \ >>> -smp 48 -machine gic-version=3 -append 'ipi sender=42 irq=1' >>> >>> >>> Patches: >>> 01-05: fixes and functionality needed by the later gic patches >>> 06-07: enable gicv2 and gicv2 IPI test >>> 08-10: enable gicv3 and gicv3 IPI test >>> 11: extend the IPI tests to take variable sender and irq >>> >>> Available here: https://github.com/rhdrjones/kvm-unit-tests/commits/arm/gic-v6 >>> >>> >>> Andrew Jones (10): >>> lib: xstr: allow multiple args >>> arm64: fix get_"sysreg32" and make MPIDR 64bit >>> arm/arm64: smp: support more than 8 cpus >>> arm/arm64: add some delay routines >>> arm/arm64: irq enable/disable >>> arm/arm64: add initial gicv2 support >>> arm/arm64: gicv2: add an IPI test >>> arm/arm64: add initial gicv3 support >>> arm/arm64: gicv3: add an IPI test >>> arm/arm64: gic: don't just use zero >>> >>> Peter Xu (1): >>> libcflat: add IS_ALIGNED() macro, and page sizes >>> >>> arm/Makefile.common | 9 +- >>> arm/gic.c | 340 +++++++++++++++++++++++++++++++++++++++++++++ >>> arm/run | 19 ++- >>> arm/selftest.c | 5 +- >>> arm/unittests.cfg | 14 ++ >>> lib/arm/asm/arch_gicv3.h | 70 ++++++++++ >>> lib/arm/asm/gic-v2.h | 36 +++++ >>> lib/arm/asm/gic-v3.h | 112 +++++++++++++++ >>> lib/arm/asm/gic.h | 106 ++++++++++++++ >>> lib/arm/asm/processor.h | 42 +++++- >>> lib/arm/asm/setup.h | 4 +- >>> lib/arm/gic.c | 267 +++++++++++++++++++++++++++++++++++ >>> lib/arm/processor.c | 15 ++ >>> lib/arm/setup.c | 10 ++ >>> lib/arm64/asm/arch_gicv3.h | 66 +++++++++ >>> lib/arm64/asm/gic-v2.h | 1 + >>> lib/arm64/asm/gic-v3.h | 1 + >>> lib/arm64/asm/gic.h | 1 + >>> lib/arm64/asm/processor.h | 53 +++++-- >>> lib/arm64/asm/sysreg.h | 44 ++++++ >>> lib/arm64/processor.c | 15 ++ >>> lib/libcflat.h | 10 +- >>> 22 files changed, 1212 insertions(+), 28 deletions(-) >>> create mode 100644 arm/gic.c >>> create mode 100644 lib/arm/asm/arch_gicv3.h >>> create mode 100644 lib/arm/asm/gic-v2.h >>> create mode 100644 lib/arm/asm/gic-v3.h >>> create mode 100644 lib/arm/asm/gic.h >>> create mode 100644 lib/arm/gic.c >>> create mode 100644 lib/arm64/asm/arch_gicv3.h >>> create mode 100644 lib/arm64/asm/gic-v2.h >>> create mode 100644 lib/arm64/asm/gic-v3.h >>> create mode 100644 lib/arm64/asm/gic.h >>> create mode 100644 lib/arm64/asm/sysreg.h >>> >>> -- >>> 2.7.4 >>> >>> > > > -- > Alex Bennée > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > _______________________________________________ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
WARNING: multiple messages have this Message-ID (diff)
From: Auger Eric <eric.auger@redhat.com> To: "Alex Bennée" <alex.bennee@linaro.org>, "Andrew Jones" <drjones@redhat.com> Cc: kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, qemu-devel@nongnu.org, qemu-arm@nongnu.org, peter.maydell@linaro.org, marc.zyngier@arm.com, andre.przywara@arm.com, pbonzini@redhat.com, christoffer.dall@linaro.org Subject: Re: [Qemu-devel] [kvm-unit-tests PATCH v6 00/11] arm/arm64: add gic framework Date: Wed, 23 Nov 2016 12:33:53 +0100 [thread overview] Message-ID: <cf9a0aab-90cd-c350-d078-9a6bc3ea9fd1@redhat.com> (raw) In-Reply-To: <87shqio6c0.fsf@linaro.org> Hi, On 23/11/2016 11:09, Alex Bennée wrote: > > Andrew Jones <drjones@redhat.com> writes: > >> Andre, Alex, Eric, anybody, >> >> Any more comments on this? If not, I'll send a pull request >> to Radim and Paolo to finally get this merged. > > Looks good to me. I successfully re-based my TCG tests on top and they > work fine ;-) no blocking point for me either. That's already a huge work and when adding new tests we may end up rationalizing things in separate v2/v3 lib files and ops. Tested on Cavium ThunderX Reviewed-by: Eric Auger <eric.auger@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com> Thanks Eric > > Tested-by: Alex Bennée <alex.bennee@linaro.org> > >> >> Thanks, >> drew >> >> >> On Mon, Nov 14, 2016 at 10:08:28PM +0100, Andrew Jones wrote: >>> v6: >>> - rebased to latest master >>> - several other changes thanks to Andre and Alex, changes in >>> individual patch change logs >>> - some code cleanups >>> >>> v5: >>> - fix arm32/gicv3 compile [drew] >>> - use modern register names [Andre] >>> - one Andre r-b >>> >>> v4: >>> - Eric's r-b's >>> - Andre's suggestion to only take defines we need >>> - several other changes listed in individual patches >>> >>> v3: >>> - Rebased on latest master >>> - Added Alex's r-b's >>> >>> v2: >>> Rebased on latest master + my "populate argv[0]" series (will >>> send a REPOST for that shortly. Additionally a few patches got >>> fixes/features; >>> 07/10 got same fix as kernel 7c9b973061 "irqchip/gic-v3: Configure >>> all interrupts as non-secure Group-1" in order to continue >>> working over TCG, as the gicv3 code for TCG removed a hack >>> it had there to make Linux happy. >>> 08/10 added more output for when things fail (if they fail) >>> 09/10 switched gicv3 broadcast implementation to using IRM. This >>> found a bug in a recent (but not tip) kernel, which I was >>> about to fix, but then I saw MarcZ beat me to it. >>> 10/10 actually check that the input irq is the received irq >>> >>> >>> Import defines, and steal enough helper functions, from Linux to >>> enable programming of the gic (v2 and v3). Then use the framework >>> to add an initial test (an ipi test; self, target-list, broadcast). >>> >>> It's my hope that this framework will be a suitable base on which >>> more tests may be easily added, particularly because we have >>> vgic-new and tcg gicv3 emulation getting close to merge. (v3 UPDATE: >>> vgic-new and tcg gicv3 are merged now) >>> >>> To run it, along with other tests, just do >>> >>> ./configure [ --arch=[arm|arm64] --cross-prefix=$PREFIX ] >>> make >>> export QEMU=$PATH_TO_QEMU >>> ./run_tests.sh >>> >>> To run it separately do, e.g. >>> >>> $QEMU -machine virt,accel=tcg -cpu cortex-a57 \ >>> -device virtio-serial-device \ >>> -device virtconsole,chardev=ctd -chardev testdev,id=ctd \ >>> -display none -serial stdio \ >>> -kernel arm/gic.flat \ >>> -smp 123 -machine gic-version=3 -append ipi >>> ^^ note, we can go nuts with nr-cpus on TCG :-) >>> >>> Or, a KVM example using a different "sender" cpu and irq (other than zero) >>> >>> $QEMU -machine virt,accel=kvm -cpu host \ >>> -device virtio-serial-device \ >>> -device virtconsole,chardev=ctd -chardev testdev,id=ctd \ >>> -display none -serial stdio \ >>> -kernel arm/gic.flat \ >>> -smp 48 -machine gic-version=3 -append 'ipi sender=42 irq=1' >>> >>> >>> Patches: >>> 01-05: fixes and functionality needed by the later gic patches >>> 06-07: enable gicv2 and gicv2 IPI test >>> 08-10: enable gicv3 and gicv3 IPI test >>> 11: extend the IPI tests to take variable sender and irq >>> >>> Available here: https://github.com/rhdrjones/kvm-unit-tests/commits/arm/gic-v6 >>> >>> >>> Andrew Jones (10): >>> lib: xstr: allow multiple args >>> arm64: fix get_"sysreg32" and make MPIDR 64bit >>> arm/arm64: smp: support more than 8 cpus >>> arm/arm64: add some delay routines >>> arm/arm64: irq enable/disable >>> arm/arm64: add initial gicv2 support >>> arm/arm64: gicv2: add an IPI test >>> arm/arm64: add initial gicv3 support >>> arm/arm64: gicv3: add an IPI test >>> arm/arm64: gic: don't just use zero >>> >>> Peter Xu (1): >>> libcflat: add IS_ALIGNED() macro, and page sizes >>> >>> arm/Makefile.common | 9 +- >>> arm/gic.c | 340 +++++++++++++++++++++++++++++++++++++++++++++ >>> arm/run | 19 ++- >>> arm/selftest.c | 5 +- >>> arm/unittests.cfg | 14 ++ >>> lib/arm/asm/arch_gicv3.h | 70 ++++++++++ >>> lib/arm/asm/gic-v2.h | 36 +++++ >>> lib/arm/asm/gic-v3.h | 112 +++++++++++++++ >>> lib/arm/asm/gic.h | 106 ++++++++++++++ >>> lib/arm/asm/processor.h | 42 +++++- >>> lib/arm/asm/setup.h | 4 +- >>> lib/arm/gic.c | 267 +++++++++++++++++++++++++++++++++++ >>> lib/arm/processor.c | 15 ++ >>> lib/arm/setup.c | 10 ++ >>> lib/arm64/asm/arch_gicv3.h | 66 +++++++++ >>> lib/arm64/asm/gic-v2.h | 1 + >>> lib/arm64/asm/gic-v3.h | 1 + >>> lib/arm64/asm/gic.h | 1 + >>> lib/arm64/asm/processor.h | 53 +++++-- >>> lib/arm64/asm/sysreg.h | 44 ++++++ >>> lib/arm64/processor.c | 15 ++ >>> lib/libcflat.h | 10 +- >>> 22 files changed, 1212 insertions(+), 28 deletions(-) >>> create mode 100644 arm/gic.c >>> create mode 100644 lib/arm/asm/arch_gicv3.h >>> create mode 100644 lib/arm/asm/gic-v2.h >>> create mode 100644 lib/arm/asm/gic-v3.h >>> create mode 100644 lib/arm/asm/gic.h >>> create mode 100644 lib/arm/gic.c >>> create mode 100644 lib/arm64/asm/arch_gicv3.h >>> create mode 100644 lib/arm64/asm/gic-v2.h >>> create mode 100644 lib/arm64/asm/gic-v3.h >>> create mode 100644 lib/arm64/asm/gic.h >>> create mode 100644 lib/arm64/asm/sysreg.h >>> >>> -- >>> 2.7.4 >>> >>> > > > -- > Alex Bennée > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
next prev parent reply other threads:[~2016-11-23 11:33 UTC|newest] Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-11-14 21:08 [kvm-unit-tests PATCH v6 00/11] arm/arm64: add gic framework Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 01/11] lib: xstr: allow multiple args Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 02/11] arm64: fix get_"sysreg32" and make MPIDR 64bit Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 03/11] arm/arm64: smp: support more than 8 cpus Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-23 10:38 ` Auger Eric 2016-11-23 10:38 ` [Qemu-devel] " Auger Eric 2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 04/11] arm/arm64: add some delay routines Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 05/11] arm/arm64: irq enable/disable Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 06/11] arm/arm64: add initial gicv2 support Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-23 10:38 ` Auger Eric 2016-11-23 10:38 ` [Qemu-devel] " Auger Eric 2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 07/11] arm/arm64: gicv2: add an IPI test Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 08/11] libcflat: add IS_ALIGNED() macro, and page sizes Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-23 10:38 ` Auger Eric 2016-11-23 10:38 ` [Qemu-devel] " Auger Eric 2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 09/11] arm/arm64: add initial gicv3 support Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-23 10:38 ` Auger Eric 2016-11-23 10:38 ` [Qemu-devel] " Auger Eric 2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 10/11] arm/arm64: gicv3: add an IPI test Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-23 11:05 ` Auger Eric 2016-11-23 11:05 ` [Qemu-devel] " Auger Eric 2016-11-23 12:57 ` Andrew Jones 2016-11-23 12:57 ` Andrew Jones 2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 11/11] arm/arm64: gic: don't just use zero Andrew Jones 2016-11-14 21:08 ` [Qemu-devel] " Andrew Jones 2016-11-23 11:28 ` Auger Eric 2016-11-23 11:28 ` [Qemu-devel] " Auger Eric 2016-11-23 13:01 ` Andrew Jones 2016-11-23 13:01 ` [Qemu-devel] " Andrew Jones 2016-11-23 13:33 ` Auger Eric 2016-11-23 13:33 ` [Qemu-devel] " Auger Eric 2016-11-23 13:46 ` Andrew Jones 2016-11-23 13:46 ` [Qemu-devel] " Andrew Jones 2016-11-22 18:45 ` [Qemu-devel] [kvm-unit-tests PATCH v6 00/11] arm/arm64: add gic framework Andrew Jones 2016-11-23 9:55 ` Andre Przywara 2016-11-23 9:55 ` Andre Przywara 2016-11-23 10:09 ` Alex Bennée 2016-11-23 10:09 ` Alex Bennée 2016-11-23 11:33 ` Auger Eric [this message] 2016-11-23 11:33 ` Auger Eric 2016-11-23 13:08 ` Andrew Jones
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=cf9a0aab-90cd-c350-d078-9a6bc3ea9fd1@redhat.com \ --to=eric.auger@redhat.com \ --cc=alex.bennee@linaro.org \ --cc=andre.przywara@arm.com \ --cc=drjones@redhat.com \ --cc=kvm@vger.kernel.org \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=marc.zyngier@arm.com \ --cc=pbonzini@redhat.com \ --cc=qemu-arm@nongnu.org \ --cc=qemu-devel@nongnu.org \ /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: linkBe 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.