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?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.