[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XEN PATCH v2] xen/arm: traps: remove unused function 'dump_guest_s1_walk'



On Mon, 14 Aug 2023, Nicola Vetrini wrote:
> The function has no uses in the codebase, and can be removed.
> This also avoids the violation of MISRA C:2012 Rule 8.4 and Rule 2.1
> because it has no declaration and the function's code is unreachable.
> 
> Suggested-by: Julien Grall <julien@xxxxxxx>
> Signed-off-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>

Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>

> ---
> Changes in v2:
> - Modified commit message according to review suggestions.
> 
> The function in question has no callers and its removal has already
> been proposed (and acked) as part of this larger series [1].
> There have been further bugfixes to that function (commits
> a43cc8fc0827 and 60e06f2b1b2b) but they do not add any caller,
> hence it can be removed.
> 
> [1] 
> https://lore.kernel.org/xen-devel/1395766541-23979-27-git-send-email-julien.grall@xxxxxxxxxx/
> ---
>  xen/arch/arm/traps.c | 57 --------------------------------------------
>  1 file changed, 57 deletions(-)
> 
> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> index 7baddfdc57b3..46c9a4031b30 100644
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -1686,63 +1686,6 @@ void handle_ro_raz(struct cpu_user_regs *regs,
>      handle_ro_read_val(regs, regidx, read, hsr, min_el, 0);
>  }
> 
> -void dump_guest_s1_walk(struct domain *d, vaddr_t addr)
> -{
> -    register_t ttbcr = READ_SYSREG(TCR_EL1);
> -    uint64_t ttbr0 = READ_SYSREG64(TTBR0_EL1);
> -    uint32_t offset;
> -    uint32_t *first = NULL, *second = NULL;
> -    mfn_t mfn;
> -
> -    mfn = gfn_to_mfn(d, gaddr_to_gfn(ttbr0));
> -
> -    printk("dom%d VA 0x%08"PRIvaddr"\n", d->domain_id, addr);
> -    printk("    TTBCR: 0x%"PRIregister"\n", ttbcr);
> -    printk("    TTBR0: 0x%016"PRIx64" = 0x%"PRIpaddr"\n",
> -           ttbr0, mfn_to_maddr(mfn));
> -
> -    if ( ttbcr & TTBCR_EAE )
> -    {
> -        printk("Cannot handle LPAE guest PT walk\n");
> -        return;
> -    }
> -    if ( (ttbcr & TTBCR_N_MASK) != 0 )
> -    {
> -        printk("Cannot handle TTBR1 guest walks\n");
> -        return;
> -    }
> -
> -    if ( mfn_eq(mfn, INVALID_MFN) )
> -    {
> -        printk("Failed TTBR0 maddr lookup\n");
> -        goto done;
> -    }
> -    first = map_domain_page(mfn);
> -
> -    offset = addr >> (12+8);
> -    printk("1ST[0x%"PRIx32"] (0x%"PRIpaddr") = 0x%08"PRIx32"\n",
> -           offset, mfn_to_maddr(mfn), first[offset]);
> -    if ( !(first[offset] & 0x1) ||
> -          (first[offset] & 0x2) )
> -        goto done;
> -
> -    mfn = gfn_to_mfn(d, gaddr_to_gfn(first[offset]));
> -
> -    if ( mfn_eq(mfn, INVALID_MFN) )
> -    {
> -        printk("Failed L1 entry maddr lookup\n");
> -        goto done;
> -    }
> -    second = map_domain_page(mfn);
> -    offset = (addr >> 12) & 0x3FF;
> -    printk("2ND[0x%"PRIx32"] (0x%"PRIpaddr") = 0x%08"PRIx32"\n",
> -           offset, mfn_to_maddr(mfn), second[offset]);
> -
> -done:
> -    if ( second ) unmap_domain_page(second);
> -    if ( first ) unmap_domain_page(first);
> -}
> -
>  /*
>   * Return the value of the hypervisor fault address register.
>   *
> --
> 2.34.1
> 



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.