diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2017-02-09 18:01:23 +0300 | 
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2017-02-09 18:01:23 +0300 | 
| commit | 2e751dfb5ffd20d1a31837dbc9718741df69bffe (patch) | |
| tree | 8b7e0e47cf0ef4efda0f1090f0ccbbeb17e5a085 /arch/arm/kvm/arm.c | |
| parent | a0e136d436ded817c0aade72efdefa56a00b4e5e (diff) | |
| parent | 7b6b46311a8562fb3a9e035ed6ffab6d49c28886 (diff) | |
| download | linux-2e751dfb5ffd20d1a31837dbc9718741df69bffe.tar.xz | |
Merge tag 'kvmarm-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
kvmarm updates for 4.11
- GICv3 save restore
- Cache flushing fixes
- MSI injection fix for GICv3 ITS
- Physical timer emulation support
Diffstat (limited to 'arch/arm/kvm/arm.c')
| -rw-r--r-- | arch/arm/kvm/arm.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c index 11676787ad49..21c493a9e5c9 100644 --- a/arch/arm/kvm/arm.c +++ b/arch/arm/kvm/arm.c @@ -135,7 +135,6 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)  		goto out_free_stage2_pgd;  	kvm_vgic_early_init(kvm); -	kvm_timer_init(kvm);  	/* Mark the initial VMID generation invalid */  	kvm->arch.vmid_gen = 0; @@ -301,7 +300,8 @@ void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu)  int kvm_cpu_has_pending_timer(struct kvm_vcpu *vcpu)  { -	return kvm_timer_should_fire(vcpu); +	return kvm_timer_should_fire(vcpu_vtimer(vcpu)) || +	       kvm_timer_should_fire(vcpu_ptimer(vcpu));  }  void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu) @@ -1099,6 +1099,9 @@ static void cpu_init_hyp_mode(void *dummy)  	__cpu_init_hyp_mode(pgd_ptr, hyp_stack_ptr, vector_ptr);  	__cpu_init_stage2(); +	if (is_kernel_in_hyp_mode()) +		kvm_timer_init_vhe(); +  	kvm_arm_init_debug();  } | 
