Chun Yan Liu
2011-Apr-01 07:57 UTC
[Xen-devel]qemu-dm: direct kernel boot to HVM regression
Direct kernel boot to HVM doesn''t work in xen-4.0.1-testing and xen-4.1.0- testing. In xen-3.3.1-testing, it works. There were two patches related to this: Daniel P. Berrange''s patch: # Direct linux kernel boot for HVM, add a fake boot sector to first disk. # http://lists.xensource.com/archives/html/xen-devel/2007-12/msg00723.html xen-3.3.1-testing uses this patch and works. Anthony Liguori''s patch: # use option rom instead of boot sector for -kernel # http://copilotco.com/mail-archives/qemu.2008/msg10186.html xen-4.0.1-testing and later adopts that. It moves load_linux part to #ifndef CONFIG_DM case only: load_linux(phys_ram_base + option_rom_offset, kernel_filename, initrd_filename, kernel_cmdline) But in a usual case, CONFIG_DM is set, that part of code is never executed. Direct kernel boot to HVM doesn''t work any more. It still calls bios to find bootable disk. And another question: when I tried to move load_linux outside the #ifndef CONFIG_DM check, the code could not be built succcessfully. It complains qemu_ram_alloc is undefined reference. Removing CONFIG_DM form xen-config-host.h and let it enter the #ifndef CONFIG_DM part, there is same complain. qemu_ram_alloc is defined in tools/ioemu/exec.c, but I didn''t find exec.o is built. Not very clear about the make rules of that part, any info? Thanks, Chunyan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Stefano Stabellini
2011-Apr-01 15:12 UTC
Re: [Xen-devel]qemu-dm: direct kernel boot to HVM regression
On Fri, 1 Apr 2011, Chun Yan Liu wrote:> Direct kernel boot to HVM doesn''t work in xen-4.0.1-testing and xen-4.1.0- > testing. In xen-3.3.1-testing, it works. > There were two patches related to this: > Daniel P. Berrange''s patch: > # Direct linux kernel boot for HVM, add a fake boot sector to first disk. > # http://lists.xensource.com/archives/html/xen-devel/2007-12/msg00723.html > xen-3.3.1-testing uses this patch and works. > > Anthony Liguori''s patch: > # use option rom instead of boot sector for -kernel > # http://copilotco.com/mail-archives/qemu.2008/msg10186.html > xen-4.0.1-testing and later adopts that. > It moves load_linux part to #ifndef CONFIG_DM case only: > load_linux(phys_ram_base + option_rom_offset, kernel_filename, > initrd_filename, kernel_cmdline) > But in a usual case, CONFIG_DM is set, that part of code is never executed. > Direct kernel boot to HVM doesn''t work any more. It still calls bios to find > bootable disk. >I wasn''t even aware that xen supported this feature for HVM guests. How is it exposed to users? Why is this better than using PV guests?> And another question: > when I tried to move load_linux outside the #ifndef CONFIG_DM check, the code > could not be built succcessfully. It complains qemu_ram_alloc is undefined > reference. Removing CONFIG_DM form xen-config-host.h and let it enter the > #ifndef CONFIG_DM part, there is same complain. > qemu_ram_alloc is defined in tools/ioemu/exec.c, but I didn''t find exec.o is > built. Not very clear about the make rules of that part, any info?You need to provide a qemu_ram_alloc implementation that is compiled and works on xen, the default one wouldn''t do it. Maybe you can give a look at what we were doing in qemu-xen 3.3 and forward-port it. In any case you should be aware that we are about to switch to upstream qemu for development on xen-unstable. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel