I am not able to get kexec to work. For x86_64 relocate_kernel fails to store information for jumping back.
Kexec stops in
movq %r9, CP_PA_TABLE_PAGE(%r11).
works fine for kernel 4.4.162, doesn't work for 4.19.2
also works with 4.19.16
How can I find out which change caused this error?
It seems it is a config issue, it works also for 4.19.2 however with defconfig. Does someone know what the config option breaks kexec?
I forgot to save/restore scratch registers
Really kexec stops in
/* Switch to the identity mapped page tables */ movq %r9, %cr3
Any idea? What config parameter is wrong?
Must also mention I had to disable loading of fs and gs in load_segments(), otherwise kexec breaks already in load_segments()
Is it EFI issue?