diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2022-04-08 15:15:45 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2022-04-22 14:44:53 +0100 |
| commit | 1b19ccfa3845393fee9ecc9af99700ebf97ad277 (patch) | |
| tree | d8da6a3be56fc01d6d8234c1bc0a95bbf54c7df6 | |
| parent | e031346d98f7b45d33e68d9650e44d4f86e81627 (diff) | |
| download | focaccia-qemu-1b19ccfa3845393fee9ecc9af99700ebf97ad277.tar.gz focaccia-qemu-1b19ccfa3845393fee9ecc9af99700ebf97ad277.zip | |
hw/intc/arm_gicv3_redist: Implement gicv3_redist_inv_vlpi()
Implement the function gicv3_redist_inv_vlpi(), which was previously left as a stub. This is the function that does the work of the INV command for a virtual interrupt. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20220408141550.1271295-37-peter.maydell@linaro.org
| -rw-r--r-- | hw/intc/arm_gicv3_redist.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/hw/intc/arm_gicv3_redist.c b/hw/intc/arm_gicv3_redist.c index 34f4308e98..bcb54bef76 100644 --- a/hw/intc/arm_gicv3_redist.c +++ b/hw/intc/arm_gicv3_redist.c @@ -1102,9 +1102,12 @@ void gicv3_redist_vinvall(GICv3CPUState *cs, uint64_t vptaddr) void gicv3_redist_inv_vlpi(GICv3CPUState *cs, int irq, uint64_t vptaddr) { /* - * The redistributor handling for invalidating cached information - * about a VLPI will be added in a subsequent commit. + * The only cached information for LPIs we have is the HPPLPI. + * We could be cleverer about identifying when we don't need + * to do a full rescan of the pending table, but until we find + * this is a performance issue, just always recalculate. */ + gicv3_redist_vinvall(cs, vptaddr); } void gicv3_redist_set_irq(GICv3CPUState *cs, int irq, int level) |