From: Jan Kiszka <jan.kiszka@web.de>
To: Matthew Ogilvie <mmogilvi_qemu@miniinfo.net>,
Avi Kivity <avi@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
qemu-devel@nongnu.org, "Maciej W. Rozycki" <macro@linux-mips.org>
Subject: Re: [Qemu-devel] [PATCH v5 5/6] i8259: fix so that dropping IRQ level always clears the interrupt request
Date: Tue, 11 Sep 2012 11:05:53 +0200 [thread overview]
Message-ID: <504EFEF1.2080107@web.de> (raw)
In-Reply-To: <20120911043237.GA5194@comcast.net>
[-- Attachment #1: Type: text/plain, Size: 1891 bytes --]
On 2012-09-11 06:32, Matthew Ogilvie wrote:
> 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
>
I think this is convincing, maybe worth documenting in the related
changelogs of QEMU and KVM. Avi, doubts remaining?
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]
next prev parent reply other threads:[~2012-09-11 9:06 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
2012-09-11 9:05 ` Jan Kiszka [this message]
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=504EFEF1.2080107@web.de \
--to=jan.kiszka@web.de \
--cc=avi@redhat.com \
--cc=macro@linux-mips.org \
--cc=mmogilvi_qemu@miniinfo.net \
--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).