Daniel Kiper [off-list ref] writes:
Some kexec/kdump implementations (e.g. Xen PVOPS) could not use default
Linux infrastructure and require some support from firmware and/or hypervisor.
To cope with that problem kexec firmware infrastructure was introduced.
It allows a developer to use all kexec/kdump features of given firmware
or hypervisor.
As this stands this patch is wrong.
You need to pass an additional flag from userspace through /sbin/kexec
that says load the kexec image in the firmware. A global variable here
is not ok.
As I understand it you are loading a kexec on xen panic image. Which
is semantically different from a kexec on linux panic image. It is not
ok to do have a silly global variable kexec_use_firmware.
Furthermore it is not ok to have a conditional code outside of header
files.
Eric