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

KVM: s390: remove outdated documentation

The old Documentation/s390/kvm.txt file is either
outdated or described in Documentation/virtual/kvm/api.txt.
Let's get rid of it.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>

-127
-2
Documentation/s390/00-INDEX
··· 16 16 - hints for debugging on s390 systems. 17 17 driver-model.txt 18 18 - information on s390 devices and the driver model. 19 - kvm.txt 20 - - ioctl calls to /dev/kvm on s390. 21 19 monreader.txt 22 20 - information on accessing the z/VM monitor stream from Linux. 23 21 qeth.txt
-125
Documentation/s390/kvm.txt
··· 1 - *** BIG FAT WARNING *** 2 - The kvm module is currently in EXPERIMENTAL state for s390. This means that 3 - the interface to the module is not yet considered to remain stable. Thus, be 4 - prepared that we keep breaking your userspace application and guest 5 - compatibility over and over again until we feel happy with the result. Make sure 6 - your guest kernel, your host kernel, and your userspace launcher are in a 7 - consistent state. 8 - 9 - This Documentation describes the unique ioctl calls to /dev/kvm, the resulting 10 - kvm-vm file descriptors, and the kvm-vcpu file descriptors that differ from x86. 11 - 12 - 1. ioctl calls to /dev/kvm 13 - KVM does support the following ioctls on s390 that are common with other 14 - architectures and do behave the same: 15 - KVM_GET_API_VERSION 16 - KVM_CREATE_VM (*) see note 17 - KVM_CHECK_EXTENSION 18 - KVM_GET_VCPU_MMAP_SIZE 19 - 20 - Notes: 21 - * KVM_CREATE_VM may fail on s390, if the calling process has multiple 22 - threads and has not called KVM_S390_ENABLE_SIE before. 23 - 24 - In addition, on s390 the following architecture specific ioctls are supported: 25 - ioctl: KVM_S390_ENABLE_SIE 26 - args: none 27 - see also: include/linux/kvm.h 28 - This call causes the kernel to switch on PGSTE in the user page table. This 29 - operation is needed in order to run a virtual machine, and it requires the 30 - calling process to be single-threaded. Note that the first call to KVM_CREATE_VM 31 - will implicitly try to switch on PGSTE if the user process has not called 32 - KVM_S390_ENABLE_SIE before. User processes that want to launch multiple threads 33 - before creating a virtual machine have to call KVM_S390_ENABLE_SIE, or will 34 - observe an error calling KVM_CREATE_VM. Switching on PGSTE is a one-time 35 - operation, is not reversible, and will persist over the entire lifetime of 36 - the calling process. It does not have any user-visible effect other than a small 37 - performance penalty. 38 - 39 - 2. ioctl calls to the kvm-vm file descriptor 40 - KVM does support the following ioctls on s390 that are common with other 41 - architectures and do behave the same: 42 - KVM_CREATE_VCPU 43 - KVM_SET_USER_MEMORY_REGION (*) see note 44 - KVM_GET_DIRTY_LOG (**) see note 45 - 46 - Notes: 47 - * kvm does only allow exactly one memory slot on s390, which has to start 48 - at guest absolute address zero and at a user address that is aligned on any 49 - page boundary. This hardware "limitation" allows us to have a few unique 50 - optimizations. The memory slot doesn't have to be filled 51 - with memory actually, it may contain sparse holes. That said, with different 52 - user memory layout this does still allow a large flexibility when 53 - doing the guest memory setup. 54 - ** KVM_GET_DIRTY_LOG doesn't work properly yet. The user will receive an empty 55 - log. This ioctl call is only needed for guest migration, and we intend to 56 - implement this one in the future. 57 - 58 - In addition, on s390 the following architecture specific ioctls for the kvm-vm 59 - file descriptor are supported: 60 - ioctl: KVM_S390_INTERRUPT 61 - args: struct kvm_s390_interrupt * 62 - see also: include/linux/kvm.h 63 - This ioctl is used to submit a floating interrupt for a virtual machine. 64 - Floating interrupts may be delivered to any virtual cpu in the configuration. 65 - Only some interrupt types defined in include/linux/kvm.h make sense when 66 - submitted as floating interrupts. The following interrupts are not considered 67 - to be useful as floating interrupts, and a call to inject them will result in 68 - -EINVAL error code: program interrupts and interprocessor signals. Valid 69 - floating interrupts are: 70 - KVM_S390_INT_VIRTIO 71 - KVM_S390_INT_SERVICE 72 - 73 - 3. ioctl calls to the kvm-vcpu file descriptor 74 - KVM does support the following ioctls on s390 that are common with other 75 - architectures and do behave the same: 76 - KVM_RUN 77 - KVM_GET_REGS 78 - KVM_SET_REGS 79 - KVM_GET_SREGS 80 - KVM_SET_SREGS 81 - KVM_GET_FPU 82 - KVM_SET_FPU 83 - 84 - In addition, on s390 the following architecture specific ioctls for the 85 - kvm-vcpu file descriptor are supported: 86 - ioctl: KVM_S390_INTERRUPT 87 - args: struct kvm_s390_interrupt * 88 - see also: include/linux/kvm.h 89 - This ioctl is used to submit an interrupt for a specific virtual cpu. 90 - Only some interrupt types defined in include/linux/kvm.h make sense when 91 - submitted for a specific cpu. The following interrupts are not considered 92 - to be useful, and a call to inject them will result in -EINVAL error code: 93 - service processor calls and virtio interrupts. Valid interrupt types are: 94 - KVM_S390_PROGRAM_INT 95 - KVM_S390_SIGP_STOP 96 - KVM_S390_RESTART 97 - KVM_S390_SIGP_SET_PREFIX 98 - KVM_S390_INT_EMERGENCY 99 - 100 - ioctl: KVM_S390_STORE_STATUS 101 - args: unsigned long 102 - see also: include/linux/kvm.h 103 - This ioctl stores the state of the cpu at the guest real address given as 104 - argument, unless one of the following values defined in include/linux/kvm.h 105 - is given as argument: 106 - KVM_S390_STORE_STATUS_NOADDR - the CPU stores its status to the save area in 107 - absolute lowcore as defined by the principles of operation 108 - KVM_S390_STORE_STATUS_PREFIXED - the CPU stores its status to the save area in 109 - its prefix page just like the dump tool that comes with zipl. This is useful 110 - to create a system dump for use with lkcdutils or crash. 111 - 112 - ioctl: KVM_S390_SET_INITIAL_PSW 113 - args: struct kvm_s390_psw * 114 - see also: include/linux/kvm.h 115 - This ioctl can be used to set the processor status word (psw) of a stopped cpu 116 - prior to running it with KVM_RUN. Note that this call is not required to modify 117 - the psw during sie intercepts that fall back to userspace because struct kvm_run 118 - does contain the psw, and this value is evaluated during reentry of KVM_RUN 119 - after the intercept exit was recognized. 120 - 121 - ioctl: KVM_S390_INITIAL_RESET 122 - args: none 123 - see also: include/linux/kvm.h 124 - This ioctl can be used to perform an initial cpu reset as defined by the 125 - principles of operation. The target cpu has to be in stopped state.