<snip> >> The tools know what mode the image must be called it and it can tell the >> hypervisor and the hypervisor can trivial setup the correct mode. >> >> I propose: >> >> * Tools say: "here's an image, call it in mode X". >> >> You suggest: >> >> * Hypervisor implicitly says through some unspecified side channel: "I >> only call images in mode Y". > Purgatory is clearly defined. Please look into kexec-tools/purgatory. > It is integral part of kexec infrastructure. Purgatory might be well defined, but that is not relevant here. The kexec syscall and hypercall basically amount to "Here is a blob. Its architecture is $X and its entry point is $Y" (Give or take some reconstruction) Xen should not be making any assumptions about these things. As it currently stands, Xen will assume that KEXEC_load from a pv_32on64 domain is an i386 image, while a KEXEC_load from a 64bit PV domain is an x86_64 image. The fact that this currently works in the common case of having the crash kernel with the same architecture as the dom0 kernel is by luck rather than good guidance. Furthmore, the design of the interface should not be deliberately crippled because the common user of it "can deal with it like this"; kexec-tools is not the only potential consumer of this interface. ~Andrew