Re: [PATCH v7 2/4] KVM: arm64: Introduce mm_ops member for structure stage2_attr_data

From: Fuad Tabba
Date: Fri Jun 18 2021 - 05:29:42 EST


Hi Yanan,

On Thu, Jun 17, 2021 at 11:58 AM Yanan Wang <wangyanan55@xxxxxxxxxx> wrote:
>
> Also add a mm_ops member for structure stage2_attr_data, since we
> will move I-cache maintenance for guest stage-2 to the permission
> path and as a result will need mm_ops for some callbacks.
>
> Signed-off-by: Yanan Wang <wangyanan55@xxxxxxxxxx>
> ---
> arch/arm64/kvm/hyp/pgtable.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm64/kvm/hyp/pgtable.c b/arch/arm64/kvm/hyp/pgtable.c
> index c37c1dc4feaf..d99789432b05 100644
> --- a/arch/arm64/kvm/hyp/pgtable.c
> +++ b/arch/arm64/kvm/hyp/pgtable.c
> @@ -861,10 +861,11 @@ int kvm_pgtable_stage2_unmap(struct kvm_pgtable *pgt, u64 addr, u64 size)
> }
>
> struct stage2_attr_data {
> - kvm_pte_t attr_set;
> - kvm_pte_t attr_clr;
> - kvm_pte_t pte;
> - u32 level;
> + kvm_pte_t attr_set;
> + kvm_pte_t attr_clr;
> + kvm_pte_t pte;
> + u32 level;
> + struct kvm_pgtable_mm_ops *mm_ops;
> };
>
> static int stage2_attr_walker(u64 addr, u64 end, u32 level, kvm_pte_t *ptep,
> @@ -903,6 +904,7 @@ static int stage2_update_leaf_attrs(struct kvm_pgtable *pgt, u64 addr,
> struct stage2_attr_data data = {
> .attr_set = attr_set & attr_mask,
> .attr_clr = attr_clr & attr_mask,
> + .mm_ops = pgt->mm_ops,
> };
> struct kvm_pgtable_walker walker = {
> .cb = stage2_attr_walker,
> --
> 2.23.0

Reviewed-by: Fuad Tabba <tabba@xxxxxxxxxx>

Thanks,
/fuad
> _______________________________________________
> kvmarm mailing list
> kvmarm@xxxxxxxxxxxxxxxxxxxxx
> https://lists.cs.columbia.edu/mailman/listinfo/kvmarm