[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 35/41] hw/intc/arm_gicv3_redist: Implement gicv3_redist_vinvall()
From: |
Peter Maydell |
Subject: |
[PATCH 35/41] hw/intc/arm_gicv3_redist: Implement gicv3_redist_vinvall() |
Date: |
Fri, 8 Apr 2022 15:15:44 +0100 |
Implement the gicv3_redist_vinvall() function (previously left as a
stub). This function handles the work of a VINVALL command: it must
invalidate any cached information associated with a specific vCPU.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
hw/intc/arm_gicv3_redist.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/hw/intc/arm_gicv3_redist.c b/hw/intc/arm_gicv3_redist.c
index 9866dd94c60..a586c9ef498 100644
--- a/hw/intc/arm_gicv3_redist.c
+++ b/hw/intc/arm_gicv3_redist.c
@@ -1090,7 +1090,13 @@ void gicv3_redist_mov_vlpi(GICv3CPUState *src, uint64_t
src_vptaddr,
void gicv3_redist_vinvall(GICv3CPUState *cs, uint64_t vptaddr)
{
- /* The redistributor handling will be added in a subsequent commit */
+ if (!vcpu_resident(cs, vptaddr)) {
+ /* We don't have anything cached if the vCPU isn't resident */
+ return;
+ }
+
+ /* Otherwise, our only cached information is the HPPVLPI info */
+ gicv3_redist_update_vlpi(cs);
}
void gicv3_redist_inv_vlpi(GICv3CPUState *cs, int irq, uint64_t vptaddr)
--
2.25.1
- Re: [PATCH 24/41] hw/intc/arm_gicv3_cpuif: Split "update vIRQ/vFIQ" from gicv3_cpuif_virt_update(), (continued)
- [PATCH 27/41] hw/intc/arm_gicv3_redist: Factor out "update hpplpi for one LPI" logic, Peter Maydell, 2022/04/08
- [PATCH 29/41] hw/intc/arm_gicv3_redist: Recalculate hppvlpi on VPENDBASER writes, Peter Maydell, 2022/04/08
- [PATCH 31/41] hw/intc/arm_gicv3_redist: Implement gicv3_redist_process_vlpi(), Peter Maydell, 2022/04/08
- [PATCH 34/41] hw/intc/arm_gicv3_redist: Implement gicv3_redist_mov_vlpi(), Peter Maydell, 2022/04/08
- [PATCH 35/41] hw/intc/arm_gicv3_redist: Implement gicv3_redist_vinvall(),
Peter Maydell <=
- [PATCH 38/41] hw/intc/arm_gicv3: Allow 'revision' property to be set to 4, Peter Maydell, 2022/04/08
- [PATCH 41/41] hw/arm/virt: Support TCG GICv4, Peter Maydell, 2022/04/08
- [PATCH 36/41] hw/intc/arm_gicv3_redist: Implement gicv3_redist_inv_vlpi(), Peter Maydell, 2022/04/08
- [PATCH 37/41] hw/intc/arm_gicv3: Update ID and feature registers for GICv4, Peter Maydell, 2022/04/08
- [PATCH 25/41] hw/intc/arm_gicv3_cpuif: Support vLPIs, Peter Maydell, 2022/04/08