Andrew Cooper writes ("Re: [PATCH] x86/kexec: Fix crash on transition to a
32bit kernel on AMD hardware"):
> On 01/11/2021 12:13, Ian Jackson wrote:
> > Andrew Cooper writes ("Re: [PATCH] x86/kexec: Fix crash on transition to a
> > 32bit kernel on AMD hardware"
On 29.10.2021 01:26, Andrew Cooper wrote:
> The `ljmp *mem` instruction is (famously?) not binary compatible between Intel
> and AMD CPUS. The AMD-compatible version would require .long to be .quad in
> the second hunk.
>From all sources I have the incompatibility is only with REX.W: Intel
honors
On 01/11/2021 12:13, Ian Jackson wrote:
> Andrew Cooper writes ("Re: [PATCH] x86/kexec: Fix crash on transition to a
> 32bit kernel on AMD hardware"):
>> This path is only taken for a 32bit crash kernel. It is not taken for
>> 64bit crash kernels, or they wouldn'
Andrew Cooper writes ("Re: [PATCH] x86/kexec: Fix crash on transition to a
32bit kernel on AMD hardware"):
> This path is only taken for a 32bit crash kernel. It is not taken for
> 64bit crash kernels, or they wouldn't work on AMD either, and this is
> something we tes
On 01/11/2021 10:53, Ian Jackson wrote:
> Andrew Cooper writes ("[PATCH] x86/kexec: Fix crash on transition to a 32bit
> kernel on AMD hardware"):
>> The `ljmp *mem` instruction is (famously?) not binary compatible between
>> Intel
>> and AMD CPUS. The AMD-comp
Andrew Cooper writes ("[PATCH] x86/kexec: Fix crash on transition to a 32bit
kernel on AMD hardware"):
> The `ljmp *mem` instruction is (famously?) not binary compatible between Intel
> and AMD CPUS. The AMD-compatible version would require .long to be .quad in
> the second h
The `ljmp *mem` instruction is (famously?) not binary compatible between Intel
and AMD CPUS. The AMD-compatible version would require .long to be .quad in
the second hunk.
Switch to using lretq, which is compatible between Intel and AMD, as well as
being less logic overall.
Fixes: 5a82d5cf352d (