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)

5. Known possibile issue on some platforms with old Firmware.

If meet strange host crashe issues, try to solve it through either of the following ways:

(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
	;;
-	srlz.d				// seralize restoration of psr.l
+	srlz.i			// seralize restoration of psr.l
+	;;
	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
