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
