From: Matthew Ogilvie <mmogilvi_qemu@miniinfo.net>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Avi Kivity <avi@redhat.com>,
"Maciej W. Rozycki" <macro@linux-mips.org>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v5 5/6] i8259: fix so that dropping IRQ level always clears the interrupt request
Date: Mon, 10 Sep 2012 22:32:37 -0600 [thread overview]
Message-ID: <20120911043237.GA5194@comcast.net> (raw)
In-Reply-To: <504DAE47.8090607@web.de>
On Mon, Sep 10, 2012 at 11:09:27AM +0200, Jan Kiszka wrote:
> On 2012-09-10 10:56, Avi Kivity wrote:
> > On 09/10/2012 04:27 AM, Matthew Ogilvie wrote:
> >> Intel's definition of "edge triggered" means: "asserted with a
> >> low-to-high transition at the time an interrupt is registered and
> >> then kept high until the interrupt is served via one of the
> >> EOI mechanisms or goes away unhandled."
> >>
> >> So the only difference between edge triggered and level triggered
> >> is in the leading edge, with no difference in the trailing edge.
> >
> > Hard to believe. So an edge while cpu interrupts are disabled is ignored?
>
> No, this is about the PIC, not the CPU interrupt inputs.
>
> Matthew, did you verify this on real hardware by reading back the IRR as
> I suggested?
>
> Jan
I hadn't before, but now that I've checked, it's as expected:
-----------
Real hardware [Pentium 4]:
cmdRead unmask IRR=4005 mask IRR=4001 sti unmask irq14 IRR=0001 DONE
[I also see a final IRR=0000 occasionally. Probably just happened to
ask it while the timer (IRQ0) line is low (without the new understanding
of the trailing edge of an edge triggered interrupt, this would
have been confusing). I have most IRQ's (including
timer) masked off.]
-----------
Unpatched qemu:
cmdRead unmask IRR=4015 mask IRR=4015 sti irq15 unmask IRR=4015 DONE
[Presumably IRQ4 (0x10 - qemu's serial device model?) had a transient
edge during initialization, but had been masked off even before I
masked it off?]
-----------
Patched qemu:
cmdRead unmask IRR=4005 mask IRR=4001 sti unmask irq14 IRR=0001 DONE
- Matthew
next prev parent reply other threads:[~2012-09-11 4:32 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-10 1:27 [Qemu-devel] [PATCH v5 0/6] Running Microport UNIX (ca 1987) Matthew Ogilvie
2012-09-10 1:27 ` [Qemu-devel] [PATCH v5 1/6] fix some debug printf format strings Matthew Ogilvie
2012-09-10 1:27 ` [Qemu-devel] [PATCH v5 2/6] vl: fix -hdachs/-hda argument order parsing issues Matthew Ogilvie
2012-09-10 1:27 ` [Qemu-devel] [PATCH v5 3/6] qemu-options.hx: mention retrace= VGA option Matthew Ogilvie
2012-09-10 1:27 ` [Qemu-devel] [PATCH v5 4/6] vga: add some optional CGA compatibility hacks Matthew Ogilvie
2012-09-10 1:27 ` [Qemu-devel] [PATCH v5 5/6] i8259: fix so that dropping IRQ level always clears the interrupt request Matthew Ogilvie
2012-09-10 8:56 ` Avi Kivity
2012-09-10 9:09 ` Jan Kiszka
2012-09-10 9:18 ` Avi Kivity
2012-09-10 9:33 ` Jan Kiszka
2012-09-10 13:09 ` Maciej W. Rozycki
2012-09-11 12:57 ` Avi Kivity
2012-09-11 4:32 ` Matthew Ogilvie [this message]
2012-09-11 9:05 ` Jan Kiszka
2012-09-11 12:58 ` Avi Kivity
2012-11-19 15:28 ` BALATON Zoltan
2012-11-20 5:05 ` Matthew Ogilvie
2012-09-10 1:27 ` [Qemu-devel] [PATCH v5 6/6] i8259: refactor pic_set_irq level logic Matthew Ogilvie
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=20120911043237.GA5194@comcast.net \
--to=mmogilvi_qemu@miniinfo.net \
--cc=avi@redhat.com \
--cc=jan.kiszka@web.de \
--cc=macro@linux-mips.org \
--cc=pbonzini@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 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).