Wolfgang Mauerer wrote:
> (sorry if you get this twice, the cc addresses were screwed up
> by copy and paste last time)
> Kiszka, Jan wrote:
>> If we enter __ipipe_handle_exception over a non-root domain and leave it
>> due to migration in the event handler over root, we must not restore the
>> root domain state so far saved on entry. This caused subtle pipeline
>> state corruptions. Actually, we only need to save the state if we enter
>> over the root domain and have to align its state to the hardware
>> interrupt mask.
>> Moreover, the x86-32 regs.eflags fix-up must happen based on the current
>> root domain state to avoid more spurious corruptions.
> unfortunately, this won't boot on x86-32: During CPU bug checking
> in check_hlt, the kernel will really go into the halt state and
> never recover. By modifying __ipipe_handle_exception to use
> raw_irqs_disabled_flags as argument to __fixup_if instead of
> raw_irqs_disabled, everything is back to normal again. However,

That would reintroduce the bug we saw on 64 bit to 32 bit (in a slight
variation). So we need to understand what goes wrong here. Can you
generate an ipipe panic trace?

> I'm not sure if this is a) the proper solution or b) won't cause
> problems somewhere else, so a discussion would be highly welcome...
> Cheers, Wolfgang


Attachment: signature.asc
Description: OpenPGP digital signature

Xenomai-core mailing list

Reply via email to