On Fri, Dec 29, 2017 at 12:22 PM, Alexander Tsoy <alexander@xxxxxxx> wrote: >> But double-checking that "-march=core2" case is definitely worth >> looking into. Especially since there are clear indications that it's >> gcc version-dependent anyway. Alexander? > > Yes, the change suggested by Dave makes the problem go away. Ok, that's good information. It doesn't really explain *why* that commit 7f2590a110b8 ("x86/entry/64: Use a per-CPU trampoline stack for IDT entries") ends up being sensitive to that compiler option, though. So it narrows the cause down, but it doesn't really root-cause the problem. It tends to be almost impossible to find differences in code generation, because they are generally all over. Ho humm. What happens if you change the "-march=core2" to "-mtune=core2"? Does it still boot? Because maybe the actual differences that "-march=core2" generates might be easier to see when compared to "-mtune=core2". Linus