Re: [PATCH] x86/xen: fix booting 32-bit pv guest

From: Boris Ostrovsky
Date: Thu Apr 09 2020 - 10:45:00 EST



On 4/9/20 3:00 AM, Juergen Gross wrote:
> Commit 2f62f36e62daec ("x86/xen: Make the boot CPU idle task reliable")
> introduced a regression for booting 32 bit Xen PV guests: the address
> of the initial stack needs to be a virtual one.
>
> Fixes: 2f62f36e62daec ("x86/xen: Make the boot CPU idle task reliable")
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>


Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>


> ---
> arch/x86/xen/xen-head.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
> index 7d1c4fcbe8f7..1ba601df3a37 100644
> --- a/arch/x86/xen/xen-head.S
> +++ b/arch/x86/xen/xen-head.S
> @@ -38,7 +38,7 @@ SYM_CODE_START(startup_xen)
> #ifdef CONFIG_X86_64


While at it, I'd swap the ifdefs and fold x86_64 case into the one below.


> mov initial_stack(%rip), %rsp
> #else
> - mov pa(initial_stack), %esp
> + mov initial_stack, %esp
> #endif
>
> #ifdef CONFIG_X86_64