diff options
Diffstat (limited to 'arch/s390/include/asm/kvm_host.h')
-rw-r--r-- | arch/s390/include/asm/kvm_host.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h index b7841546991f..16bd5d169cdb 100644 --- a/arch/s390/include/asm/kvm_host.h +++ b/arch/s390/include/asm/kvm_host.h | |||
@@ -20,9 +20,7 @@ | |||
20 | #include <asm/cpu.h> | 20 | #include <asm/cpu.h> |
21 | 21 | ||
22 | #define KVM_MAX_VCPUS 64 | 22 | #define KVM_MAX_VCPUS 64 |
23 | #define KVM_MEMORY_SLOTS 32 | 23 | #define KVM_USER_MEM_SLOTS 32 |
24 | /* memory slots that does not exposed to userspace */ | ||
25 | #define KVM_PRIVATE_MEM_SLOTS 4 | ||
26 | 24 | ||
27 | struct sca_entry { | 25 | struct sca_entry { |
28 | atomic_t scn; | 26 | atomic_t scn; |
@@ -76,8 +74,11 @@ struct kvm_s390_sie_block { | |||
76 | __u64 epoch; /* 0x0038 */ | 74 | __u64 epoch; /* 0x0038 */ |
77 | __u8 reserved40[4]; /* 0x0040 */ | 75 | __u8 reserved40[4]; /* 0x0040 */ |
78 | #define LCTL_CR0 0x8000 | 76 | #define LCTL_CR0 0x8000 |
77 | #define LCTL_CR6 0x0200 | ||
78 | #define LCTL_CR14 0x0002 | ||
79 | __u16 lctl; /* 0x0044 */ | 79 | __u16 lctl; /* 0x0044 */ |
80 | __s16 icpua; /* 0x0046 */ | 80 | __s16 icpua; /* 0x0046 */ |
81 | #define ICTL_LPSW 0x00400000 | ||
81 | __u32 ictl; /* 0x0048 */ | 82 | __u32 ictl; /* 0x0048 */ |
82 | __u32 eca; /* 0x004c */ | 83 | __u32 eca; /* 0x004c */ |
83 | __u8 icptcode; /* 0x0050 */ | 84 | __u8 icptcode; /* 0x0050 */ |
@@ -127,6 +128,7 @@ struct kvm_vcpu_stat { | |||
127 | u32 deliver_prefix_signal; | 128 | u32 deliver_prefix_signal; |
128 | u32 deliver_restart_signal; | 129 | u32 deliver_restart_signal; |
129 | u32 deliver_program_int; | 130 | u32 deliver_program_int; |
131 | u32 deliver_io_int; | ||
130 | u32 exit_wait_state; | 132 | u32 exit_wait_state; |
131 | u32 instruction_stidp; | 133 | u32 instruction_stidp; |
132 | u32 instruction_spx; | 134 | u32 instruction_spx; |
@@ -187,6 +189,11 @@ struct kvm_s390_emerg_info { | |||
187 | __u16 code; | 189 | __u16 code; |
188 | }; | 190 | }; |
189 | 191 | ||
192 | struct kvm_s390_mchk_info { | ||
193 | __u64 cr14; | ||
194 | __u64 mcic; | ||
195 | }; | ||
196 | |||
190 | struct kvm_s390_interrupt_info { | 197 | struct kvm_s390_interrupt_info { |
191 | struct list_head list; | 198 | struct list_head list; |
192 | u64 type; | 199 | u64 type; |
@@ -197,6 +204,7 @@ struct kvm_s390_interrupt_info { | |||
197 | struct kvm_s390_emerg_info emerg; | 204 | struct kvm_s390_emerg_info emerg; |
198 | struct kvm_s390_extcall_info extcall; | 205 | struct kvm_s390_extcall_info extcall; |
199 | struct kvm_s390_prefix_info prefix; | 206 | struct kvm_s390_prefix_info prefix; |
207 | struct kvm_s390_mchk_info mchk; | ||
200 | }; | 208 | }; |
201 | }; | 209 | }; |
202 | 210 | ||
@@ -254,6 +262,7 @@ struct kvm_arch{ | |||
254 | debug_info_t *dbf; | 262 | debug_info_t *dbf; |
255 | struct kvm_s390_float_interrupt float_int; | 263 | struct kvm_s390_float_interrupt float_int; |
256 | struct gmap *gmap; | 264 | struct gmap *gmap; |
265 | int css_support; | ||
257 | }; | 266 | }; |
258 | 267 | ||
259 | extern int sie64a(struct kvm_s390_sie_block *, u64 *); | 268 | extern int sie64a(struct kvm_s390_sie_block *, u64 *); |