From: Jan Kiszka <jan.kiszka@siemens.com>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>,
Philippe Gerum <rpm@xenomai.org>
Cc: Xenomai <xenomai@xenomai.org>
Subject: Re: [Xenomai] ipipe: issues with ARM exception handling
Date: Mon, 23 Feb 2015 19:30:10 +0100 [thread overview]
Message-ID: <54EB71B2.9060607@siemens.com> (raw)
In-Reply-To: <54EB68D7.3010606@siemens.com>
On 2015-02-23 18:52, Jan Kiszka wrote:
> On 2015-02-23 18:49, Jan Kiszka wrote:
>> On 2015-02-23 18:38, Jan Kiszka wrote:
>>> On 2015-02-23 18:14, Gilles Chanteperdrix wrote:
>>>> entry.S does not handle virtual irq state. So, if it returns to
>>>> user-space with the root stage stalled, nothing will unstall it. And
>>>> you probably get a lockup.
>>>
>>> Right, that's a point. I'm seeing this pattern in x86 now as well.
>>> Comparing further.
>>>
>>> What's missing on ARM are flags adjustments in the register set before
>>> letting Linux inspect that (__fixup_if equivalent). And we should
>>> probably use ipipe_restore_root_nosync on return.
>>
>> There is another difference that should be considered carefullly. x86 says
>>
>> * If we fault over the root domain, we need to replicate the
>> * hw interrupt state into the virtual mask before calling the
>> * I-pipe event handler.
>>
>> and then updates the root state before it calls __ipipe_notify_trap -
>> why? x86-specific?
>
> The why is referring to the "before calling the I-pipe event handler" -
> that we have to do this afterwards when we ended up or already were in
> root is clear.
It seems this is now - at beast - historic logic of x86. We (no longer?)
report anything when __ipipe_notify_trap is invoked over the root domain:
/*
* We send a notification about all traps raised over a
* registered head domain only.
*/
if (__ipipe_root_p)
goto out;
Will clean up on x86 soon.
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
next prev parent reply other threads:[~2015-02-23 18:30 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-20 18:03 [Xenomai] ipipe: issues with ARM exception handling Jan Kiszka
2015-02-20 18:13 ` Gilles Chanteperdrix
2015-02-20 18:17 ` Jan Kiszka
2015-02-20 18:19 ` Jan Kiszka
2015-02-20 19:44 ` Philippe Gerum
2015-02-20 19:47 ` Philippe Gerum
2015-02-20 19:52 ` Philippe Gerum
2015-02-23 16:06 ` Jan Kiszka
2015-02-23 16:32 ` Philippe Gerum
2015-02-23 16:37 ` Gilles Chanteperdrix
2015-02-23 16:50 ` Jan Kiszka
2015-02-23 16:52 ` Gilles Chanteperdrix
2015-02-23 17:02 ` Jan Kiszka
2015-02-23 17:14 ` Gilles Chanteperdrix
2015-02-23 17:38 ` Jan Kiszka
2015-02-23 17:49 ` Jan Kiszka
2015-02-23 17:52 ` Jan Kiszka
2015-02-23 18:30 ` Jan Kiszka [this message]
2015-02-24 16:23 ` Jan Kiszka
2015-02-24 16:45 ` Gilles Chanteperdrix
2015-02-24 16:46 ` Jan Kiszka
2015-02-24 16:50 ` Gilles Chanteperdrix
2015-02-23 16:55 ` Gilles Chanteperdrix
2015-02-23 17:01 ` Philippe Gerum
2015-02-23 17:12 ` Gilles Chanteperdrix
2015-02-23 17:21 ` Gilles Chanteperdrix
2015-02-23 17:43 ` Jan Kiszka
2015-02-23 17:51 ` Gilles Chanteperdrix
2015-02-23 17:54 ` Jan Kiszka
2015-02-23 18:04 ` Gilles Chanteperdrix
2015-02-23 18:11 ` Gilles Chanteperdrix
2015-02-23 18:16 ` Jan Kiszka
2015-02-23 18:32 ` Jan Kiszka
2015-02-23 18:34 ` Gilles Chanteperdrix
2015-02-23 19:14 ` Jan Kiszka
2015-02-23 19:18 ` Gilles Chanteperdrix
2015-02-23 18:33 ` Gilles Chanteperdrix
2015-02-23 19:13 ` Gilles Chanteperdrix
2015-02-23 20:25 ` Philippe Gerum
2015-02-23 20:27 ` Gilles Chanteperdrix
2015-02-23 20:33 ` Philippe Gerum
2015-02-23 20:38 ` Gilles Chanteperdrix
2015-02-23 20:49 ` Philippe Gerum
2015-02-23 20:54 ` Gilles Chanteperdrix
2015-02-23 20:43 ` Philippe Gerum
2015-02-23 20:46 ` Gilles Chanteperdrix
2015-02-23 17:02 ` Gilles Chanteperdrix
2015-02-20 18:38 ` Gilles Chanteperdrix
2015-02-20 18:51 ` Jan Kiszka
2015-02-20 18:53 ` Gilles Chanteperdrix
2015-02-20 18:57 ` Jan Kiszka
2015-02-20 18:59 ` Gilles Chanteperdrix
2015-02-20 19:04 ` Jan Kiszka
2015-02-21 9:13 ` Philippe Gerum
2015-02-23 15:59 ` Jan Kiszka
2015-02-23 16:29 ` Philippe Gerum
2015-02-23 16:58 ` Jan Kiszka
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=54EB71B2.9060607@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=gilles.chanteperdrix@xenomai.org \
--cc=rpm@xenomai.org \
--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.