linux-insides icon indicating copy to clipboard operation
linux-insides copied to clipboard

Difference in head_64.S between Kernel 4.16.18 and Kernel 4.17-latest

Open bockjoo opened this issue 7 years ago • 3 comments

There is a huge difference in head_64.S between Kernel 4.16.18 and Kernel 4.17-latest with the MacbookPro14,4 hardware. On MacbookPro14,4, Kernel 4.16.18 boots, but Kernel 4.17 up to the latest Kernel would not boot. To illustrate my point, I have replaced 3 files in 4.17 like so: cp linux-4.16.18/arch/x86/boot/compressed/head_64.S linux-4.17/arch/x86/boot/compressed/head_64.S cp linux-4.16.18/arch/x86/boot/compressed/pgtable_64.c linux-4.17/arch/x86/boot/compressed/pgtable_64.c # to get rid of trampoline_32bit_src cp linux-4.16.18/arch/x86/boot/compressed/misc.c linux-4.17/arch/x86/boot/compressed/misc.c # to get rid of trampoline_32bit and built the kernel with the change and the kernel boots fine. Could you explain what was the reason behind the change and could trampoline_32bit be the reason why head_64.S would not work on some hardware? Could you expand https://0xax.gitbooks.io to include the change of head_64.S? Thanks, Bockjoo

bockjoo avatar Nov 19 '18 01:11 bockjoo

I would like to understand the new trampoline_32bit addition and I think some description of of how it works in head_64.S and pgtable_64.c would be very useful. The book helps understand the boot process, but lacks some detail to be helpful in finding the source of the trampoline issue w.r.t. some hardwares for mere mortals like me.

bockjoo avatar Dec 05 '18 01:12 bockjoo