Message ID | 8c5448eeebbba998a7fff9ed9b2f7e7f3e437967.1697792461.git.houwenlong.hwl@antgroup.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86/xen/pvh: Enable PAE mode for 32-bit guest only when CONFIG_X86_PAE is set | expand |
On 20.10.23 11:08, Hou Wenlong wrote: > The PVH entry is available for 32-bit KVM guests, and 32-bit KVM guests > do not depend on CONFIG_X86_PAE. However, mk_early_pgtbl_32() builds > different pagetables depending on whether CONFIG_X86_PAE is set. > Therefore, enabling PAE mode for 32-bit KVM guests without > CONFIG_X86_PAE being set would result in a boot failure during CR3 > loading. > > Signed-off-by: Hou Wenlong <houwenlong.hwl@antgroup.com> Reviewed-by: Juergen Gross <jgross@suse.com> Juergen
diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S index c4365a05ab83..085adb1b2313 100644 --- a/arch/x86/platform/pvh/head.S +++ b/arch/x86/platform/pvh/head.S @@ -70,10 +70,12 @@ SYM_CODE_START_LOCAL(pvh_start_xen) mov $_pa(early_stack_end), %esp +#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) /* Enable PAE mode. */ mov %cr4, %eax orl $X86_CR4_PAE, %eax mov %eax, %cr4 +#endif #ifdef CONFIG_X86_64 /* Enable Long mode. */
The PVH entry is available for 32-bit KVM guests, and 32-bit KVM guests do not depend on CONFIG_X86_PAE. However, mk_early_pgtbl_32() builds different pagetables depending on whether CONFIG_X86_PAE is set. Therefore, enabling PAE mode for 32-bit KVM guests without CONFIG_X86_PAE being set would result in a boot failure during CR3 loading. Signed-off-by: Hou Wenlong <houwenlong.hwl@antgroup.com> --- arch/x86/platform/pvh/head.S | 2 ++ 1 file changed, 2 insertions(+)