Hi Philippe,
as indicated on xenomai-core, there is at least a theoretical issue with
__ipipe_sync_stage/__ipipe_run_isr and non-root IRQ handlers performing
a domain migration. And it's not only limited to x86 but rather a
cross-arch thing: While __ipipe_run_isr assumes, that the domain stays
the same across a handler call
[e.g. x86-32:]
__clear_bit(IPIPE_SYNC_FLAG, &ipipe_cpudom_var(ipd, status)); \
ipd->irqs[irq].handler(irq, ipd->irqs[irq].cookie); \
__set_bit(IPIPE_SYNC_FLAG, &ipipe_cpudom_var(ipd, status)); \
i.e. ipd is not updated on return, __ipipe_sync_stage interestingly
reloads the current domain
__ipipe_run_isr(ipd, irq);
p = ipipe_cpudom_ptr(ipipe_current_domain);
Is it forbidden for some other reasons to change the domain from within
an IRQ handler or is there a bug sleeping?
Jan
--
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux
_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main