From: Harco Kuppens <h.kuppens@domain.hid>
To: Jan Kiszka <jan.kiszka@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] keyboard interrupt
Date: Mon, 22 Sep 2008 11:52:06 +0200 [thread overview]
Message-ID: <48D76AC6.6060401@domain.hid> (raw)
In-Reply-To: <48D6241A.4090109@domain.hid>
[-- Attachment #1: Type: text/plain, Size: 1917 bytes --]
Jan Kiszka wrote:
>> Thus what does 'acknowledege' exactly mean?
>>
>
> That the CPU confirms the interrupt controller that it picked up a
> specific IRQ event. Depending on the IRQ type, this triggers various
> activities in the interrupt controller. For some IRQ types, this can
> also be a nop.
>
> Note that the APIC is only one of the countless interrupt controllers in
> this universe, implementing only a few of the possible IRQ types. The
> universe is large, so a lot of very strange interrupt controllers
> exist... ;)
> (You may want to study vanilla Linux genirq code, how it handles all the
> IRQ types - ipipe is a special case, not immediately revealing the hw
> requirements behind it.)
>
ok, there is no single answer but it depends on the much differing
hardware. It is good to keep that in mind in the future!
I shall try to look at the genirq code, will also be a good exercise to
understand the linux kernel code in more detail.
but although the interrupt controller hardware can differ in general the
following conclusion keeps :
When you forward the IRQ to Linux, you repy on Linux for
dealing with the periphery (acking the IRQ there) and the final
end-of-IRQ signal.
The shared IRQ handling algorithm is to consult all handlers in a
loop until they all reported "not for me" in a row.
Thus for correct handling of shared IRQs, _all_ associate IRQ
handlers, also
those in Linux, must have been executed before the EOI can be sent.
IRQ sharing between deterministic and non-deterministic code (here:
Xenomai and vanilla Linux) will never work, that's an inherent design
issue, nothing Xenomai or ipipe-specific.
(because the handling of the linux interrupt, is in fact executing
code with none-realtime priority, which will delay the realtime
system in a unpredicatable way!)
Thanks for all help,
Harco
> Jan
>
>
[-- Attachment #2: Type: text/html, Size: 2560 bytes --]
prev parent reply other threads:[~2008-09-22 9:52 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-15 16:27 [Xenomai-help] keyboard interrupt Harco Kuppens
2008-09-17 21:33 ` Jan Kiszka
2008-09-18 8:58 ` Harco Kuppens
2008-09-19 6:53 ` Jan Kiszka
2008-09-19 14:06 ` Harco Kuppens
2008-09-21 10:38 ` Jan Kiszka
2008-09-22 9:52 ` Harco Kuppens [this message]
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=48D76AC6.6060401@domain.hid \
--to=h.kuppens@domain.hid \
--cc=jan.kiszka@domain.hid \
--cc=xenomai@xenomai.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.