[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 04/16] xen/arm: mm: Don't open-code Xen PT update in remove_early_mappings()
On Fri, 20 May 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. > > Note that we don't use destroy_xen_mappings() because the helper doesn't > allow us to pass a flags. In theory we could add an extra parameter to > the function, however there are no other expected users. Hence why > modify_xen_mappings() is used. > > Signed-off-by: Julien Grall <julien.grall@xxxxxxx> > Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx> > Reviewed-by: Hongda Deng <Hongda.Heng@xxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > --- > Changes in v4: > - Add Hongda's reviewed-by > - Add a comment to explain what modify_xen_mappings() does. > - Clarify in the commit message hwy modify_xen_mappings() is > used rather than destroy_xen_mappings(). > > 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 | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c > index 747083d820dd..64a79d45b38c 100644 > --- a/xen/arch/arm/mm.c > +++ b/xen/arch/arm/mm.c > @@ -614,11 +614,12 @@ 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; > + > + /* destroy the _PAGE_BLOCK mapping */ > + rc = modify_xen_mappings(BOOT_FDT_VIRT_START, BOOT_FDT_VIRT_END, > + _PAGE_BLOCK); > + BUG_ON(rc); > } > > /* > -- > 2.32.0 >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |