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

TOMOYO Linux Cross Reference
Linux/Documentation/virt/kvm/devices/s390_flic.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/devices/s390_flic.rst (Version linux-6.12-rc7) and /Documentation/virt/kvm/devices/s390_flic.rst (Version linux-4.15.18)


  1 .. SPDX-License-Identifier: GPL-2.0               
  2                                                   
  3 ====================================              
  4 FLIC (floating interrupt controller)              
  5 ====================================              
  6                                                   
  7 FLIC handles floating (non per-cpu) interrupts    
  8 machine check interruptions. All interrupts ar    
  9 pending interrupts. FLIC performs operations o    
 10                                                   
 11 Only one FLIC instance may be instantiated.       
 12                                                   
 13 FLIC provides support to                          
 14 - add interrupts (KVM_DEV_FLIC_ENQUEUE)           
 15 - inspect currently pending interrupts (KVM_FL    
 16 - purge all pending floating interrupts (KVM_D    
 17 - purge one pending floating I/O interrupt (KV    
 18 - enable/disable for the guest transparent asy    
 19 - register and modify adapter interrupt source    
 20 - modify AIS (adapter-interruption-suppression    
 21 - inject adapter interrupts on a specified ada    
 22 - get/set all AIS mode states (KVM_DEV_FLIC_AI    
 23                                                   
 24 Groups:                                           
 25   KVM_DEV_FLIC_ENQUEUE                            
 26     Passes a buffer and length into the kernel    
 27     the list of pending interrupts.               
 28     attr->addr contains the pointer to the buf    
 29     the length of the buffer.                     
 30     The format of the data structure kvm_s390_    
 31     is defined in usr/include/linux/kvm.h.        
 32                                                   
 33   KVM_DEV_FLIC_GET_ALL_IRQS                       
 34     Copies all floating interrupts into a buff    
 35     When the buffer is too small it returns -E    
 36     for userspace to try again with a bigger b    
 37                                                   
 38     -ENOBUFS is returned when the allocation o    
 39     failed.                                       
 40                                                   
 41     -EFAULT is returned when copying data to u    
 42     All interrupts remain pending, i.e. are no    
 43     currently pending interrupts.                 
 44     attr->addr contains the userspace address     
 45     interrupt data will be copied.                
 46     attr->attr contains the size of the buffer    
 47                                                   
 48   KVM_DEV_FLIC_CLEAR_IRQS                         
 49     Simply deletes all elements from the list     
 50     interrupts.  No interrupts are injected in    
 51                                                   
 52   KVM_DEV_FLIC_CLEAR_IO_IRQ                       
 53     Deletes one (if any) I/O interrupt for a s    
 54     subsystem identification word passed via t    
 55     attr->addr (address) and attr->attr (lengt    
 56                                                   
 57   KVM_DEV_FLIC_APF_ENABLE                         
 58     Enables async page faults for the guest. S    
 59     the host is allowed to handle this async a    
 60                                                   
 61   KVM_DEV_FLIC_APF_DISABLE_WAIT                   
 62     Disables async page faults for the guest a    
 63     async page faults are done. This is necess    
 64     for every init interrupt before migrating     
 65                                                   
 66   KVM_DEV_FLIC_ADAPTER_REGISTER                   
 67     Register an I/O adapter interrupt source.     
 68     describing the adapter to register::          
 69                                                   
 70         struct kvm_s390_io_adapter {              
 71                 __u32 id;                         
 72                 __u8 isc;                         
 73                 __u8 maskable;                    
 74                 __u8 swap;                        
 75                 __u8 flags;                       
 76         };                                        
 77                                                   
 78    id contains the unique id for the adapter,     
 79    to use, maskable whether this adapter may b    
 80    swap whether the indicators need to be byte    
 81    further characteristics of the adapter.        
 82                                                   
 83    Currently defined values for 'flags' are:      
 84                                                   
 85    - KVM_S390_ADAPTER_SUPPRESSIBLE: adapter is    
 86      (adapter-interrupt-suppression) facility.    
 87      the AIS capability is enabled.               
 88                                                   
 89    Unknown flag values are ignored.               
 90                                                   
 91                                                   
 92   KVM_DEV_FLIC_ADAPTER_MODIFY                     
 93     Modifies attributes of an existing I/O ada    
 94     a kvm_s390_io_adapter_req specifying the a    
 95                                                   
 96         struct kvm_s390_io_adapter_req {          
 97                 __u32 id;                         
 98                 __u8 type;                        
 99                 __u8 mask;                        
100                 __u16 pad0;                       
101                 __u64 addr;                       
102         };                                        
103                                                   
104     id specifies the adapter and type the oper    
105     are:                                          
106                                                   
107     KVM_S390_IO_ADAPTER_MASK                      
108       mask or unmask the adapter, as specified    
109                                                   
110     KVM_S390_IO_ADAPTER_MAP                       
111       This is now a no-op. The mapping is pure    
112     KVM_S390_IO_ADAPTER_UNMAP                     
113       This is now a no-op. The mapping is pure    
114                                                   
115   KVM_DEV_FLIC_AISM                               
116     modify the adapter-interruption-suppressio    
117     AIS capability is enabled. Takes a kvm_s39    
118                                                   
119         struct kvm_s390_ais_req {                 
120                 __u8 isc;                         
121                 __u16 mode;                       
122         };                                        
123                                                   
124     isc contains the target I/O interruption s    
125     adapter-interruption-suppression mode. The    
126     currently supported:                          
127                                                   
128     - KVM_S390_AIS_MODE_ALL: ALL-Interruptions    
129       is always allowed;                          
130     - KVM_S390_AIS_MODE_SINGLE: SINGLE-Interru    
131       injection is only allowed once and the f    
132       will be suppressed until the mode is set    
133       or SINGLE-Interruption mode.                
134                                                   
135   KVM_DEV_FLIC_AIRQ_INJECT                        
136     Inject adapter interrupts on a specified a    
137     attr->attr contains the unique id for the     
138     adapter-specific checks and actions.          
139     For adapters subject to AIS, handle the ai    
140     an isc according to the adapter-interrupti    
141     that the AIS capability is enabled.           
142                                                   
143   KVM_DEV_FLIC_AISM_ALL                           
144     Gets or sets the adapter-interruption-supp    
145     a kvm_s390_ais_all describing::               
146                                                   
147         struct kvm_s390_ais_all {                 
148                __u8 simm; /* Single-Interrupti    
149                __u8 nimm; /* No-Interruption-M    
150         };                                        
151                                                   
152     simm contains Single-Interruption-Mode mas    
153     No-Interruption-Mode mask for all ISCs. Ea    
154     to an ISC (MSB0 bit 0 to ISC 0 and so on).    
155     nimm bit presents AIS mode for a ISC.         
156                                                   
157     KVM_DEV_FLIC_AISM_ALL is indicated by KVM_    
158                                                   
159 Note: The KVM_SET_DEVICE_ATTR/KVM_GET_DEVICE_A    
160 FLIC with an unknown group or attribute gives     
161 ENXIO, as specified in the API documentation).    
162 that a FLIC operation is unavailable based on     
163 usage attempt.                                    
164                                                   
165 .. note:: The KVM_DEV_FLIC_CLEAR_IO_IRQ ioctl     
166           zero schid is specified.                
                                                      

~ [ 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