summaryrefslogtreecommitdiffstats
path: root/arch/s390/include
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2018-03-16 17:03:18 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2018-03-16 17:03:18 -0400
commit4956aa3b8b59e336b77f1df0ac7ce1a94c0265f2 (patch)
treef5c421a187a625f1c504f66fb422984f7222a702 /arch/s390/include
parent2d7921c499afebac78b13ab9a3758261a97e07b7 (diff)
parentccc40c53c07ba22cfe711cd625f9f0c77f272ae6 (diff)
Merge tag 'kvm-s390-next-4.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
KVM: s390: fixes and features - more kvm stat counters - virtio gpu plumbing. The 3 non-KVM/s390 patches have Acks from Bartlomiej Zolnierkiewicz, Heiko Carstens and Greg Kroah-Hartman but all belong together to make virtio-gpu work as a tty. So I carried them in the KVM/s390 tree. - document some KVM_CAPs - cpu-model only facilities - cleanups
Diffstat (limited to 'arch/s390/include')
-rw-r--r--arch/s390/include/asm/kvm_host.h28
-rw-r--r--arch/s390/include/asm/mmu.h4
-rw-r--r--arch/s390/include/asm/mmu_context.h2
3 files changed, 27 insertions, 7 deletions
diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h
index afb0f08b8021..81cdb6b55118 100644
--- a/arch/s390/include/asm/kvm_host.h
+++ b/arch/s390/include/asm/kvm_host.h
@@ -294,6 +294,7 @@ struct kvm_vcpu_stat {
294 u64 exit_userspace; 294 u64 exit_userspace;
295 u64 exit_null; 295 u64 exit_null;
296 u64 exit_external_request; 296 u64 exit_external_request;
297 u64 exit_io_request;
297 u64 exit_external_interrupt; 298 u64 exit_external_interrupt;
298 u64 exit_stop_request; 299 u64 exit_stop_request;
299 u64 exit_validity; 300 u64 exit_validity;
@@ -310,16 +311,29 @@ struct kvm_vcpu_stat {
310 u64 exit_program_interruption; 311 u64 exit_program_interruption;
311 u64 exit_instr_and_program; 312 u64 exit_instr_and_program;
312 u64 exit_operation_exception; 313 u64 exit_operation_exception;
314 u64 deliver_ckc;
315 u64 deliver_cputm;
313 u64 deliver_external_call; 316 u64 deliver_external_call;
314 u64 deliver_emergency_signal; 317 u64 deliver_emergency_signal;
315 u64 deliver_service_signal; 318 u64 deliver_service_signal;
316 u64 deliver_virtio_interrupt; 319 u64 deliver_virtio;
317 u64 deliver_stop_signal; 320 u64 deliver_stop_signal;
318 u64 deliver_prefix_signal; 321 u64 deliver_prefix_signal;
319 u64 deliver_restart_signal; 322 u64 deliver_restart_signal;
320 u64 deliver_program_int; 323 u64 deliver_program;
321 u64 deliver_io_int; 324 u64 deliver_io;
325 u64 deliver_machine_check;
322 u64 exit_wait_state; 326 u64 exit_wait_state;
327 u64 inject_ckc;
328 u64 inject_cputm;
329 u64 inject_external_call;
330 u64 inject_emergency_signal;
331 u64 inject_mchk;
332 u64 inject_pfault_init;
333 u64 inject_program;
334 u64 inject_restart;
335 u64 inject_set_prefix;
336 u64 inject_stop_signal;
323 u64 instruction_epsw; 337 u64 instruction_epsw;
324 u64 instruction_gs; 338 u64 instruction_gs;
325 u64 instruction_io_other; 339 u64 instruction_io_other;
@@ -644,7 +658,12 @@ struct kvm_vcpu_arch {
644}; 658};
645 659
646struct kvm_vm_stat { 660struct kvm_vm_stat {
647 ulong remote_tlb_flush; 661 u64 inject_io;
662 u64 inject_float_mchk;
663 u64 inject_pfault_done;
664 u64 inject_service_signal;
665 u64 inject_virtio;
666 u64 remote_tlb_flush;
648}; 667};
649 668
650struct kvm_arch_memory_slot { 669struct kvm_arch_memory_slot {
@@ -792,6 +811,7 @@ struct kvm_arch{
792 int css_support; 811 int css_support;
793 int use_irqchip; 812 int use_irqchip;
794 int use_cmma; 813 int use_cmma;
814 int use_pfmfi;
795 int user_cpu_state_ctrl; 815 int user_cpu_state_ctrl;
796 int user_sigp; 816 int user_sigp;
797 int user_stsi; 817 int user_stsi;
diff --git a/arch/s390/include/asm/mmu.h b/arch/s390/include/asm/mmu.h
index db35c41a59d5..c639c95850e4 100644
--- a/arch/s390/include/asm/mmu.h
+++ b/arch/s390/include/asm/mmu.h
@@ -22,8 +22,8 @@ typedef struct {
22 unsigned int has_pgste:1; 22 unsigned int has_pgste:1;
23 /* The mmu context uses storage keys. */ 23 /* The mmu context uses storage keys. */
24 unsigned int use_skey:1; 24 unsigned int use_skey:1;
25 /* The mmu context uses CMMA. */ 25 /* The mmu context uses CMM. */
26 unsigned int use_cmma:1; 26 unsigned int uses_cmm:1;
27} mm_context_t; 27} mm_context_t;
28 28
29#define INIT_MM_CONTEXT(name) \ 29#define INIT_MM_CONTEXT(name) \
diff --git a/arch/s390/include/asm/mmu_context.h b/arch/s390/include/asm/mmu_context.h
index 65154eaa3714..d3ebfa8f8a9f 100644
--- a/arch/s390/include/asm/mmu_context.h
+++ b/arch/s390/include/asm/mmu_context.h
@@ -31,7 +31,7 @@ static inline int init_new_context(struct task_struct *tsk,
31 (current->mm && current->mm->context.alloc_pgste); 31 (current->mm && current->mm->context.alloc_pgste);
32 mm->context.has_pgste = 0; 32 mm->context.has_pgste = 0;
33 mm->context.use_skey = 0; 33 mm->context.use_skey = 0;
34 mm->context.use_cmma = 0; 34 mm->context.uses_cmm = 0;
35#endif 35#endif
36 switch (mm->context.asce_limit) { 36 switch (mm->context.asce_limit) {
37 case _REGION2_SIZE: 37 case _REGION2_SIZE: