On Mon, 2018-03-19 at 22:52 +0000, Maciej W. Rozycki wrote: > On Mon, 19 Mar 2018, Maciej W. Rozycki wrote: > > > > > Commit 304acb717e5b67cf56f05bc5b21123758e1f7ea0 AKA > > > > https://patchwork.linux-mips.org/patch/9705/ was backported to 3.16.55 > > > > stable as 8605aa2fea28c0485aeb60c114a9d52df1455915 and I'm afraid it > > > > causes yeeloongs to fail to boot up. 3.16.54 was fine; bisection took > > > > me to this patch. > > [...] > > > Guenter Roeck reported the same problem on QEMU Malta emulation. > > > I haven't yet ivnestigated why this causes breakage. I will aim to fix > > > this in the next update (will be 3.16.57 now), if necessary by > > > reverting that and whatever depends on it. > > > > I'll see if I can trigger it with my development setup and investigate. > > OK, I have been able to reproduce the crash and I can see what is going > on here: the backport didn't take into account a change from `break' to > `goto out' required for code in `do_cpu' in that old version and > consequently `force_sig(SIGILL, current)' is reached whenever the first > FPU instruction is executed on hard-float hardware, with obvious > consequences. > > Rather than messing with commit 304acb717e5b ("MIPS: Set `si_code' for > SIGFPE signals sent from emulation too") though, I suggest cherry-picking > commit 27e28e8ec47a ("MIPS: Normalise code flow in the CpU exception > handler"), which was in the original series and which I have verified to > remove the crash. I believe it is obvious enough to be considered safe to > backport. I started looking at this today and also found that commit, but hadn't tested it yet. Thanks for confirming. Ben. > Please let me know if you need anything else from me. > > Maciej -- Ben Hutchings Time is nature's way of making sure that everything doesn't happen at once.
Attachment:
signature.asc
Description: This is a digitally signed message part