On 02/07/2025 16:14, Hari Limaye wrote:
> From: Luca Fancellu <luca.fance...@arm.com>
>
> Implement remove_early_mappings for MPU systems.
>
> Signed-off-by: Luca Fancellu <luca.fance...@arm.com>
> Signed-off-by: Hari Limaye <hari.lim...@arm.com>
> Reviewed-by: Ayan Kumar Halder <ayan.kumar.hal...@amd.com>
> ---
> Changes from v1:
> - Add Ayan's R-b
> ---
> xen/arch/arm/mpu/setup.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/xen/arch/arm/mpu/setup.c b/xen/arch/arm/mpu/setup.c
> index ab00cb944b..5928b534d5 100644
> --- a/xen/arch/arm/mpu/setup.c
> +++ b/xen/arch/arm/mpu/setup.c
> @@ -97,7 +97,14 @@ void __init copy_from_paddr(void *dst, paddr_t paddr,
> unsigned long len)
>
> void __init remove_early_mappings(void)
> {
> - BUG_ON("unimplemented");
> + int rc;
> +
> + if ( mapped_fdt_paddr == INVALID_PADDR )
Hmm, I cannot think of a scenario where this is true. What am I missing?
> + return;
> +
> + rc = destroy_xen_mappings(round_pgdown(mapped_fdt_paddr),
> mapped_fdt_limit);
> + if ( rc )
> + panic("Unable to unmap the device-tree.\n");
NIT: please, no dots at the end
> }
>
> /*
~Michal