diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2013-07-15 07:36:01 -0400 |
---|---|---|
committer | Cornelia Huck <cornelia.huck@de.ibm.com> | 2014-03-21 08:42:49 -0400 |
commit | 841b91c584b6d1e2a2cb508bd2d0236cd37e1750 (patch) | |
tree | 0a2f1b2cfa471cefa22bc9c12628361ed2c0ac4c /Documentation/virtual/kvm | |
parent | d938dc55225a7212e7f31c5a8571da304cc3de16 (diff) |
KVM: s390: adapter interrupt sources
Add a new interface to register/deregister sources of adapter interrupts
identified by an unique id via the flic. Adapters may also be maskable
and carry a list of pinned pages.
These adapters will be used by irq routing later.
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Diffstat (limited to 'Documentation/virtual/kvm')
-rw-r--r-- | Documentation/virtual/kvm/devices/s390_flic.txt | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Documentation/virtual/kvm/devices/s390_flic.txt b/Documentation/virtual/kvm/devices/s390_flic.txt index 410fa673e5b6..4ceef53164b0 100644 --- a/Documentation/virtual/kvm/devices/s390_flic.txt +++ b/Documentation/virtual/kvm/devices/s390_flic.txt | |||
@@ -12,6 +12,7 @@ FLIC provides support to | |||
12 | - inspect currently pending interrupts (KVM_FLIC_GET_ALL_IRQS) | 12 | - inspect currently pending interrupts (KVM_FLIC_GET_ALL_IRQS) |
13 | - purge all pending floating interrupts (KVM_DEV_FLIC_CLEAR_IRQS) | 13 | - purge all pending floating interrupts (KVM_DEV_FLIC_CLEAR_IRQS) |
14 | - enable/disable for the guest transparent async page faults | 14 | - enable/disable for the guest transparent async page faults |
15 | - register and modify adapter interrupt sources (KVM_DEV_FLIC_ADAPTER_*) | ||
15 | 16 | ||
16 | Groups: | 17 | Groups: |
17 | KVM_DEV_FLIC_ENQUEUE | 18 | KVM_DEV_FLIC_ENQUEUE |
@@ -44,3 +45,47 @@ Groups: | |||
44 | Disables async page faults for the guest and waits until already pending | 45 | Disables async page faults for the guest and waits until already pending |
45 | async page faults are done. This is necessary to trigger a completion interrupt | 46 | async page faults are done. This is necessary to trigger a completion interrupt |
46 | for every init interrupt before migrating the interrupt list. | 47 | for every init interrupt before migrating the interrupt list. |
48 | |||
49 | KVM_DEV_FLIC_ADAPTER_REGISTER | ||
50 | Register an I/O adapter interrupt source. Takes a kvm_s390_io_adapter | ||
51 | describing the adapter to register: | ||
52 | |||
53 | struct kvm_s390_io_adapter { | ||
54 | __u32 id; | ||
55 | __u8 isc; | ||
56 | __u8 maskable; | ||
57 | __u8 swap; | ||
58 | __u8 pad; | ||
59 | }; | ||
60 | |||
61 | id contains the unique id for the adapter, isc the I/O interruption subclass | ||
62 | to use, maskable whether this adapter may be masked (interrupts turned off) | ||
63 | and swap whether the indicators need to be byte swapped. | ||
64 | |||
65 | |||
66 | KVM_DEV_FLIC_ADAPTER_MODIFY | ||
67 | Modifies attributes of an existing I/O adapter interrupt source. Takes | ||
68 | a kvm_s390_io_adapter_req specifiying the adapter and the operation: | ||
69 | |||
70 | struct kvm_s390_io_adapter_req { | ||
71 | __u32 id; | ||
72 | __u8 type; | ||
73 | __u8 mask; | ||
74 | __u16 pad0; | ||
75 | __u64 addr; | ||
76 | }; | ||
77 | |||
78 | id specifies the adapter and type the operation. The supported operations | ||
79 | are: | ||
80 | |||
81 | KVM_S390_IO_ADAPTER_MASK | ||
82 | mask or unmask the adapter, as specified in mask | ||
83 | |||
84 | KVM_S390_IO_ADAPTER_MAP | ||
85 | perform a gmap translation for the guest address provided in addr, | ||
86 | pin a userspace page for the translated address and add it to the | ||
87 | list of mappings | ||
88 | |||
89 | KVM_S390_IO_ADAPTER_UNMAP | ||
90 | release a userspace page for the translated address specified in addr | ||
91 | from the list of mappings | ||