On Mon, Jul 25, 2016 at 01:27:22PM -0600, Trammell Hudson wrote:
I did find this note from 2008 that mentioned a similar issue regarding xen, kexec and coreboot:
http://ward.vandewege.net/blog/2008/08/kexecing-into-a-xen-kernel/
Following the links to the xen-devel mailing list had some hints:
# There seems to be a regression with regard to kexec'ing into # a Xen kernel between Xen 3.1.0 (confirmed working) and 3.1.3 # (confirmed not working). I would try 3.1.1 and 3.1.2 but # source for 3.1 versions older than 3.1.3 no longer seems to # be available for download. I still had source for 3.1.0 # lying around, luckily.
I decided to try Xen 3.1.0 and found that the hypervisor does start up just fine when kexec'ed from my Linux payload launched from Coreboot (although my 4.6 payload isn't compatible with the ELF loader used by the older Xen):
https://www.flickr.com/photos/osr/27931937284/in/photostream/lightbox/
Ward's further testing was the Xen 3.2 tree would fail to kexec even with the "no-real-mode" flag and came to the conclusion that:
# This is likely a coreboot bug, so I'll have to track that # down. Any information about differences between what 3.2.1 # and 3.1.4 require to be kexec'ed into would be most helpful # though.
Unfortunately there weren't any followups.