From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: Alexey Kardashevskiy <aik@ozlabs.ru>,
Alexander Graf <agraf@suse.de>,
qemu-devel@nongnu.org,
Alex Williamson <alex.williamson@redhat.com>,
qemu-ppc@nongnu.org, David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [Qemu-devel] [PATCH 1/3] spapr pci msi: rework
Date: Fri, 21 Jun 2013 22:09:26 +1000 [thread overview]
Message-ID: <1371816566.3944.62.camel@pasglop> (raw)
In-Reply-To: <87r4fvptdy.fsf@codemonkey.ws>
On Fri, 2013-06-21 at 06:58 -0500, Anthony Liguori wrote:
> > I do not understand the question, really. Here we are emulating pHyp which
> > is not real hardware and never pretended to be. Our guests do not touch MSI
> > records in the config space and use RTAS MSI calls instead.
>
> But RTAS is implemented as guest code. I suspect it's doing region
> access to generate the actual MSI events.
No, not really.
On pHyp, RTAS just gets the list of MSIs for the slot from pHyp using private
hypercalls, including the MSI address.
Note that in HW the MSI address is specific to a PCI host bridge, ie, you have 6
bridges, they may all 6 provide the same addresses to the device though they decode
them to different PE's (protection domains).
But it doesn't matter. From a PAPR guest perspective, indeed, we don't care,
*except* for a hack that went upstream in 3.10 that tries to enforce 32-bit
MSIs on broken AMD video cards and makes assumptions based on the PCIe bus speed
in the device-tree :-) However we shouldn't hit that.
In any case, if Alexey was to actually emulate our real HW, just having the address
+ data is not enough to identify a specific interrupt since each PHB will have
it's own domain there.
Thus the host bridge must be passed down the call at the very least.
>From there, the way we internally generate and decode those address/data in qemu
is of no relevance since PAPR being paravirtualized, the guest doesn't care.
Ben.
next prev parent reply other threads:[~2013-06-21 12:09 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-21 9:22 [Qemu-devel] [PATCH 0/3] RFCv2 kvm irqfd: add directly mapped MSI IRQ support Alexey Kardashevskiy
2013-06-21 9:22 ` [Qemu-devel] [PATCH 1/3] spapr pci msi: rework Alexey Kardashevskiy
2013-06-21 10:31 ` Alexander Graf
2013-06-21 10:52 ` Alexey Kardashevskiy
2013-06-21 11:58 ` Anthony Liguori
2013-06-21 11:59 ` Alexander Graf
2013-06-21 12:09 ` Benjamin Herrenschmidt [this message]
2013-06-21 12:02 ` Benjamin Herrenschmidt
2013-06-21 9:22 ` [Qemu-devel] [PATCH 2/3] KVM: add kvm_arch_irqchip_add_msi_route Alexey Kardashevskiy
2013-06-21 10:33 ` Alexander Graf
2013-06-21 12:03 ` Benjamin Herrenschmidt
2013-06-21 12:05 ` Alexander Graf
2013-06-21 12:10 ` Benjamin Herrenschmidt
2013-06-21 13:46 ` Alexander Graf
2013-06-21 21:54 ` Benjamin Herrenschmidt
2013-06-21 22:12 ` Alexander Graf
2013-06-21 22:21 ` Benjamin Herrenschmidt
2013-06-21 23:10 ` Alex Williamson
2013-06-21 23:19 ` Benjamin Herrenschmidt
2013-06-21 9:22 ` [Qemu-devel] [PATCH 3/3] KVM: PPC: enable irqfd Alexey Kardashevskiy
2013-06-21 17:52 ` Scott Wood
2013-06-22 1:12 ` Alexey Kardashevskiy
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=1371816566.3944.62.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=agraf@suse.de \
--cc=aik@ozlabs.ru \
--cc=alex.williamson@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=david@gibson.dropbear.id.au \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@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).