diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2019-01-05 10:49:50 -0500 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2019-02-19 16:05:24 -0500 |
commit | 7aa8d14641651a61a0b8892314a0bcfaceebe158 (patch) | |
tree | 44c443a7129044ef782db30b345cdc1d2b440f57 /virt/kvm | |
parent | ee7930490a8f84570e96268f5736e99570b58307 (diff) |
arm/arm64: KVM: Introduce kvm_call_hyp_ret()
Until now, we haven't differentiated between HYP calls that
have a return value and those who don't. As we're about to
change this, introduce kvm_call_hyp_ret(), and change all
call sites that actually make use of a return value.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Christoffer Dall <christoffer.dall@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@arm.com>
Diffstat (limited to 'virt/kvm')
-rw-r--r-- | virt/kvm/arm/arm.c | 2 | ||||
-rw-r--r-- | virt/kvm/arm/vgic/vgic-v3.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/virt/kvm/arm/arm.c b/virt/kvm/arm/arm.c index 9e350fd34504..4d55f98f97f7 100644 --- a/virt/kvm/arm/arm.c +++ b/virt/kvm/arm/arm.c | |||
@@ -765,7 +765,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run) | |||
765 | ret = kvm_vcpu_run_vhe(vcpu); | 765 | ret = kvm_vcpu_run_vhe(vcpu); |
766 | kvm_arm_vhe_guest_exit(); | 766 | kvm_arm_vhe_guest_exit(); |
767 | } else { | 767 | } else { |
768 | ret = kvm_call_hyp(__kvm_vcpu_run_nvhe, vcpu); | 768 | ret = kvm_call_hyp_ret(__kvm_vcpu_run_nvhe, vcpu); |
769 | } | 769 | } |
770 | 770 | ||
771 | vcpu->mode = OUTSIDE_GUEST_MODE; | 771 | vcpu->mode = OUTSIDE_GUEST_MODE; |
diff --git a/virt/kvm/arm/vgic/vgic-v3.c b/virt/kvm/arm/vgic/vgic-v3.c index 9c0dd234ebe8..67f98151c88d 100644 --- a/virt/kvm/arm/vgic/vgic-v3.c +++ b/virt/kvm/arm/vgic/vgic-v3.c | |||
@@ -589,7 +589,7 @@ early_param("kvm-arm.vgic_v4_enable", early_gicv4_enable); | |||
589 | */ | 589 | */ |
590 | int vgic_v3_probe(const struct gic_kvm_info *info) | 590 | int vgic_v3_probe(const struct gic_kvm_info *info) |
591 | { | 591 | { |
592 | u32 ich_vtr_el2 = kvm_call_hyp(__vgic_v3_get_ich_vtr_el2); | 592 | u32 ich_vtr_el2 = kvm_call_hyp_ret(__vgic_v3_get_ich_vtr_el2); |
593 | int ret; | 593 | int ret; |
594 | 594 | ||
595 | /* | 595 | /* |
@@ -679,7 +679,7 @@ void vgic_v3_put(struct kvm_vcpu *vcpu) | |||
679 | struct vgic_v3_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v3; | 679 | struct vgic_v3_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v3; |
680 | 680 | ||
681 | if (likely(cpu_if->vgic_sre)) | 681 | if (likely(cpu_if->vgic_sre)) |
682 | cpu_if->vgic_vmcr = kvm_call_hyp(__vgic_v3_read_vmcr); | 682 | cpu_if->vgic_vmcr = kvm_call_hyp_ret(__vgic_v3_read_vmcr); |
683 | 683 | ||
684 | kvm_call_hyp(__vgic_v3_save_aprs, vcpu); | 684 | kvm_call_hyp(__vgic_v3_save_aprs, vcpu); |
685 | 685 | ||