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 > Jan
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core