On Wed, Jan 17, 2018 at 01:24:54PM +0800, Baoquan He wrote:
Hi Kirill,
I setup qemu 2.9.0 to test 5-level on kexec/kdump support. While both kexec and kdump reset to BIOS immediately after triggering. I saw your patch adding 5-level paging support for kexec. Wonder if your test succeeded to jump into kexec/kdump kernel, and what else I need to make it. By the way, I just tested the latest upstream kernel.
commit 7f6890418 x86/kexec: Add 5-level paging support
[ ~]$ qemu-system-x86_64 --version QEMU emulator version 2.9.0(qemu-2.9.0-1.fc26.1) Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
Sorry for delay.
I didn't tested it in 5-level paging mode :-/
The patch below helps in my case. Could you test it?
diff --git a/arch/x86/kernel/relocate_kernel_64.S b/arch/x86/kernel/relocate_kernel_64.S index 307d3bac5f04..65a98cf2307d 100644 --- a/arch/x86/kernel/relocate_kernel_64.S +++ b/arch/x86/kernel/relocate_kernel_64.S @@ -126,8 +126,12 @@ identity_mapped: /* * Set cr4 to a known state: * - physical address extension enabled + * - 5-level paging, if enabled */ movl $X86_CR4_PAE, %eax +#ifdef CONFIG_X86_5LEVEL + orl $X86_CR4_LA57, %eax +#endif movq %rax, %cr4
jmp 1f