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

Celelibi
Tue, 04 Aug 2015 17:31:41 -0000

2015-08-04 11:13 UTC+02:00, intrigeri via Syslinux <syslinux at
zytor.com>:
> Hi,
>
> Thomas Letan via Syslinux wrote (04 Aug 2015 06:55:48 GMT) :
>> Syslinux 6.03 (efi64) fails to boot a 32-bit kernel.
>
> Maybe I'm missing something, but this has been working flawlessly for
> us in Tails so far. What exactly fails?
>
> Cheers,
> --
> intrigeri


Some time ago I've had a booting issue I traced to exactly the code
that is fixed by this patch.
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.

I unfortunately left this in standby for too long.

I think qemu and some processors are just more permissive and allow
the current code to work. The CPU I tried to boot on is the AMD
A4-5300 APU.


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


My 2 cents.
Celelibi