Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
bockjoo opened this issue Nov 19, 2018 · 1 comment
Open

Comments

@bockjoo
Copy link

bockjoo commented Nov 19, 2018

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
Copy link
Author

bockjoo commented Dec 5, 2018

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants