[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] PATCH 0/3: Direct linux kernel boot for HVM

This series is a re-post of


Those who saw Chris Wright give my Xen summit presentation a few weeks back
may remember one of the proposals was to support direct linux kernel boot
for HVM guests. ie, the ability to have a guest boot off a kernel, initrd, 
and args instead of merely the BIOS supported disk/cdrom/network.

This capability is useful for provisioning of new guests because you get
the ability to pass information directly to the installer program via the
kernel boot args. For example, with Anaconda you can pass in the URL for
a kickstart file, and thus get a 100% automated / unattended install
without needing to build custom ISO images or setup PXE.

QEMU / KVM have always had this ability for HVM guests, so I figured it
ought to be possible to make it work in Xen too, except the neccessary
code was #ifdef'd out in the ioemu copy of QEMU. After some poking it
became clear why this was.  The Linux kernel wants its protected-mode
image to live at 0x100000 and starts executing at this addr immediately
when switching from real to protected mode. A Xen guest also starts 
executing at 0x100000, and the HVM guest firmware lives at this address.
They obviously can't both live there. Hence why direct kernel boot is
currently not supported on Xen. The answer is to move the Linux kernel
elsewhere....more on that in later patches

The following 3 patches implement all this. They have been tested against
xen-3.2.0 release and trivially re-diffed against unstable. I have tested
on i386 and x86_64. They will not work on ia64. This is expected as its
kernel boot process is completely different to x86 - QEMU only implements
the x86 direct kernel boot process. These patches won't (well shouldn't)
cause any regressions on non-x86 - you simply won't have the new functionality

|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.