[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 07/19] xen/arm: mm: Don't open-code Xen PT update in remove_early_mappings()
Hi Stefano, On 02/04/2022 01:04, Stefano Stabellini wrote: On Mon, 21 Feb 2022, Julien Grall wrote:From: Julien Grall <julien.grall@xxxxxxx> Now that xen_pt_update_entry() is able to deal with different mapping size, we can replace the open-coding of the page-tables update by a call to modify_xen_mappings(). As the function is not meant to fail, a BUG_ON() is added to check the return. Signed-off-by: Julien Grall <julien.grall@xxxxxxx> Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx>Nice!--- Changes in v2: - Stay consistent with how function name are used in the commit message - Add my AWS signed-off-by --- xen/arch/arm/mm.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index 7b4b9de8693e..f088a4b2de96 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -599,11 +599,11 @@ void * __init early_fdt_map(paddr_t fdt_paddr)void __init remove_early_mappings(void){ - lpae_t pte = {0}; - write_pte(xen_second + second_table_offset(BOOT_FDT_VIRT_START), pte); - write_pte(xen_second + second_table_offset(BOOT_FDT_VIRT_START + SZ_2M), - pte); - flush_xen_tlb_range_va(BOOT_FDT_VIRT_START, BOOT_FDT_SLOT_SIZE); + int rc; + + rc = modify_xen_mappings(BOOT_FDT_VIRT_START, BOOT_FDT_VIRT_END, + _PAGE_BLOCK); + BUG_ON(rc);Am I right that we are actually destroying the mapping, which usually is done by calling destroy_xen_mappings, but we cannot call destroy_xen_mappings in this case because it doesn't take a flags parameter? You are right. If so, then I would add a flags parameter to destroy_xen_mappings instead of calling modify_xen_mappings just to pass _PAGE_BLOCK. But I don't feel strongly about it so if you don't feel like making the change to destroy_xen_mappings, you can add my acked-by here anyway. destroy_xen_mappings() is a function used by common code. This is the only place so far where I need to pass _PAGE_BLOCK and I don't expect it to be used by the common code any time soon. So I am not in favor to add an extra parameter for destroy_xen_mappings(). Would you prefer if I open-code the call to xen_pt_update? Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |