diff options
author | David Hildenbrand <dahi@linux.vnet.ibm.com> | 2014-03-03 04:54:33 -0500 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-04-22 07:24:49 -0400 |
commit | 439716a5cab30e930bd1ec0f8fd66cbbaa319250 (patch) | |
tree | fcdfac184a376335cd2535c96fc4ad2fa3aa903a /arch/s390/include | |
parent | da7cf2570c5fa29a02a3e8026bfff89620706d2f (diff) |
KVM: s390: extract irq parameters of intercepted program irqs
Whenever a program interrupt is intercepted, some parameters are stored in the
sie control block. These parameters have to be extracted in order to be
reinjected correctly. This patch also takes care of intercepted PER events which
can occurr in addition to any program interrupt.
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390/include')
-rw-r--r-- | arch/s390/include/asm/kvm_host.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h index f1ed7bdba733..b8c808192893 100644 --- a/arch/s390/include/asm/kvm_host.h +++ b/arch/s390/include/asm/kvm_host.h | |||
@@ -120,9 +120,21 @@ struct kvm_s390_sie_block { | |||
120 | psw_t gpsw; /* 0x0090 */ | 120 | psw_t gpsw; /* 0x0090 */ |
121 | __u64 gg14; /* 0x00a0 */ | 121 | __u64 gg14; /* 0x00a0 */ |
122 | __u64 gg15; /* 0x00a8 */ | 122 | __u64 gg15; /* 0x00a8 */ |
123 | __u8 reservedb0[30]; /* 0x00b0 */ | 123 | __u8 reservedb0[28]; /* 0x00b0 */ |
124 | __u16 iprcc; /* 0x00ce */ | 124 | __u16 pgmilc; /* 0x00cc */ |
125 | __u8 reservedd0[48]; /* 0x00d0 */ | 125 | __u16 iprcc; /* 0x00ce */ |
126 | __u32 dxc; /* 0x00d0 */ | ||
127 | __u16 mcn; /* 0x00d4 */ | ||
128 | __u8 perc; /* 0x00d6 */ | ||
129 | __u8 peratmid; /* 0x00d7 */ | ||
130 | __u64 peraddr; /* 0x00d8 */ | ||
131 | __u8 eai; /* 0x00e0 */ | ||
132 | __u8 peraid; /* 0x00e1 */ | ||
133 | __u8 oai; /* 0x00e2 */ | ||
134 | __u8 armid; /* 0x00e3 */ | ||
135 | __u8 reservede4[4]; /* 0x00e4 */ | ||
136 | __u64 tecmc; /* 0x00e8 */ | ||
137 | __u8 reservedf0[16]; /* 0x00f0 */ | ||
126 | __u64 gcr[16]; /* 0x0100 */ | 138 | __u64 gcr[16]; /* 0x0100 */ |
127 | __u64 gbea; /* 0x0180 */ | 139 | __u64 gbea; /* 0x0180 */ |
128 | __u8 reserved188[24]; /* 0x0188 */ | 140 | __u8 reserved188[24]; /* 0x0188 */ |