
In order to reduce the impact of the VPT parsing happening on the GIC, we can split the vcpu reseidency in two phases: - programming GICR_VPENDBASER: this still happens in vcpu_load() - checking for the VPT parsing to be complete: this can happen on vcpu entry (in kvm_vgic_flush_hwstate()) This allows the GIC and the CPU to work in parallel, rewmoving some of the entry overhead. Suggested-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Shenming Lu <lushenming@huawei.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20201128141857.983-3-lushenming@huawei.com (cherry picked from commit 57e3cebd022fbc035dcf190ac789fd2ffc747f5b) Signed-off-by: Will Deacon <willdeacon@google.com> Change-Id: I5d3b5db2db817e99780e009caf8efe0f6692e0b1 Bug: 178098380 Test: atest VirtualizationHostTestCases on an EL2-enabled device