From: Stefan Assmann <sassmann@redhat.com>
To: Alexander Graf <agraf@suse.de>
Cc: Olaf Dabrunz <Olaf.Dabrunz@gmx.net>, Avi Kivity <avi@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH 1/2] Route PC irqs to ISA bus instead of i8259 directly
Date: Mon, 10 Aug 2009 11:45:07 +0200 [thread overview]
Message-ID: <4A7FEC23.1050708@redhat.com> (raw)
In-Reply-To: <2202BB40-5CA5-462B-8A5A-A9657B370B6D@suse.de>
On 10.08.2009 11:04, Alexander Graf wrote:
>
> Am 09.08.2009 um 18:44 schrieb Avi Kivity <avi@redhat.com>:
>
>> A PC has its motherboard IRQ lines connected to both the PIC and IOAPIC.
>> Currently, qemu routes IRQs to the PIC which then calls the IOAPIC, an
>> incestuous arrangement. In order to clean this up, create a new ISA IRQ
>> abstraction, and have devices raise ISA IRQs (which in turn raise the
>> i8259
>> IRQs as usual).
>
> Is this really true? From my understanding the PIC in modern systems is
> emulated through the IOAPIC, which is the reason we have legacy interrupts.
While not sure how the hardware implementation is done in detail I can
confirm that the IRQs indeed end up at both PIC and IO-APIC0 if the
device is connected to the southbridge directly. If that's not the case
for example a PCI bus connected via PCIe that sports it's own IO-APIC
then IRQs are forwarded (over PCIe) from the IO-APIC to the southbridge
(PIC).
In any case, to come closer to the real hardware having an abstraction
that receives IRQs from devices and delivers them to the appropriate
interrupt controller(s) seems to be a valid step IMHO.
Does qemu support multiple IO-APICs? I guess not so no need for boot
interrupts. (If yes then there would be the question how close you
really want to be to existing hardware.)
Stefan
--
Stefan Assmann | Red Hat GmbH
Software Engineer | Otto-Hahn-Strasse 20, 85609 Dornach
| HR: Amtsgericht Muenchen HRB 153243
| GF: Brendan Lane, Charlie Peters,
sassmann at redhat.com | Michael Cunningham, Charles Cachera
next prev parent reply other threads:[~2009-08-10 9:45 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-09 16:44 [Qemu-devel] [PATCH 0/2] Disentagle ISA IRQs Avi Kivity
2009-08-09 16:44 ` [Qemu-devel] [PATCH 1/2] Route PC irqs to ISA bus instead of i8259 directly Avi Kivity
2009-08-10 8:34 ` Gerd Hoffmann
2009-08-10 8:46 ` Avi Kivity
2009-08-10 9:04 ` Alexander Graf
2009-08-10 9:43 ` Avi Kivity
2009-08-10 9:45 ` Stefan Assmann [this message]
2009-08-10 9:52 ` Avi Kivity
2009-08-10 13:20 ` Olaf Dabrunz
2009-08-10 13:14 ` Olaf Dabrunz
2009-08-09 16:44 ` [Qemu-devel] [PATCH 2/2] Route IOAPIC interrupts via ISA bus Avi Kivity
2009-08-10 8:38 ` Gerd Hoffmann
2009-08-26 16:03 ` Gerd Hoffmann
2009-08-26 16:06 ` Avi Kivity
2009-08-26 16:30 ` Gerd Hoffmann
2009-08-26 19:09 ` Gleb Natapov
2009-08-27 7:40 ` Gerd Hoffmann
2009-08-27 7:57 ` Gleb Natapov
2009-08-27 8:18 ` Jamie Lokier
2009-08-27 8:24 ` Gleb Natapov
2009-08-27 8:55 ` Gerd Hoffmann
2009-08-27 10:35 ` Isaku Yamahata
2009-08-27 21:07 ` [Qemu-devel] " Bjørn Mork
2009-08-27 4:53 ` [Qemu-devel] " Avi Kivity
2009-08-27 7:35 ` Gerd Hoffmann
2009-08-27 7:57 ` Avi Kivity
2009-08-27 8:13 ` Gerd Hoffmann
2009-08-27 8:26 ` Avi Kivity
2009-08-28 2:20 ` Beth Kon
2009-08-29 17:47 ` Avi Kivity
2009-08-30 2:09 ` Beth Kon
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=4A7FEC23.1050708@redhat.com \
--to=sassmann@redhat.com \
--cc=Olaf.Dabrunz@gmx.net \
--cc=agraf@suse.de \
--cc=avi@redhat.com \
--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.