aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/s390/kvm/kvm-s390.c17
-rw-r--r--arch/s390/kvm/kvm-s390.h4
2 files changed, 2 insertions, 19 deletions
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index 5a99f342fd0b..f17296e4fc89 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -294,7 +294,6 @@ static void kvm_s390_vcpu_initial_reset(struct kvm_vcpu *vcpu)
294int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu) 294int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu)
295{ 295{
296 atomic_set(&vcpu->arch.sie_block->cpuflags, CPUSTAT_ZARCH | CPUSTAT_SM); 296 atomic_set(&vcpu->arch.sie_block->cpuflags, CPUSTAT_ZARCH | CPUSTAT_SM);
297 set_bit(KVM_REQ_MMU_RELOAD, &vcpu->requests);
298 vcpu->arch.sie_block->ecb = 6; 297 vcpu->arch.sie_block->ecb = 6;
299 vcpu->arch.sie_block->eca = 0xC1002001U; 298 vcpu->arch.sie_block->eca = 0xC1002001U;
300 vcpu->arch.sie_block->fac = (int) (long) facilities; 299 vcpu->arch.sie_block->fac = (int) (long) facilities;
@@ -485,10 +484,6 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
485 sigset_t sigsaved; 484 sigset_t sigsaved;
486 485
487rerun_vcpu: 486rerun_vcpu:
488 if (vcpu->requests)
489 if (test_and_clear_bit(KVM_REQ_MMU_RELOAD, &vcpu->requests))
490 kvm_s390_vcpu_set_mem(vcpu);
491
492 if (vcpu->sigset_active) 487 if (vcpu->sigset_active)
493 sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved); 488 sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved);
494 489
@@ -701,21 +696,13 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,
701 struct kvm_memory_slot old, 696 struct kvm_memory_slot old,
702 int user_alloc) 697 int user_alloc)
703{ 698{
704 int i, rc; 699 int rc;
705 struct kvm_vcpu *vcpu;
706 700
707 701
708 rc = gmap_map_segment(kvm->arch.gmap, mem->userspace_addr, 702 rc = gmap_map_segment(kvm->arch.gmap, mem->userspace_addr,
709 mem->guest_phys_addr, mem->memory_size); 703 mem->guest_phys_addr, mem->memory_size);
710 if (rc) 704 if (rc)
711 return; 705 printk(KERN_WARNING "kvm-s390: failed to commit memory region\n");
712
713 /* request update of sie control block for all available vcpus */
714 kvm_for_each_vcpu(i, vcpu, kvm) {
715 if (test_and_set_bit(KVM_REQ_MMU_RELOAD, &vcpu->requests))
716 continue;
717 kvm_s390_inject_sigp_stop(vcpu, ACTION_RELOADVCPU_ON_STOP);
718 }
719 return; 706 return;
720} 707}
721 708
diff --git a/arch/s390/kvm/kvm-s390.h b/arch/s390/kvm/kvm-s390.h
index 63e5190776e9..99b0b7597115 100644
--- a/arch/s390/kvm/kvm-s390.h
+++ b/arch/s390/kvm/kvm-s390.h
@@ -58,10 +58,6 @@ int kvm_s390_inject_vcpu(struct kvm_vcpu *vcpu,
58int kvm_s390_inject_program_int(struct kvm_vcpu *vcpu, u16 code); 58int kvm_s390_inject_program_int(struct kvm_vcpu *vcpu, u16 code);
59int kvm_s390_inject_sigp_stop(struct kvm_vcpu *vcpu, int action); 59int kvm_s390_inject_sigp_stop(struct kvm_vcpu *vcpu, int action);
60 60
61static inline void kvm_s390_vcpu_set_mem(struct kvm_vcpu *vcpu)
62{
63}
64
65/* implemented in priv.c */ 61/* implemented in priv.c */
66int kvm_s390_handle_b2(struct kvm_vcpu *vcpu); 62int kvm_s390_handle_b2(struct kvm_vcpu *vcpu);
67int kvm_s390_handle_e5(struct kvm_vcpu *vcpu); 63int kvm_s390_handle_e5(struct kvm_vcpu *vcpu);