2008-04-01 03:08:29 -04:00
|
|
|
Currently, kvm module in EXPERIMENTAL stage on IA64. This means that
|
|
|
|
interfaces are not stable enough to use. So, plase had better don't run
|
|
|
|
critical applications in virtual machine. We will try our best to make it
|
|
|
|
strong in future versions!
|
|
|
|
Guide: How to boot up guests on kvm/ia64
|
|
|
|
|
|
|
|
This guide is to describe how to enable kvm support for IA-64 systems.
|
|
|
|
|
|
|
|
1. Get the kvm source from git.kernel.org.
|
|
|
|
Userspace source:
|
|
|
|
git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-userspace.git
|
|
|
|
Kernel Source:
|
|
|
|
git clone git://git.kernel.org/pub/scm/linux/kernel/git/xiantao/kvm-ia64.git
|
|
|
|
|
|
|
|
2. Compile the source code.
|
|
|
|
2.1 Compile userspace code:
|
|
|
|
(1)cd ./kvm-userspace
|
|
|
|
(2)./configure
|
|
|
|
(3)cd kernel
|
|
|
|
(4)make sync LINUX= $kernel_dir (kernel_dir is the directory of kernel source.)
|
|
|
|
(5)cd ..
|
|
|
|
(6)make qemu
|
|
|
|
(7)cd qemu; make install
|
|
|
|
|
|
|
|
2.2 Compile kernel source code:
|
|
|
|
(1) cd ./$kernel_dir
|
|
|
|
(2) Make menuconfig
|
|
|
|
(3) Enter into virtualization option, and choose kvm.
|
|
|
|
(4) make
|
|
|
|
(5) Once (4) done, make modules_install
|
|
|
|
(6) Make initrd, and use new kernel to reboot up host machine.
|
|
|
|
(7) Once (6) done, cd $kernel_dir/arch/ia64/kvm
|
|
|
|
(8) insmod kvm.ko; insmod kvm-intel.ko
|
|
|
|
|
|
|
|
Note: For step 2, please make sure that host page size == TARGET_PAGE_SIZE of qemu, otherwise, may fail.
|
|
|
|
|
|
|
|
3. Get Guest Firmware named as Flash.fd, and put it under right place:
|
|
|
|
(1) If you have the guest firmware (binary) released by Intel Corp for Xen, use it directly.
|
|
|
|
|
|
|
|
(2) If you have no firmware at hand, Please download its source from
|
|
|
|
hg clone http://xenbits.xensource.com/ext/efi-vfirmware.hg
|
|
|
|
you can get the firmware's binary in the directory of efi-vfirmware.hg/binaries.
|
|
|
|
|
|
|
|
(3) Rename the firware you owned to Flash.fd, and copy it to /usr/local/share/qemu
|
|
|
|
|
|
|
|
4. Boot up Linux or Windows guests:
|
|
|
|
4.1 Create or install a image for guest boot. If you have xen experience, it should be easy.
|
|
|
|
|
|
|
|
4.2 Boot up guests use the following command.
|
|
|
|
/usr/local/bin/qemu-system-ia64 -smp xx -m 512 -hda $your_image
|
|
|
|
(xx is the number of virtual processors for the guest, now the maximum value is 4)
|
|
|
|
|
2008-07-25 22:45:33 -04:00
|
|
|
5. Known possible issue on some platforms with old Firmware.
|
2008-04-01 03:08:29 -04:00
|
|
|
|
2008-07-25 22:45:33 -04:00
|
|
|
In the event of strange host crash issues, try to solve it through either of the following ways:
|
2008-04-01 03:08:29 -04:00
|
|
|
|
|
|
|
(1): Upgrade your Firmware to the latest one.
|
|
|
|
|
|
|
|
(2): Applying the below patch to kernel source.
|
|
|
|
diff --git a/arch/ia64/kernel/pal.S b/arch/ia64/kernel/pal.S
|
|
|
|
index 0b53344..f02b0f7 100644
|
|
|
|
--- a/arch/ia64/kernel/pal.S
|
|
|
|
+++ b/arch/ia64/kernel/pal.S
|
|
|
|
@@ -84,7 +84,8 @@ GLOBAL_ENTRY(ia64_pal_call_static)
|
|
|
|
mov ar.pfs = loc1
|
|
|
|
mov rp = loc0
|
|
|
|
;;
|
2008-07-25 22:45:33 -04:00
|
|
|
- srlz.d // serialize restoration of psr.l
|
|
|
|
+ srlz.i // serialize restoration of psr.l
|
2008-04-01 03:08:29 -04:00
|
|
|
+ ;;
|
|
|
|
br.ret.sptk.many b0
|
|
|
|
END(ia64_pal_call_static)
|
|
|
|
|
|
|
|
6. Bug report:
|
|
|
|
If you found any issues when use kvm/ia64, Please post the bug info to kvm-ia64-devel mailing list.
|
|
|
|
https://lists.sourceforge.net/lists/listinfo/kvm-ia64-devel/
|
|
|
|
|
|
|
|
Thanks for your interest! Let's work together, and make kvm/ia64 stronger and stronger!
|
|
|
|
|
|
|
|
|
|
|
|
Xiantao Zhang <xiantao.zhang@intel.com>
|
|
|
|
2008.3.10
|