[PATCH v2 1/7] of/fdt: make memblock minimum physical address arch configurable
Mark Rutland
mark.rutland at arm.com
Tue Sep 22 21:45:43 PDT 2015
On Wed, Sep 23, 2015 at 01:37:37AM +0100, Ard Biesheuvel wrote:
> By default, early_init_dt_add_memory_arch() ignores memory below
> the base of the kernel image since it won't be addressable via the
> linear mapping. However, this is not appropriate anymore once we
> decouple the kernel text mapping from the linear mapping, so archs
> may want to drop the low limit entirely. So allow the minimum to be
> overridden by setting MIN_MEMBLOCK_ADDR.
>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
As it's analagou to MAX_MEMBLOCK_ADDR, this makes sense to me.
FWIW:
Acked-by: Mark RUtland <mark.rutland at arm.com>
Mark.
> ---
> drivers/of/fdt.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index 6e82bc42373b..5e7ef800a816 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -967,13 +967,16 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
> }
>
> #ifdef CONFIG_HAVE_MEMBLOCK
> +#ifndef MIN_MEMBLOCK_ADDR
> +#define MIN_MEMBLOCK_ADDR __pa(PAGE_OFFSET)
> +#endif
> #ifndef MAX_MEMBLOCK_ADDR
> #define MAX_MEMBLOCK_ADDR ((phys_addr_t)~0)
> #endif
>
> void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size)
> {
> - const u64 phys_offset = __pa(PAGE_OFFSET);
> + const u64 phys_offset = MIN_MEMBLOCK_ADDR;
>
> if (!PAGE_ALIGNED(base)) {
> if (size < PAGE_SIZE - (base & ~PAGE_MASK)) {
> --
> 1.9.1
>
More information about the linux-arm-kernel
mailing list