aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorTiejun Chen <tiejun.chen@intel.com>2014-11-20 05:07:18 -0500
committerPaolo Bonzini <pbonzini@redhat.com>2014-11-20 05:08:55 -0500
commitc32a42721ce67594e4481a961aa149055de9c1d9 (patch)
tree52352d5f484f3e571a47a09a559b612d36b527b6 /Documentation
parent003f7de6258900e17f6206e8e417d76c75ca549f (diff)
kvm: Documentation: remove ia64
kvm/ia64 is gone, clean up Documentation too. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ia64/kvm.txt83
-rw-r--r--Documentation/virtual/kvm/api.txt45
2 files changed, 22 insertions, 106 deletions
diff --git a/Documentation/ia64/kvm.txt b/Documentation/ia64/kvm.txt
deleted file mode 100644
index ffb5c80bec3e..000000000000
--- a/Documentation/ia64/kvm.txt
+++ /dev/null
@@ -1,83 +0,0 @@
1Currently, kvm module is in EXPERIMENTAL stage on IA64. This means that
2interfaces are not stable enough to use. So, please don't run critical
3applications in virtual machine.
4We will try our best to improve it in future versions!
5
6 Guide: How to boot up guests on kvm/ia64
7
8This guide is to describe how to enable kvm support for IA-64 systems.
9
101. Get the kvm source from git.kernel.org.
11 Userspace source:
12 git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-userspace.git
13 Kernel Source:
14 git clone git://git.kernel.org/pub/scm/linux/kernel/git/xiantao/kvm-ia64.git
15
162. Compile the source code.
17 2.1 Compile userspace code:
18 (1)cd ./kvm-userspace
19 (2)./configure
20 (3)cd kernel
21 (4)make sync LINUX= $kernel_dir (kernel_dir is the directory of kernel source.)
22 (5)cd ..
23 (6)make qemu
24 (7)cd qemu; make install
25
26 2.2 Compile kernel source code:
27 (1) cd ./$kernel_dir
28 (2) Make menuconfig
29 (3) Enter into virtualization option, and choose kvm.
30 (4) make
31 (5) Once (4) done, make modules_install
32 (6) Make initrd, and use new kernel to reboot up host machine.
33 (7) Once (6) done, cd $kernel_dir/arch/ia64/kvm
34 (8) insmod kvm.ko; insmod kvm-intel.ko
35
36Note: For step 2, please make sure that host page size == TARGET_PAGE_SIZE of qemu, otherwise, may fail.
37
383. Get Guest Firmware named as Flash.fd, and put it under right place:
39 (1) If you have the guest firmware (binary) released by Intel Corp for Xen, use it directly.
40
41 (2) If you have no firmware at hand, Please download its source from
42 hg clone http://xenbits.xensource.com/ext/efi-vfirmware.hg
43 you can get the firmware's binary in the directory of efi-vfirmware.hg/binaries.
44
45 (3) Rename the firmware you owned to Flash.fd, and copy it to /usr/local/share/qemu
46
474. Boot up Linux or Windows guests:
48 4.1 Create or install a image for guest boot. If you have xen experience, it should be easy.
49
50 4.2 Boot up guests use the following command.
51 /usr/local/bin/qemu-system-ia64 -smp xx -m 512 -hda $your_image
52 (xx is the number of virtual processors for the guest, now the maximum value is 4)
53
545. Known possible issue on some platforms with old Firmware.
55
56In the event of strange host crash issues, try to solve it through either of the following ways:
57
58(1): Upgrade your Firmware to the latest one.
59
60(2): Applying the below patch to kernel source.
61diff --git a/arch/ia64/kernel/pal.S b/arch/ia64/kernel/pal.S
62index 0b53344..f02b0f7 100644
63--- a/arch/ia64/kernel/pal.S
64+++ b/arch/ia64/kernel/pal.S
65@@ -84,7 +84,8 @@ GLOBAL_ENTRY(ia64_pal_call_static)
66 mov ar.pfs = loc1
67 mov rp = loc0
68 ;;
69- srlz.d // serialize restoration of psr.l
70+ srlz.i // serialize restoration of psr.l
71+ ;;
72 br.ret.sptk.many b0
73 END(ia64_pal_call_static)
74
756. Bug report:
76 If you found any issues when use kvm/ia64, Please post the bug info to kvm-ia64-devel mailing list.
77 https://lists.sourceforge.net/lists/listinfo/kvm-ia64-devel/
78
79Thanks for your interest! Let's work together, and make kvm/ia64 stronger and stronger!
80
81
82 Xiantao Zhang <xiantao.zhang@intel.com>
83 2008.3.10
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index 7a943c23db1c..80bfe59fc992 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -607,7 +607,7 @@ struct kvm_fpu {
6074.24 KVM_CREATE_IRQCHIP 6074.24 KVM_CREATE_IRQCHIP
608 608
609Capability: KVM_CAP_IRQCHIP, KVM_CAP_S390_IRQCHIP (s390) 609Capability: KVM_CAP_IRQCHIP, KVM_CAP_S390_IRQCHIP (s390)
610Architectures: x86, ia64, ARM, arm64, s390 610Architectures: x86, ARM, arm64, s390
611Type: vm ioctl 611Type: vm ioctl
612Parameters: none 612Parameters: none
613Returns: 0 on success, -1 on error 613Returns: 0 on success, -1 on error
@@ -615,7 +615,7 @@ Returns: 0 on success, -1 on error
615Creates an interrupt controller model in the kernel. On x86, creates a virtual 615Creates an interrupt controller model in the kernel. On x86, creates a virtual
616ioapic, a virtual PIC (two PICs, nested), and sets up future vcpus to have a 616ioapic, a virtual PIC (two PICs, nested), and sets up future vcpus to have a
617local APIC. IRQ routing for GSIs 0-15 is set to both PIC and IOAPIC; GSI 16-23 617local APIC. IRQ routing for GSIs 0-15 is set to both PIC and IOAPIC; GSI 16-23
618only go to the IOAPIC. On ia64, a IOSAPIC is created. On ARM/arm64, a GIC is 618only go to the IOAPIC. On ARM/arm64, a GIC is
619created. On s390, a dummy irq routing table is created. 619created. On s390, a dummy irq routing table is created.
620 620
621Note that on s390 the KVM_CAP_S390_IRQCHIP vm capability needs to be enabled 621Note that on s390 the KVM_CAP_S390_IRQCHIP vm capability needs to be enabled
@@ -625,7 +625,7 @@ before KVM_CREATE_IRQCHIP can be used.
6254.25 KVM_IRQ_LINE 6254.25 KVM_IRQ_LINE
626 626
627Capability: KVM_CAP_IRQCHIP 627Capability: KVM_CAP_IRQCHIP
628Architectures: x86, ia64, arm, arm64 628Architectures: x86, arm, arm64
629Type: vm ioctl 629Type: vm ioctl
630Parameters: struct kvm_irq_level 630Parameters: struct kvm_irq_level
631Returns: 0 on success, -1 on error 631Returns: 0 on success, -1 on error
@@ -679,7 +679,7 @@ struct kvm_irq_level {
6794.26 KVM_GET_IRQCHIP 6794.26 KVM_GET_IRQCHIP
680 680
681Capability: KVM_CAP_IRQCHIP 681Capability: KVM_CAP_IRQCHIP
682Architectures: x86, ia64 682Architectures: x86
683Type: vm ioctl 683Type: vm ioctl
684Parameters: struct kvm_irqchip (in/out) 684Parameters: struct kvm_irqchip (in/out)
685Returns: 0 on success, -1 on error 685Returns: 0 on success, -1 on error
@@ -701,7 +701,7 @@ struct kvm_irqchip {
7014.27 KVM_SET_IRQCHIP 7014.27 KVM_SET_IRQCHIP
702 702
703Capability: KVM_CAP_IRQCHIP 703Capability: KVM_CAP_IRQCHIP
704Architectures: x86, ia64 704Architectures: x86
705Type: vm ioctl 705Type: vm ioctl
706Parameters: struct kvm_irqchip (in) 706Parameters: struct kvm_irqchip (in)
707Returns: 0 on success, -1 on error 707Returns: 0 on success, -1 on error
@@ -994,7 +994,7 @@ for vm-wide capabilities.
9944.38 KVM_GET_MP_STATE 9944.38 KVM_GET_MP_STATE
995 995
996Capability: KVM_CAP_MP_STATE 996Capability: KVM_CAP_MP_STATE
997Architectures: x86, ia64, s390 997Architectures: x86, s390
998Type: vcpu ioctl 998Type: vcpu ioctl
999Parameters: struct kvm_mp_state (out) 999Parameters: struct kvm_mp_state (out)
1000Returns: 0 on success; -1 on error 1000Returns: 0 on success; -1 on error
@@ -1008,16 +1008,15 @@ uniprocessor guests).
1008 1008
1009Possible values are: 1009Possible values are:
1010 1010
1011 - KVM_MP_STATE_RUNNABLE: the vcpu is currently running [x86, ia64] 1011 - KVM_MP_STATE_RUNNABLE: the vcpu is currently running [x86]
1012 - KVM_MP_STATE_UNINITIALIZED: the vcpu is an application processor (AP) 1012 - KVM_MP_STATE_UNINITIALIZED: the vcpu is an application processor (AP)
1013 which has not yet received an INIT signal [x86, 1013 which has not yet received an INIT signal [x86]
1014 ia64]
1015 - KVM_MP_STATE_INIT_RECEIVED: the vcpu has received an INIT signal, and is 1014 - KVM_MP_STATE_INIT_RECEIVED: the vcpu has received an INIT signal, and is
1016 now ready for a SIPI [x86, ia64] 1015 now ready for a SIPI [x86]
1017 - KVM_MP_STATE_HALTED: the vcpu has executed a HLT instruction and 1016 - KVM_MP_STATE_HALTED: the vcpu has executed a HLT instruction and
1018 is waiting for an interrupt [x86, ia64] 1017 is waiting for an interrupt [x86]
1019 - KVM_MP_STATE_SIPI_RECEIVED: the vcpu has just received a SIPI (vector 1018 - KVM_MP_STATE_SIPI_RECEIVED: the vcpu has just received a SIPI (vector
1020 accessible via KVM_GET_VCPU_EVENTS) [x86, ia64] 1019 accessible via KVM_GET_VCPU_EVENTS) [x86]
1021 - KVM_MP_STATE_STOPPED: the vcpu is stopped [s390] 1020 - KVM_MP_STATE_STOPPED: the vcpu is stopped [s390]
1022 - KVM_MP_STATE_CHECK_STOP: the vcpu is in a special error state [s390] 1021 - KVM_MP_STATE_CHECK_STOP: the vcpu is in a special error state [s390]
1023 - KVM_MP_STATE_OPERATING: the vcpu is operating (running or halted) 1022 - KVM_MP_STATE_OPERATING: the vcpu is operating (running or halted)
@@ -1025,7 +1024,7 @@ Possible values are:
1025 - KVM_MP_STATE_LOAD: the vcpu is in a special load/startup state 1024 - KVM_MP_STATE_LOAD: the vcpu is in a special load/startup state
1026 [s390] 1025 [s390]
1027 1026
1028On x86 and ia64, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an 1027On x86, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an
1029in-kernel irqchip, the multiprocessing state must be maintained by userspace on 1028in-kernel irqchip, the multiprocessing state must be maintained by userspace on
1030these architectures. 1029these architectures.
1031 1030
@@ -1033,7 +1032,7 @@ these architectures.
10334.39 KVM_SET_MP_STATE 10324.39 KVM_SET_MP_STATE
1034 1033
1035Capability: KVM_CAP_MP_STATE 1034Capability: KVM_CAP_MP_STATE
1036Architectures: x86, ia64, s390 1035Architectures: x86, s390
1037Type: vcpu ioctl 1036Type: vcpu ioctl
1038Parameters: struct kvm_mp_state (in) 1037Parameters: struct kvm_mp_state (in)
1039Returns: 0 on success; -1 on error 1038Returns: 0 on success; -1 on error
@@ -1041,7 +1040,7 @@ Returns: 0 on success; -1 on error
1041Sets the vcpu's current "multiprocessing state"; see KVM_GET_MP_STATE for 1040Sets the vcpu's current "multiprocessing state"; see KVM_GET_MP_STATE for
1042arguments. 1041arguments.
1043 1042
1044On x86 and ia64, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an 1043On x86, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an
1045in-kernel irqchip, the multiprocessing state must be maintained by userspace on 1044in-kernel irqchip, the multiprocessing state must be maintained by userspace on
1046these architectures. 1045these architectures.
1047 1046
@@ -1068,7 +1067,7 @@ documentation when it pops into existence).
10684.41 KVM_SET_BOOT_CPU_ID 10674.41 KVM_SET_BOOT_CPU_ID
1069 1068
1070Capability: KVM_CAP_SET_BOOT_CPU_ID 1069Capability: KVM_CAP_SET_BOOT_CPU_ID
1071Architectures: x86, ia64 1070Architectures: x86
1072Type: vm ioctl 1071Type: vm ioctl
1073Parameters: unsigned long vcpu_id 1072Parameters: unsigned long vcpu_id
1074Returns: 0 on success, -1 on error 1073Returns: 0 on success, -1 on error
@@ -1261,7 +1260,7 @@ The flags bitmap is defined as:
12614.48 KVM_ASSIGN_PCI_DEVICE 12604.48 KVM_ASSIGN_PCI_DEVICE
1262 1261
1263Capability: none 1262Capability: none
1264Architectures: x86 ia64 1263Architectures: x86
1265Type: vm ioctl 1264Type: vm ioctl
1266Parameters: struct kvm_assigned_pci_dev (in) 1265Parameters: struct kvm_assigned_pci_dev (in)
1267Returns: 0 on success, -1 on error 1266Returns: 0 on success, -1 on error
@@ -1311,7 +1310,7 @@ Errors:
13114.49 KVM_DEASSIGN_PCI_DEVICE 13104.49 KVM_DEASSIGN_PCI_DEVICE
1312 1311
1313Capability: none 1312Capability: none
1314Architectures: x86 ia64 1313Architectures: x86
1315Type: vm ioctl 1314Type: vm ioctl
1316Parameters: struct kvm_assigned_pci_dev (in) 1315Parameters: struct kvm_assigned_pci_dev (in)
1317Returns: 0 on success, -1 on error 1316Returns: 0 on success, -1 on error
@@ -1330,7 +1329,7 @@ Errors:
13304.50 KVM_ASSIGN_DEV_IRQ 13294.50 KVM_ASSIGN_DEV_IRQ
1331 1330
1332Capability: KVM_CAP_ASSIGN_DEV_IRQ 1331Capability: KVM_CAP_ASSIGN_DEV_IRQ
1333Architectures: x86 ia64 1332Architectures: x86
1334Type: vm ioctl 1333Type: vm ioctl
1335Parameters: struct kvm_assigned_irq (in) 1334Parameters: struct kvm_assigned_irq (in)
1336Returns: 0 on success, -1 on error 1335Returns: 0 on success, -1 on error
@@ -1370,7 +1369,7 @@ Errors:
13704.51 KVM_DEASSIGN_DEV_IRQ 13694.51 KVM_DEASSIGN_DEV_IRQ
1371 1370
1372Capability: KVM_CAP_ASSIGN_DEV_IRQ 1371Capability: KVM_CAP_ASSIGN_DEV_IRQ
1373Architectures: x86 ia64 1372Architectures: x86
1374Type: vm ioctl 1373Type: vm ioctl
1375Parameters: struct kvm_assigned_irq (in) 1374Parameters: struct kvm_assigned_irq (in)
1376Returns: 0 on success, -1 on error 1375Returns: 0 on success, -1 on error
@@ -1385,7 +1384,7 @@ KVM_ASSIGN_DEV_IRQ. Partial deassignment of host or guest IRQ is allowed.
13854.52 KVM_SET_GSI_ROUTING 13844.52 KVM_SET_GSI_ROUTING
1386 1385
1387Capability: KVM_CAP_IRQ_ROUTING 1386Capability: KVM_CAP_IRQ_ROUTING
1388Architectures: x86 ia64 s390 1387Architectures: x86 s390
1389Type: vm ioctl 1388Type: vm ioctl
1390Parameters: struct kvm_irq_routing (in) 1389Parameters: struct kvm_irq_routing (in)
1391Returns: 0 on success, -1 on error 1390Returns: 0 on success, -1 on error
@@ -1444,7 +1443,7 @@ struct kvm_irq_routing_s390_adapter {
14444.53 KVM_ASSIGN_SET_MSIX_NR 14434.53 KVM_ASSIGN_SET_MSIX_NR
1445 1444
1446Capability: none 1445Capability: none
1447Architectures: x86 ia64 1446Architectures: x86
1448Type: vm ioctl 1447Type: vm ioctl
1449Parameters: struct kvm_assigned_msix_nr (in) 1448Parameters: struct kvm_assigned_msix_nr (in)
1450Returns: 0 on success, -1 on error 1449Returns: 0 on success, -1 on error
@@ -1466,7 +1465,7 @@ struct kvm_assigned_msix_nr {
14664.54 KVM_ASSIGN_SET_MSIX_ENTRY 14654.54 KVM_ASSIGN_SET_MSIX_ENTRY
1467 1466
1468Capability: none 1467Capability: none
1469Architectures: x86 ia64 1468Architectures: x86
1470Type: vm ioctl 1469Type: vm ioctl
1471Parameters: struct kvm_assigned_msix_entry (in) 1470Parameters: struct kvm_assigned_msix_entry (in)
1472Returns: 0 on success, -1 on error 1471Returns: 0 on success, -1 on error