kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  reply	other threads:[~2016-11-23 11:33 UTC|newest]

Thread overview: 27+ 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 ` [kvm-unit-tests PATCH v6 01/11] lib: xstr: allow multiple args 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 ` [kvm-unit-tests PATCH v6 03/11] arm/arm64: smp: support more than 8 cpus Andrew Jones
2016-11-23 10:38   ` 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 ` [kvm-unit-tests PATCH v6 05/11] arm/arm64: irq enable/disable Andrew Jones
2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 06/11] arm/arm64: add initial gicv2 support Andrew Jones
2016-11-23 10:38   ` 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 ` [kvm-unit-tests PATCH v6 08/11] libcflat: add IS_ALIGNED() macro, and page sizes Andrew Jones
2016-11-23 10:38   ` Auger Eric
2016-11-14 21:08 ` [kvm-unit-tests PATCH v6 09/11] arm/arm64: add initial gicv3 support Andrew Jones
2016-11-23 10:38   ` 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-23 11:05   ` Auger Eric
2016-11-23 12:57     ` [Qemu-devel] " 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-23 11:28   ` Auger Eric
2016-11-23 13:01     ` Andrew Jones
2016-11-23 13:33       ` Auger Eric
2016-11-23 13:46         ` 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 10:09   ` Alex Bennée
2016-11-23 11:33     ` Auger Eric [this message]
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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).