From: Paolo Bonzini <pbonzini@redhat.com>
To: Eric Auger <eric.auger@linaro.org>,
eric.auger@st.com, qemu-devel@nongnu.org,
alex.williamson@redhat.com, peter.maydell@linaro.org,
agraf@suse.de
Cc: kvmarm@lists.cs.columbia.edu, patches@linaro.org
Subject: Re: [PATCH 0/2] irq: add get_gsi callback
Date: Fri, 24 Apr 2015 12:02:59 +0200 [thread overview]
Message-ID: <553A14D3.1030300@redhat.com> (raw)
In-Reply-To: <553A115E.1050705@linaro.org>
On 24/04/2015 11:48, Eric Auger wrote:
>> > What did the notifier code look like with your patch?
> Currently both notifiers are stored in the VFIOINTp struct. They are
> initialized in vfio_init_intp. VFIO platform device holds a list of
> VFIOINTp struct.
>
> When the vfio_start_irqfd callback is called the qemuirq is not yet
> initialized so I cannot retrieve the EventNotifiers by container_of.
Understood better now. I would pass the "Object **child" variable of
object_set_link_property to the callback then (in qom/object.c).
Then I would go for the other solution (the notifier, just adding the
callback to SysbusDeviceClass). But I still do not understand why you
didn't have exactly the same problem :) unless you were walking the list
to find the relevant VFIOINTp.
Paolo
> I can allocate and initialize them in the callback but I need a place to
> store them to close the eventfd.
>
> Also at the moment I start irqfd I must take some actions to stop (user
> side) eventfd trigger; this also urges me to get access to VFIOINTp
> struct. Some extracted pieces below (under work).
WARNING: multiple messages have this Message-ID (diff)
From: Paolo Bonzini <pbonzini@redhat.com>
To: Eric Auger <eric.auger@linaro.org>,
eric.auger@st.com, qemu-devel@nongnu.org,
alex.williamson@redhat.com, peter.maydell@linaro.org,
agraf@suse.de
Cc: kvmarm@lists.cs.columbia.edu, patches@linaro.org
Subject: Re: [Qemu-devel] [PATCH 0/2] irq: add get_gsi callback
Date: Fri, 24 Apr 2015 12:02:59 +0200 [thread overview]
Message-ID: <553A14D3.1030300@redhat.com> (raw)
In-Reply-To: <553A115E.1050705@linaro.org>
On 24/04/2015 11:48, Eric Auger wrote:
>> > What did the notifier code look like with your patch?
> Currently both notifiers are stored in the VFIOINTp struct. They are
> initialized in vfio_init_intp. VFIO platform device holds a list of
> VFIOINTp struct.
>
> When the vfio_start_irqfd callback is called the qemuirq is not yet
> initialized so I cannot retrieve the EventNotifiers by container_of.
Understood better now. I would pass the "Object **child" variable of
object_set_link_property to the callback then (in qom/object.c).
Then I would go for the other solution (the notifier, just adding the
callback to SysbusDeviceClass). But I still do not understand why you
didn't have exactly the same problem :) unless you were walking the list
to find the relevant VFIOINTp.
Paolo
> I can allocate and initialize them in the callback but I need a place to
> store them to close the eventfd.
>
> Also at the moment I start irqfd I must take some actions to stop (user
> side) eventfd trigger; this also urges me to get access to VFIOINTp
> struct. Some extracted pieces below (under work).
next prev parent reply other threads:[~2015-04-24 9:54 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-23 8:49 [PATCH 0/2] irq: add get_gsi callback Eric Auger
2015-04-23 8:49 ` [Qemu-devel] " Eric Auger
2015-04-23 8:49 ` [PATCH 1/2] " Eric Auger
2015-04-23 8:49 ` [Qemu-devel] " Eric Auger
2015-04-23 8:49 ` [PATCH 2/2] intc: arm_gic_kvm: set the " Eric Auger
2015-04-23 8:49 ` [Qemu-devel] " Eric Auger
2015-04-23 9:30 ` [PATCH 0/2] irq: add " Paolo Bonzini
2015-04-23 9:30 ` [Qemu-devel] " Paolo Bonzini
2015-04-23 9:40 ` Eric Auger
2015-04-23 9:40 ` [Qemu-devel] " Eric Auger
2015-04-23 9:58 ` Paolo Bonzini
2015-04-23 9:58 ` [Qemu-devel] " Paolo Bonzini
2015-04-23 11:25 ` Eric Auger
2015-04-23 11:25 ` [Qemu-devel] " Eric Auger
2015-04-24 9:01 ` Eric Auger
2015-04-24 9:01 ` [Qemu-devel] " Eric Auger
2015-04-24 9:11 ` Paolo Bonzini
2015-04-24 9:11 ` [Qemu-devel] " Paolo Bonzini
2015-04-24 9:18 ` Eric Auger
2015-04-24 9:18 ` [Qemu-devel] " Eric Auger
2015-04-24 9:29 ` Paolo Bonzini
2015-04-24 9:29 ` [Qemu-devel] " Paolo Bonzini
2015-04-24 9:48 ` Eric Auger
2015-04-24 9:48 ` [Qemu-devel] " Eric Auger
2015-04-24 10:02 ` Paolo Bonzini [this message]
2015-04-24 10:02 ` Paolo Bonzini
2015-04-24 11:59 ` Eric Auger
2015-04-24 11:59 ` [Qemu-devel] " Eric Auger
2015-04-24 12:04 ` Paolo Bonzini
2015-04-24 12:04 ` [Qemu-devel] " Paolo Bonzini
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=553A14D3.1030300@redhat.com \
--to=pbonzini@redhat.com \
--cc=agraf@suse.de \
--cc=alex.williamson@redhat.com \
--cc=eric.auger@linaro.org \
--cc=eric.auger@st.com \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=patches@linaro.org \
--cc=peter.maydell@linaro.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 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.