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.

Jan


-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux

_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to