Linux KVM/arm64 development list
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: 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 v5 10/11] arm/arm64: gicv3: add an IPI test
Date: Fri, 11 Nov 2016 10:02:59 +0000	[thread overview]
Message-ID: <871syi8hbg.fsf@linaro.org> (raw)
In-Reply-To: <20161110203713.4idzgs5u2xm7ms4o@hawk.localdomain>


Andrew Jones <drjones@redhat.com> writes:

> On Thu, Nov 10, 2016 at 07:53:58PM +0000, Alex Bennée wrote:
> [...]
>> > +struct gic gicv2 = {
>> > +	.ipi = {
>> > +		.enable = gicv2_enable_defaults,
>> > +		.send_self = gicv2_ipi_send_self,
>> > +		.send_tlist = gicv2_ipi_send_tlist,
>> > +		.send_broadcast = gicv2_ipi_send_broadcast,
>> > +	},
>> > +	.read_iar = gicv2_read_iar,
>> > +	.irqnr = gicv2_irqnr,
>> > +	.write_eoi = gicv2_write_eoi,
>> > +};
>> > +
>> > +struct gic gicv3 = {
>> > +	.ipi = {
>> > +		.enable = gicv3_enable_defaults,
>> > +		.send_self = gicv3_ipi_send_self,
>> > +		.send_tlist = gicv3_ipi_send_tlist,
>> > +		.send_broadcast = gicv3_ipi_send_broadcast,
>> > +	},
>> > +	.read_iar = gicv3_read_iar,
>> > +	.irqnr = gicv3_irqnr,
>> > +	.write_eoi = gicv3_write_eoir,
>> > +};
>> > +
>>
>> So I was re-basing my kvm-unit-tests against your GIC rework and found
>> myself copy and pasting a bunch of this into my tests that fire IRQs.
>> That makes me think the abstraction should be in the library code so
>> other tests can fiddle with sending IRQs.
>>
>> What do you think?
>>
>
> I guess you mean moving the above two structs and their corresponding
> functions (all which aren't already common) to lib/arm/ ? Or do you
> just mean the one non-trivial function gicv3_ipi_send_tlist? I think
> agree with gicv3_ipi_send_tlist getting shared, but the others are
> mostly one-liners, so I'm not sure. I guess I'd have to see how you're
> using them first.

So it looked like there were some functions in the common code for one
GIC which had local test defined functions for the other. They should at
least be consistent.

For my use case I could do with a common:

  gic_enable
  gic_send_spi(cpu, irq)
  gic_irq_ack() which returns the iar.

See:

  https://github.com/stsquad/kvm-unit-tests/blob/mttcg/current-tests-v6/arm/tcg-test.c#L113

>
> Thanks,
> drew


--
Alex Bennée
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

  reply	other threads:[~2016-11-11 10:02 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-10 17:21 [kvm-unit-tests PATCH v5 00/11] arm/arm64: add gic framework Andrew Jones
2016-11-10 17:21 ` [kvm-unit-tests PATCH v5 01/11] lib: xstr: allow multiple args Andrew Jones
2016-11-10 17:21 ` [kvm-unit-tests PATCH v5 02/11] arm64: fix get_"sysreg32" and make MPIDR 64bit Andrew Jones
2016-11-10 17:21 ` [kvm-unit-tests PATCH v5 03/11] arm/arm64: smp: support more than 8 cpus Andrew Jones
2016-11-11 15:27   ` Andre Przywara
2016-11-10 17:21 ` [kvm-unit-tests PATCH v5 04/11] arm/arm64: add some delay routines Andrew Jones
2016-11-10 17:21 ` [kvm-unit-tests PATCH v5 05/11] arm/arm64: irq enable/disable Andrew Jones
2016-11-10 17:21 ` [kvm-unit-tests PATCH v5 06/11] arm/arm64: add initial gicv2 support Andrew Jones
2016-11-11 14:52   ` Alex Bennée
2016-11-11 15:17     ` Andre Przywara
2016-11-11 15:30       ` [Qemu-devel] " Andrew Jones
2016-11-11 15:24     ` Andrew Jones
2016-11-11 15:34   ` Andre Przywara
2016-11-10 17:21 ` [kvm-unit-tests PATCH v5 07/11] arm/arm64: gicv2: add an IPI test Andrew Jones
2016-11-11 11:13   ` Andre Przywara
2016-11-11 13:13     ` [Qemu-devel] " Andrew Jones
2016-11-14 14:12       ` Andrew Jones
2016-11-10 17:21 ` [kvm-unit-tests PATCH v5 08/11] libcflat: add IS_ALIGNED() macro, and page sizes Andrew Jones
2016-11-11 15:02   ` Alex Bennée
2016-11-11 15:35     ` Andrew Jones
2016-11-10 17:21 ` [kvm-unit-tests PATCH v5 09/11] arm/arm64: add initial gicv3 support Andrew Jones
2016-11-11 15:35   ` Alex Bennée
2016-11-11 16:31   ` Andre Przywara
2016-11-14 15:17     ` [Qemu-devel] " Andrew Jones
2016-11-10 17:21 ` [kvm-unit-tests PATCH v5 10/11] arm/arm64: gicv3: add an IPI test Andrew Jones
2016-11-10 19:53   ` Alex Bennée
2016-11-10 20:37     ` [Qemu-devel] " Andrew Jones
2016-11-11 10:02       ` Alex Bennée [this message]
2016-11-11 13:54         ` Andrew Jones
2016-11-11 14:53           ` Alex Bennée
2016-11-11 15:20             ` Andre Przywara
2016-11-11  9:21     ` Andre Przywara
2016-11-11 10:00       ` Alex Bennée
2016-11-10 17:21 ` [kvm-unit-tests PATCH v5 11/11] arm/arm64: gic: don't just use zero 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=871syi8hbg.fsf@linaro.org \
    --to=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