~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/virt/kvm/s390/s390-diag.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/virt/kvm/s390/s390-diag.rst (Version linux-6.12-rc7) and /Documentation/virt/kvm/s390/s390-diag.rst (Version linux-4.18.20)


  1 .. SPDX-License-Identifier: GPL-2.0               
  2                                                   
  3 =============================                     
  4 The s390 DIAGNOSE call on KVM                     
  5 =============================                     
  6                                                   
  7 KVM on s390 supports the DIAGNOSE call for mak    
  8 native hypercalls and for selected hypercalls     
  9 hypervisors.                                      
 10                                                   
 11 Note that bits are numbered as by the usual s3    
 12 bit on the left).                                 
 13                                                   
 14                                                   
 15 General remarks                                   
 16 ---------------                                   
 17                                                   
 18 DIAGNOSE calls by the guest cause a mandatory     
 19 all supported DIAGNOSE calls need to be handle    
 20 userspace.                                        
 21                                                   
 22 All DIAGNOSE calls supported by KVM use the RS    
 23                                                   
 24   --------------------------------------          
 25   |  '83'  | R1 | R3 | B2 |     D2     |          
 26   --------------------------------------          
 27   0        8    12   16   20           31         
 28                                                   
 29 The second-operand address (obtained by the ba    
 30 is not used to address data. Instead, bits 48-    
 31 the function code, and bits 0-47 are ignored.     
 32                                                   
 33 The supported DIAGNOSE function codes vary by     
 34 DIAGNOSE function codes not specific to KVM, p    
 35 documentation for the s390 hypervisors definin    
 36                                                   
 37                                                   
 38 DIAGNOSE function code 'X'500' - KVM virtio fu    
 39 ----------------------------------------------    
 40                                                   
 41 If the function code specifies 0x500, various     
 42 are performed.                                    
 43                                                   
 44 General register 1 contains the virtio subfunc    
 45 virtio subfunctions depend on KVM's userspace.    
 46 provides either s390-virtio (subcodes 0-2) or     
 47                                                   
 48 Upon completion of the DIAGNOSE instruction, g    
 49 the function's return code, which is either a     
 50 specific value.                                   
 51                                                   
 52 Subcode 0 - s390-virtio notification and early    
 53     Handled by userspace.                         
 54                                                   
 55 Subcode 1 - s390-virtio reset                     
 56     Handled by userspace.                         
 57                                                   
 58 Subcode 2 - s390-virtio set status                
 59     Handled by userspace.                         
 60                                                   
 61 Subcode 3 - virtio-ccw notification               
 62     Handled by either userspace or KVM (ioeven    
 63                                                   
 64     General register 2 contains a subchannel-i    
 65     the subchannel of the virtio-ccw proxy dev    
 66                                                   
 67     General register 3 contains the number of     
 68                                                   
 69     General register 4 contains a 64bit identi    
 70     kvm_io_bus cookie). If general register 4     
 71     identifier, it is ignored.                    
 72                                                   
 73     After completion of the DIAGNOSE call, gen    
 74     a 64bit identifier (in the kvm_io_bus cook    
 75     error value, if an internal error occurred    
 76                                                   
 77     See also the virtio standard for a discuss    
 78                                                   
 79                                                   
 80 DIAGNOSE function code 'X'501 - KVM breakpoint    
 81 ----------------------------------------------    
 82                                                   
 83 If the function code specifies 0x501, breakpoi    
 84 This function code is handled by userspace.       
 85                                                   
 86 This diagnose function code has no subfunction    
 87                                                   
 88                                                   
 89 DIAGNOSE function code 'X'9C - Voluntary Time     
 90 ----------------------------------------------    
 91                                                   
 92 General register 1 contains the target CPU add    
 93                                                   
 94 In a guest of a hypervisor like LPAR, KVM or z    
 95 DIAGNOSE with function code 0x9c may improve s    
 96 yielding the host CPU on which the guest CPU i    
 97 to another guest CPU, preferably the logical C    
 98 target CPU.                                       
 99                                                   
100                                                   
101 DIAG 'X'9C forwarding                             
102 +++++++++++++++++++++                             
103                                                   
104 The guest may send a DIAGNOSE 0x9c in order to    
105 other vcpu. An example is a Linux guest that t    
106 that is currently holding a spinlock, but not     
107                                                   
108 However, on the host the real cpu backing the     
109 running.                                          
110 Forwarding the DIAGNOSE 0x9c initially sent by    
111 the backing cpu will hopefully cause that cpu,    
112 the guest's vcpu, to be scheduled.                
113                                                   
114                                                   
115 diag9c_forwarding_hz                              
116     KVM kernel parameter allowing to specify t    
117     0x9c forwarding per second in the purpose     
118     forwarding storm.                             
119     A value of 0 turns the forwarding off.        
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php