Re: [PATCH RESEND 12/12] of: Add sh support
From: Rob Herring
Date: Mon May 02 2016 - 08:36:08 EST
On Sun, May 1, 2016 at 12:08 AM, Yoshinori Sato
<ysato@xxxxxxxxxxxxxxxxxxxx> wrote:
> sh fdt access in VA. But memory reservation use PA.
> So sh need convert to PA.
>
> Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/of/fdt.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index 3349d2a..fb357be 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -593,6 +593,9 @@ void __init early_init_fdt_scan_reserved_mem(void)
> fdt_get_mem_rsv(initial_boot_params, n, &base, &size);
> if (!size)
> break;
> +#ifdef CONFIG_SUPERH
> + base = virt_to_phys(base);
> +#endif
> early_init_dt_reserve_memory_arch(base, size, 0);
This is not right. base is already a physical address and
early_init_dt_reserve_memory_arch takes a physical address. The
default implementation using memblock also works on physical
addresses. It is a weak function so you can override it if you need to
do something special. But it seems something else is wrong here if you
need this.
Rob