Patrick Masotta
2015-Aug-08 17:04 UTC
[syslinux] [PATCH] efi: leaving long mode in kernel_jump routine
>>>> Syslinux 6.03 (efi64) fails to boot a 32-bit kernel. The way Syslinux > leaves long mode in kernel_jump assembly routine does not follow AMD64 > specifications. More precisely: > 1. After setting a new GADT, `cs` has to be refresh by doing a long > jump, but it is not > 2. Other segments have to be updated, but they are not > 3. Disabling paging has to be done before disabling long mode, but the > implementation does the opposite > > In most cases, computer that tries to execute the kernel_jump routine > reboot (it can also hangs). This patch fixes the kernel_jump routine. > Is this patch going to be yet another one that will be "lost" in the mailing list? Is this patch incorrect? Not useful? Unnecessary? <<< It seems "it is" necessary, I'll be probably testing it next week.>>>Newer kernels are supposed to respect certain rules / standards / protocols, and IF everything is done "adequately", then Syslinux (BIOS / EFI*) should be able to boot such newish kernels. <<< AFAIK it seems this patch is even necessary for new kernels in the case EFI64 boots a 32 Bit kernel, right? Best, Patrick
Thomas Letan
2015-Aug-11 07:40 UTC
[syslinux] [PATCH] efi: leaving long mode in kernel_jump routine
Hi! Sorry for not responding earlier. I was planning to but I lack time.> AFAIK it seems this patch is even necessary for new kernels in the case > EFI64 boots a 32 Bit kernel, right?I think it is, yes. I will try to do more test myself. I hope I will be able to tell more this week.
Patrick Masotta
2015-Aug-11 08:15 UTC
[syslinux] [PATCH] efi: leaving long mode in kernel_jump routine
>>>> AFAIK it seems this patch is even necessary for new kernels in? the case > EFI64 boots a 32 Bit kernel, right? I think it is, yes. I will try to do more test myself. I hope I will be able to tell more this week. Thomas Letan <<< Whenever you get a minute please let us know. Thanks ;-) Best, Patrick
Reasonably Related Threads
- [PATCH] efi: leaving long mode in kernel_jump routine
- [PATCH] efi: leaving long mode in kernel_jump routine
- [PATCH] efi: leaving long mode in kernel_jump routine
- [PATCH] efi: leaving long mode in kernel_jump routine
- [PATCH] efi: leaving long mode in kernel_jump routine