public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>,
	Paul Mackerras <paulus@samba.org>,
	Christoffer Dall <c.dall@virtualopensystems.com>,
	Alexander Graf <agraf@suse.de>,
	"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	kvm-ppc <kvm-ppc@vger.kernel.org>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: Re: [kvmarm] [RFC PATCH 0/3] KVM: ARM: Get rid of hardcoded VGIC addresses
Date: Fri, 26 Oct 2012 21:47:53 +1100	[thread overview]
Message-ID: <1351248473.12271.20.camel@pasglop> (raw)
In-Reply-To: <508A688E.6090508@redhat.com>

On Fri, 2012-10-26 at 12:40 +0200, Paolo Bonzini wrote:
> Il 26/10/2012 12:37, Benjamin Herrenschmidt ha scritto:
> >> > Wiring which MSI-X interrupts go to which source controllers.  If you
> >> > have one source controller per PCI bridge, you need to tell the kernel
> >> > the mapping between MSI messages interrupts and PCI bridges, and update
> >> > it whenever the MSI masking changes.
> > Not sure I get it. Are you talking in the context of PCI pass-through ?
> 
> Not just that, it's also for emulated devices that do MSI-X (virtio-pci
> does).

Then I really don't get it.

> > > The other problem is configuring the redirection table.  If you need >64
> > > sources you need ioctls like KVM_GET/SET_IRQCHIP_ONE_REG.
> > Well, all of that is totally specific to the IO-APIC design &
> > limitations as far as I can tell. What is the "redirection table" ?
> 
> The wiring between source and presentation controllers, roughly.  I
> suppose that's what Paul referred to when he said there's 64 bits of
> config info per source in the source controllers.

But that's the point. We don't have such "wiring". The interrupt number
space is global. In HW it's via special messages in the fabric. The
firmware configures the various source controllers at boot time by
assigning them a BUID which basically comprises the top bits of the
interrupt number.

Or do you mean the routing configured by the user ? IE. Affinity ? If
yes, then that's indeed what the 64-bit per source is. Each interrupt
source has some state including the configured target presentation
controller (plus associated link info for distributed interrupts), a
priority setting, and some internal state bits that need to be preserved
in the case of migration.

Cheers,
Ben.

  reply	other threads:[~2012-10-26 10:47 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-14  0:04 [RFC PATCH 0/3] KVM: ARM: Get rid of hardcoded VGIC addresses Christoffer Dall
2012-10-14  0:04 ` [RFC PATCH 1/3] KVM: ARM: Introduce KVM_INIT_IRQCHIP ioctl Christoffer Dall
2012-10-17 20:21   ` Peter Maydell
2012-10-17 20:23     ` Christoffer Dall
2012-10-17 20:31       ` Peter Maydell
2012-10-17 20:39         ` Christoffer Dall
2012-10-18 12:20   ` Avi Kivity
2012-10-19 18:42     ` Christoffer Dall
2012-10-14  0:04 ` [RFC PATCH 2/3] KVM: ARM: Introduce KVM_SET_DEVICE_ADDRESS ioctl Christoffer Dall
2012-10-17 20:29   ` Peter Maydell
2012-10-19 18:46     ` Christoffer Dall
2012-10-19 20:24       ` Peter Maydell
2012-10-19 20:27         ` Christoffer Dall
2012-10-19 20:33           ` Christoffer Dall
2012-10-14  0:04 ` [RFC PATCH 3/3] KVM: ARM: Split KVM_CREATE_IRQCHIP and KVM_INIT_IRQCHIP Christoffer Dall
2012-10-18 11:15   ` Peter Maydell
2012-10-17 20:38 ` [kvmarm] [RFC PATCH 0/3] KVM: ARM: Get rid of hardcoded VGIC addresses Alexander Graf
2012-10-17 20:39   ` Christoffer Dall
2012-10-17 21:19     ` Benjamin Herrenschmidt
2012-10-17 22:10     ` Paul Mackerras
2012-10-17 23:58       ` Benjamin Herrenschmidt
2012-10-18 13:48         ` Christoffer Dall
2012-10-18 13:49           ` Alexander Graf
2012-10-18 15:25             ` Avi Kivity
2012-10-23 10:48           ` Jan Kiszka
2012-10-23 10:52             ` Peter Maydell
2012-10-23 11:00               ` Jan Kiszka
2012-10-23 11:04                 ` Peter Maydell
2012-10-23 11:08                   ` Jan Kiszka
2012-10-24  0:50             ` Paul Mackerras
2012-10-25 11:57               ` Jan Kiszka
2012-10-25 16:14               ` Paolo Bonzini
2012-10-25 16:32                 ` Jan Kiszka
2012-10-25 18:27                   ` Paolo Bonzini
2012-10-25 19:40                     ` Benjamin Herrenschmidt
2012-10-26  9:58                       ` Paolo Bonzini
2012-10-26 10:09                         ` Peter Maydell
2012-10-26 10:15                           ` Paolo Bonzini
2012-10-26 10:22                             ` Jan Kiszka
2012-10-26 10:44                             ` Benjamin Herrenschmidt
2012-10-26 11:00                               ` Jan Kiszka
2012-10-26 11:09                                 ` Benjamin Herrenschmidt
2012-10-26 11:57                                   ` Paolo Bonzini
2012-10-26 12:08                                     ` Peter Maydell
2012-10-26 12:41                                       ` Jan Kiszka
2012-10-26 20:21                                     ` Benjamin Herrenschmidt
2012-10-26 11:17                               ` Peter Maydell
2012-10-26 11:39                                 ` Benjamin Herrenschmidt
2012-10-26 12:39                                   ` Jan Kiszka
2012-10-26 20:45                                     ` Benjamin Herrenschmidt
2012-10-26 22:03                                       ` Benjamin Herrenschmidt
2012-10-27  8:06                                         ` Jan Kiszka
2012-10-27 10:01                                         ` Peter Maydell
2012-10-28 22:19                                           ` Benjamin Herrenschmidt
2012-10-26 10:37                         ` Benjamin Herrenschmidt
2012-10-26 10:40                           ` Paolo Bonzini
2012-10-26 10:47                             ` Benjamin Herrenschmidt [this message]
2012-10-26 11:47                               ` Paolo Bonzini
2012-10-25 19:39                 ` Benjamin Herrenschmidt

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=1351248473.12271.20.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=agraf@suse.de \
    --cc=c.dall@virtualopensystems.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=paulus@samba.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.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