[syslinux] [PATCH] efi: leaving long mode in kernel_jump routine

Thomas Letan thomas.letan at ssi.gouv.fr
Wed Aug 5 00:31:16 PDT 2015


Hi

> The effect was simply that the (physical) machine rebooted exactly on
> the wrmsr instruction. The result of my investigation was that the
> code wasn't following the protocol (by intel and by AMD) for leaving
> long mode as pointed out by Thomas Letan.

Indeed it's exactly that!

> I think qemu and some processors are just more permissive and allow
> the current code to work.

Yes, I had the same conclusion myself.

> Given the code involved, I'm not sure it is relevant whether we want
> to boot a 32 bits or 64 bits kernel.

It unifies the boot sequence for 32 and 64bit kernels by jumping to
32bit kernel entry point. As Genne Cumm pointed out, it's for kernel
that doesn't use Handover protocol. However, as far as I know, it is
required to boot a 32bit kernel with a 64bit UEFI. Am I wrong?

Thomas




More information about the Syslinux mailing list