[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL_JsqKTaJEFtPm-R3WS23S0Zhvm4T2d3_dscHB2o-KGUfkqfQ@mail.gmail.com>
Date: Mon, 2 May 2016 07:35:28 -0500
From: Rob Herring <robh@...nel.org>
To: Yoshinori Sato <ysato@...rs.sourceforge.jp>
Cc: "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
SH-Linux <linux-sh@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH RESEND 12/12] of: Add sh support
On Sun, May 1, 2016 at 12:08 AM, Yoshinori Sato
<ysato@...rs.sourceforge.jp> wrote:
> sh fdt access in VA. But memory reservation use PA.
> So sh need convert to PA.
>
> Signed-off-by: Yoshinori Sato <ysato@...rs.sourceforge.jp>
> ---
> 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
Powered by blists - more mailing lists