Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

KVM: ia64: Add a guide about how to create kvm guests on ia64

Guide for creating virtual machine on kvm/ia64.

Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>

authored by

Xiantao Zhang and committed by
Avi Kivity
fdae862f b693919c

+82
+82
Documentation/ia64/kvm.txt
··· 1 + Currently, kvm module in EXPERIMENTAL stage on IA64. This means that 2 + interfaces are not stable enough to use. So, plase had better don't run 3 + critical applications in virtual machine. We will try our best to make it 4 + strong in future versions! 5 + Guide: How to boot up guests on kvm/ia64 6 + 7 + This guide is to describe how to enable kvm support for IA-64 systems. 8 + 9 + 1. Get the kvm source from git.kernel.org. 10 + Userspace source: 11 + git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-userspace.git 12 + Kernel Source: 13 + git clone git://git.kernel.org/pub/scm/linux/kernel/git/xiantao/kvm-ia64.git 14 + 15 + 2. Compile the source code. 16 + 2.1 Compile userspace code: 17 + (1)cd ./kvm-userspace 18 + (2)./configure 19 + (3)cd kernel 20 + (4)make sync LINUX= $kernel_dir (kernel_dir is the directory of kernel source.) 21 + (5)cd .. 22 + (6)make qemu 23 + (7)cd qemu; make install 24 + 25 + 2.2 Compile kernel source code: 26 + (1) cd ./$kernel_dir 27 + (2) Make menuconfig 28 + (3) Enter into virtualization option, and choose kvm. 29 + (4) make 30 + (5) Once (4) done, make modules_install 31 + (6) Make initrd, and use new kernel to reboot up host machine. 32 + (7) Once (6) done, cd $kernel_dir/arch/ia64/kvm 33 + (8) insmod kvm.ko; insmod kvm-intel.ko 34 + 35 + Note: For step 2, please make sure that host page size == TARGET_PAGE_SIZE of qemu, otherwise, may fail. 36 + 37 + 3. Get Guest Firmware named as Flash.fd, and put it under right place: 38 + (1) If you have the guest firmware (binary) released by Intel Corp for Xen, use it directly. 39 + 40 + (2) If you have no firmware at hand, Please download its source from 41 + hg clone http://xenbits.xensource.com/ext/efi-vfirmware.hg 42 + you can get the firmware's binary in the directory of efi-vfirmware.hg/binaries. 43 + 44 + (3) Rename the firware you owned to Flash.fd, and copy it to /usr/local/share/qemu 45 + 46 + 4. Boot up Linux or Windows guests: 47 + 4.1 Create or install a image for guest boot. If you have xen experience, it should be easy. 48 + 49 + 4.2 Boot up guests use the following command. 50 + /usr/local/bin/qemu-system-ia64 -smp xx -m 512 -hda $your_image 51 + (xx is the number of virtual processors for the guest, now the maximum value is 4) 52 + 53 + 5. Known possibile issue on some platforms with old Firmware. 54 + 55 + If meet strange host crashe issues, try to solve it through either of the following ways: 56 + 57 + (1): Upgrade your Firmware to the latest one. 58 + 59 + (2): Applying the below patch to kernel source. 60 + diff --git a/arch/ia64/kernel/pal.S b/arch/ia64/kernel/pal.S 61 + index 0b53344..f02b0f7 100644 62 + --- a/arch/ia64/kernel/pal.S 63 + +++ b/arch/ia64/kernel/pal.S 64 + @@ -84,7 +84,8 @@ GLOBAL_ENTRY(ia64_pal_call_static) 65 + mov ar.pfs = loc1 66 + mov rp = loc0 67 + ;; 68 + - srlz.d // seralize restoration of psr.l 69 + + srlz.i // seralize restoration of psr.l 70 + + ;; 71 + br.ret.sptk.many b0 72 + END(ia64_pal_call_static) 73 + 74 + 6. Bug report: 75 + If you found any issues when use kvm/ia64, Please post the bug info to kvm-ia64-devel mailing list. 76 + https://lists.sourceforge.net/lists/listinfo/kvm-ia64-devel/ 77 + 78 + Thanks for your interest! Let's work together, and make kvm/ia64 stronger and stronger! 79 + 80 + 81 + Xiantao Zhang <xiantao.zhang@intel.com> 82 + 2008.3.10