KVM: arm/arm64: Keep GICv2 HYP VAs in kvm_vgic_global_state
As we're about to change the way we map devices at HYP, we need to move away from kern_hyp_va on an IO address. One way of achieving this is to store the VAs in kvm_vgic_global_state, and use that directly from the HYP code. This requires a small change to create_hyp_io_mappings so that it can also return a HYP VA. We take this opportunity to nuke the vctrl_base field in the emulated distributor, as it is not used anymore. Acked-by: Catalin Marinas <catalin.marinas@arm.com> Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Цей коміт міститься в:
@@ -166,12 +166,6 @@ int kvm_vgic_create(struct kvm *kvm, u32 type)
|
||||
kvm->arch.vgic.in_kernel = true;
|
||||
kvm->arch.vgic.vgic_model = type;
|
||||
|
||||
/*
|
||||
* kvm_vgic_global_state.vctrl_base is set on vgic probe (kvm_arch_init)
|
||||
* it is stored in distributor struct for asm save/restore purpose
|
||||
*/
|
||||
kvm->arch.vgic.vctrl_base = kvm_vgic_global_state.vctrl_base;
|
||||
|
||||
kvm->arch.vgic.vgic_dist_base = VGIC_ADDR_UNDEF;
|
||||
kvm->arch.vgic.vgic_cpu_base = VGIC_ADDR_UNDEF;
|
||||
kvm->arch.vgic.vgic_redist_base = VGIC_ADDR_UNDEF;
|
||||
|
Посилання в новій задачі
Заблокувати користувача