diff options
author | Tiejun Chen <tiejun.chen@intel.com> | 2014-11-20 05:07:18 -0500 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-11-20 05:08:55 -0500 |
commit | c32a42721ce67594e4481a961aa149055de9c1d9 (patch) | |
tree | 52352d5f484f3e571a47a09a559b612d36b527b6 /Documentation | |
parent | 003f7de6258900e17f6206e8e417d76c75ca549f (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.txt | 83 | ||||
-rw-r--r-- | Documentation/virtual/kvm/api.txt | 45 |
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 @@ | |||
1 | Currently, kvm module is in EXPERIMENTAL stage on IA64. This means that | ||
2 | interfaces are not stable enough to use. So, please don't run critical | ||
3 | applications in virtual machine. | ||
4 | We will try our best to improve it in future versions! | ||
5 | |||
6 | Guide: How to boot up guests on kvm/ia64 | ||
7 | |||
8 | This guide is to describe how to enable kvm support for IA-64 systems. | ||
9 | |||
10 | 1. 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 | |||
16 | 2. 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 | |||
36 | Note: For step 2, please make sure that host page size == TARGET_PAGE_SIZE of qemu, otherwise, may fail. | ||
37 | |||
38 | 3. 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 | |||
47 | 4. 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 | |||
54 | 5. Known possible issue on some platforms with old Firmware. | ||
55 | |||
56 | In 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. | ||
61 | diff --git a/arch/ia64/kernel/pal.S b/arch/ia64/kernel/pal.S | ||
62 | index 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 | |||
75 | 6. 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 | |||
79 | Thanks 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 { | |||
607 | 4.24 KVM_CREATE_IRQCHIP | 607 | 4.24 KVM_CREATE_IRQCHIP |
608 | 608 | ||
609 | Capability: KVM_CAP_IRQCHIP, KVM_CAP_S390_IRQCHIP (s390) | 609 | Capability: KVM_CAP_IRQCHIP, KVM_CAP_S390_IRQCHIP (s390) |
610 | Architectures: x86, ia64, ARM, arm64, s390 | 610 | Architectures: x86, ARM, arm64, s390 |
611 | Type: vm ioctl | 611 | Type: vm ioctl |
612 | Parameters: none | 612 | Parameters: none |
613 | Returns: 0 on success, -1 on error | 613 | Returns: 0 on success, -1 on error |
@@ -615,7 +615,7 @@ Returns: 0 on success, -1 on error | |||
615 | Creates an interrupt controller model in the kernel. On x86, creates a virtual | 615 | Creates an interrupt controller model in the kernel. On x86, creates a virtual |
616 | ioapic, a virtual PIC (two PICs, nested), and sets up future vcpus to have a | 616 | ioapic, a virtual PIC (two PICs, nested), and sets up future vcpus to have a |
617 | local APIC. IRQ routing for GSIs 0-15 is set to both PIC and IOAPIC; GSI 16-23 | 617 | local APIC. IRQ routing for GSIs 0-15 is set to both PIC and IOAPIC; GSI 16-23 |
618 | only go to the IOAPIC. On ia64, a IOSAPIC is created. On ARM/arm64, a GIC is | 618 | only go to the IOAPIC. On ARM/arm64, a GIC is |
619 | created. On s390, a dummy irq routing table is created. | 619 | created. On s390, a dummy irq routing table is created. |
620 | 620 | ||
621 | Note that on s390 the KVM_CAP_S390_IRQCHIP vm capability needs to be enabled | 621 | Note 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. | |||
625 | 4.25 KVM_IRQ_LINE | 625 | 4.25 KVM_IRQ_LINE |
626 | 626 | ||
627 | Capability: KVM_CAP_IRQCHIP | 627 | Capability: KVM_CAP_IRQCHIP |
628 | Architectures: x86, ia64, arm, arm64 | 628 | Architectures: x86, arm, arm64 |
629 | Type: vm ioctl | 629 | Type: vm ioctl |
630 | Parameters: struct kvm_irq_level | 630 | Parameters: struct kvm_irq_level |
631 | Returns: 0 on success, -1 on error | 631 | Returns: 0 on success, -1 on error |
@@ -679,7 +679,7 @@ struct kvm_irq_level { | |||
679 | 4.26 KVM_GET_IRQCHIP | 679 | 4.26 KVM_GET_IRQCHIP |
680 | 680 | ||
681 | Capability: KVM_CAP_IRQCHIP | 681 | Capability: KVM_CAP_IRQCHIP |
682 | Architectures: x86, ia64 | 682 | Architectures: x86 |
683 | Type: vm ioctl | 683 | Type: vm ioctl |
684 | Parameters: struct kvm_irqchip (in/out) | 684 | Parameters: struct kvm_irqchip (in/out) |
685 | Returns: 0 on success, -1 on error | 685 | Returns: 0 on success, -1 on error |
@@ -701,7 +701,7 @@ struct kvm_irqchip { | |||
701 | 4.27 KVM_SET_IRQCHIP | 701 | 4.27 KVM_SET_IRQCHIP |
702 | 702 | ||
703 | Capability: KVM_CAP_IRQCHIP | 703 | Capability: KVM_CAP_IRQCHIP |
704 | Architectures: x86, ia64 | 704 | Architectures: x86 |
705 | Type: vm ioctl | 705 | Type: vm ioctl |
706 | Parameters: struct kvm_irqchip (in) | 706 | Parameters: struct kvm_irqchip (in) |
707 | Returns: 0 on success, -1 on error | 707 | Returns: 0 on success, -1 on error |
@@ -994,7 +994,7 @@ for vm-wide capabilities. | |||
994 | 4.38 KVM_GET_MP_STATE | 994 | 4.38 KVM_GET_MP_STATE |
995 | 995 | ||
996 | Capability: KVM_CAP_MP_STATE | 996 | Capability: KVM_CAP_MP_STATE |
997 | Architectures: x86, ia64, s390 | 997 | Architectures: x86, s390 |
998 | Type: vcpu ioctl | 998 | Type: vcpu ioctl |
999 | Parameters: struct kvm_mp_state (out) | 999 | Parameters: struct kvm_mp_state (out) |
1000 | Returns: 0 on success; -1 on error | 1000 | Returns: 0 on success; -1 on error |
@@ -1008,16 +1008,15 @@ uniprocessor guests). | |||
1008 | 1008 | ||
1009 | Possible values are: | 1009 | Possible 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 | ||
1028 | On x86 and ia64, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an | 1027 | On x86, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an |
1029 | in-kernel irqchip, the multiprocessing state must be maintained by userspace on | 1028 | in-kernel irqchip, the multiprocessing state must be maintained by userspace on |
1030 | these architectures. | 1029 | these architectures. |
1031 | 1030 | ||
@@ -1033,7 +1032,7 @@ these architectures. | |||
1033 | 4.39 KVM_SET_MP_STATE | 1032 | 4.39 KVM_SET_MP_STATE |
1034 | 1033 | ||
1035 | Capability: KVM_CAP_MP_STATE | 1034 | Capability: KVM_CAP_MP_STATE |
1036 | Architectures: x86, ia64, s390 | 1035 | Architectures: x86, s390 |
1037 | Type: vcpu ioctl | 1036 | Type: vcpu ioctl |
1038 | Parameters: struct kvm_mp_state (in) | 1037 | Parameters: struct kvm_mp_state (in) |
1039 | Returns: 0 on success; -1 on error | 1038 | Returns: 0 on success; -1 on error |
@@ -1041,7 +1040,7 @@ Returns: 0 on success; -1 on error | |||
1041 | Sets the vcpu's current "multiprocessing state"; see KVM_GET_MP_STATE for | 1040 | Sets the vcpu's current "multiprocessing state"; see KVM_GET_MP_STATE for |
1042 | arguments. | 1041 | arguments. |
1043 | 1042 | ||
1044 | On x86 and ia64, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an | 1043 | On x86, this ioctl is only useful after KVM_CREATE_IRQCHIP. Without an |
1045 | in-kernel irqchip, the multiprocessing state must be maintained by userspace on | 1044 | in-kernel irqchip, the multiprocessing state must be maintained by userspace on |
1046 | these architectures. | 1045 | these architectures. |
1047 | 1046 | ||
@@ -1068,7 +1067,7 @@ documentation when it pops into existence). | |||
1068 | 4.41 KVM_SET_BOOT_CPU_ID | 1067 | 4.41 KVM_SET_BOOT_CPU_ID |
1069 | 1068 | ||
1070 | Capability: KVM_CAP_SET_BOOT_CPU_ID | 1069 | Capability: KVM_CAP_SET_BOOT_CPU_ID |
1071 | Architectures: x86, ia64 | 1070 | Architectures: x86 |
1072 | Type: vm ioctl | 1071 | Type: vm ioctl |
1073 | Parameters: unsigned long vcpu_id | 1072 | Parameters: unsigned long vcpu_id |
1074 | Returns: 0 on success, -1 on error | 1073 | Returns: 0 on success, -1 on error |
@@ -1261,7 +1260,7 @@ The flags bitmap is defined as: | |||
1261 | 4.48 KVM_ASSIGN_PCI_DEVICE | 1260 | 4.48 KVM_ASSIGN_PCI_DEVICE |
1262 | 1261 | ||
1263 | Capability: none | 1262 | Capability: none |
1264 | Architectures: x86 ia64 | 1263 | Architectures: x86 |
1265 | Type: vm ioctl | 1264 | Type: vm ioctl |
1266 | Parameters: struct kvm_assigned_pci_dev (in) | 1265 | Parameters: struct kvm_assigned_pci_dev (in) |
1267 | Returns: 0 on success, -1 on error | 1266 | Returns: 0 on success, -1 on error |
@@ -1311,7 +1310,7 @@ Errors: | |||
1311 | 4.49 KVM_DEASSIGN_PCI_DEVICE | 1310 | 4.49 KVM_DEASSIGN_PCI_DEVICE |
1312 | 1311 | ||
1313 | Capability: none | 1312 | Capability: none |
1314 | Architectures: x86 ia64 | 1313 | Architectures: x86 |
1315 | Type: vm ioctl | 1314 | Type: vm ioctl |
1316 | Parameters: struct kvm_assigned_pci_dev (in) | 1315 | Parameters: struct kvm_assigned_pci_dev (in) |
1317 | Returns: 0 on success, -1 on error | 1316 | Returns: 0 on success, -1 on error |
@@ -1330,7 +1329,7 @@ Errors: | |||
1330 | 4.50 KVM_ASSIGN_DEV_IRQ | 1329 | 4.50 KVM_ASSIGN_DEV_IRQ |
1331 | 1330 | ||
1332 | Capability: KVM_CAP_ASSIGN_DEV_IRQ | 1331 | Capability: KVM_CAP_ASSIGN_DEV_IRQ |
1333 | Architectures: x86 ia64 | 1332 | Architectures: x86 |
1334 | Type: vm ioctl | 1333 | Type: vm ioctl |
1335 | Parameters: struct kvm_assigned_irq (in) | 1334 | Parameters: struct kvm_assigned_irq (in) |
1336 | Returns: 0 on success, -1 on error | 1335 | Returns: 0 on success, -1 on error |
@@ -1370,7 +1369,7 @@ Errors: | |||
1370 | 4.51 KVM_DEASSIGN_DEV_IRQ | 1369 | 4.51 KVM_DEASSIGN_DEV_IRQ |
1371 | 1370 | ||
1372 | Capability: KVM_CAP_ASSIGN_DEV_IRQ | 1371 | Capability: KVM_CAP_ASSIGN_DEV_IRQ |
1373 | Architectures: x86 ia64 | 1372 | Architectures: x86 |
1374 | Type: vm ioctl | 1373 | Type: vm ioctl |
1375 | Parameters: struct kvm_assigned_irq (in) | 1374 | Parameters: struct kvm_assigned_irq (in) |
1376 | Returns: 0 on success, -1 on error | 1375 | Returns: 0 on success, -1 on error |
@@ -1385,7 +1384,7 @@ KVM_ASSIGN_DEV_IRQ. Partial deassignment of host or guest IRQ is allowed. | |||
1385 | 4.52 KVM_SET_GSI_ROUTING | 1384 | 4.52 KVM_SET_GSI_ROUTING |
1386 | 1385 | ||
1387 | Capability: KVM_CAP_IRQ_ROUTING | 1386 | Capability: KVM_CAP_IRQ_ROUTING |
1388 | Architectures: x86 ia64 s390 | 1387 | Architectures: x86 s390 |
1389 | Type: vm ioctl | 1388 | Type: vm ioctl |
1390 | Parameters: struct kvm_irq_routing (in) | 1389 | Parameters: struct kvm_irq_routing (in) |
1391 | Returns: 0 on success, -1 on error | 1390 | Returns: 0 on success, -1 on error |
@@ -1444,7 +1443,7 @@ struct kvm_irq_routing_s390_adapter { | |||
1444 | 4.53 KVM_ASSIGN_SET_MSIX_NR | 1443 | 4.53 KVM_ASSIGN_SET_MSIX_NR |
1445 | 1444 | ||
1446 | Capability: none | 1445 | Capability: none |
1447 | Architectures: x86 ia64 | 1446 | Architectures: x86 |
1448 | Type: vm ioctl | 1447 | Type: vm ioctl |
1449 | Parameters: struct kvm_assigned_msix_nr (in) | 1448 | Parameters: struct kvm_assigned_msix_nr (in) |
1450 | Returns: 0 on success, -1 on error | 1449 | Returns: 0 on success, -1 on error |
@@ -1466,7 +1465,7 @@ struct kvm_assigned_msix_nr { | |||
1466 | 4.54 KVM_ASSIGN_SET_MSIX_ENTRY | 1465 | 4.54 KVM_ASSIGN_SET_MSIX_ENTRY |
1467 | 1466 | ||
1468 | Capability: none | 1467 | Capability: none |
1469 | Architectures: x86 ia64 | 1468 | Architectures: x86 |
1470 | Type: vm ioctl | 1469 | Type: vm ioctl |
1471 | Parameters: struct kvm_assigned_msix_entry (in) | 1470 | Parameters: struct kvm_assigned_msix_entry (in) |
1472 | Returns: 0 on success, -1 on error | 1471 | Returns: 0 on success, -1 on error |