diff options
Diffstat (limited to 'arch/arm64/include/asm/kvm_host.h')
| -rw-r--r-- | arch/arm64/include/asm/kvm_host.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h index c328191aa202..9f19c354b165 100644 --- a/arch/arm64/include/asm/kvm_host.h +++ b/arch/arm64/include/asm/kvm_host.h | |||
| @@ -597,11 +597,12 @@ static inline void kvm_arm_vhe_guest_enter(void) | |||
| 597 | * will not signal the CPU of interrupts of lower priority, and the | 597 | * will not signal the CPU of interrupts of lower priority, and the |
| 598 | * only way to get out will be via guest exceptions. | 598 | * only way to get out will be via guest exceptions. |
| 599 | * Naturally, we want to avoid this. | 599 | * Naturally, we want to avoid this. |
| 600 | * | ||
| 601 | * local_daif_mask() already sets GIC_PRIO_PSR_I_SET, we just need a | ||
| 602 | * dsb to ensure the redistributor is forwards EL2 IRQs to the CPU. | ||
| 600 | */ | 603 | */ |
| 601 | if (system_uses_irq_prio_masking()) { | 604 | if (system_uses_irq_prio_masking()) |
| 602 | gic_write_pmr(GIC_PRIO_IRQON); | ||
| 603 | dsb(sy); | 605 | dsb(sy); |
| 604 | } | ||
| 605 | } | 606 | } |
| 606 | 607 | ||
| 607 | static inline void kvm_arm_vhe_guest_exit(void) | 608 | static inline void kvm_arm_vhe_guest_exit(void) |
