diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2014-10-02 07:44:45 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-10-02 07:44:45 -0400 |
commit | a74b7d5514d61bca6aee32f60a79dacf1d2b3cac (patch) | |
tree | a7e08d055f37627bf801b3cb1f510099fda54f7b | |
parent | cec26bc3c125b5dd12a02f04133cd91eae3f1622 (diff) | |
parent | ce2e4f0b75a567d25375b52476662c724304e476 (diff) |
Merge tag 'kvm-s390-next-20141001' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-next
KVM: s390: Small enhancements for 3.18 (next)
Provide TOD CLOCK steering to the guest and add cpu wakeup counter.
-rw-r--r-- | arch/s390/include/asm/kvm_host.h | 1 | ||||
-rw-r--r-- | arch/s390/kvm/interrupt.c | 1 | ||||
-rw-r--r-- | arch/s390/kvm/kvm-s390.c | 3 |
3 files changed, 4 insertions, 1 deletions
diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h index 1a6f6fd8bd34..2175f911a73a 100644 --- a/arch/s390/include/asm/kvm_host.h +++ b/arch/s390/include/asm/kvm_host.h | |||
@@ -192,6 +192,7 @@ struct kvm_vcpu_stat { | |||
192 | u32 exit_stop_request; | 192 | u32 exit_stop_request; |
193 | u32 exit_validity; | 193 | u32 exit_validity; |
194 | u32 exit_instruction; | 194 | u32 exit_instruction; |
195 | u32 halt_wakeup; | ||
195 | u32 instruction_lctl; | 196 | u32 instruction_lctl; |
196 | u32 instruction_lctlg; | 197 | u32 instruction_lctlg; |
197 | u32 instruction_stctl; | 198 | u32 instruction_stctl; |
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c index 4cad00adef93..a39838457f01 100644 --- a/arch/s390/kvm/interrupt.c +++ b/arch/s390/kvm/interrupt.c | |||
@@ -626,6 +626,7 @@ void kvm_s390_vcpu_wakeup(struct kvm_vcpu *vcpu) | |||
626 | */ | 626 | */ |
627 | vcpu->preempted = true; | 627 | vcpu->preempted = true; |
628 | wake_up_interruptible(&vcpu->wq); | 628 | wake_up_interruptible(&vcpu->wq); |
629 | vcpu->stat.halt_wakeup++; | ||
629 | } | 630 | } |
630 | } | 631 | } |
631 | 632 | ||
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index 56a411c0245a..55aade49b6d1 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c | |||
@@ -50,6 +50,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = { | |||
50 | { "exit_instruction", VCPU_STAT(exit_instruction) }, | 50 | { "exit_instruction", VCPU_STAT(exit_instruction) }, |
51 | { "exit_program_interruption", VCPU_STAT(exit_program_interruption) }, | 51 | { "exit_program_interruption", VCPU_STAT(exit_program_interruption) }, |
52 | { "exit_instr_and_program_int", VCPU_STAT(exit_instr_and_program) }, | 52 | { "exit_instr_and_program_int", VCPU_STAT(exit_instr_and_program) }, |
53 | { "halt_wakeup", VCPU_STAT(halt_wakeup) }, | ||
53 | { "instruction_lctlg", VCPU_STAT(instruction_lctlg) }, | 54 | { "instruction_lctlg", VCPU_STAT(instruction_lctlg) }, |
54 | { "instruction_lctl", VCPU_STAT(instruction_lctl) }, | 55 | { "instruction_lctl", VCPU_STAT(instruction_lctl) }, |
55 | { "instruction_stctl", VCPU_STAT(instruction_stctl) }, | 56 | { "instruction_stctl", VCPU_STAT(instruction_stctl) }, |
@@ -1786,7 +1787,7 @@ static int __init kvm_s390_init(void) | |||
1786 | return -ENOMEM; | 1787 | return -ENOMEM; |
1787 | } | 1788 | } |
1788 | memcpy(vfacilities, S390_lowcore.stfle_fac_list, 16); | 1789 | memcpy(vfacilities, S390_lowcore.stfle_fac_list, 16); |
1789 | vfacilities[0] &= 0xff82fff3f4fc2000UL; | 1790 | vfacilities[0] &= 0xff82fffbf47c2000UL; |
1790 | vfacilities[1] &= 0x005c000000000000UL; | 1791 | vfacilities[1] &= 0x005c000000000000UL; |
1791 | return 0; | 1792 | return 0; |
1792 | } | 1793 | } |