[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180919100449.00006df9@huawei.com>
Date: Wed, 19 Sep 2018 10:04:49 +0100
From: Jonathan Cameron <jonathan.cameron@...wei.com>
To: Mike Rapoport <rppt@...ux.vnet.ibm.com>
CC: <linux-mm@...ck.org>, Andrew Morton <akpm@...ux-foundation.org>,
"David S. Miller" <davem@...emloft.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Ingo Molnar <mingo@...hat.com>,
"Michael Ellerman" <mpe@...erman.id.au>,
Michal Hocko <mhocko@...e.com>,
Paul Burton <paul.burton@...s.com>,
Thomas Gleixner <tglx@...utronix.de>,
Tony Luck <tony.luck@...el.com>, <linux-ia64@...r.kernel.org>,
<linux-mips@...ux-mips.org>, <linuxppc-dev@...ts.ozlabs.org>,
<sparclinux@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linuxarm@...wei.com>
Subject: Re: [RFC PATCH 03/29] mm: remove CONFIG_HAVE_MEMBLOCK
On Wed, 5 Sep 2018 18:59:18 +0300
Mike Rapoport <rppt@...ux.vnet.ibm.com> wrote:
> All architecures use memblock for early memory management. There is no need
> for the CONFIG_HAVE_MEMBLOCK configuration option.
>
> Signed-off-by: Mike Rapoport <rppt@...ux.vnet.ibm.com>
Hi Mike,
A minor editing issue in here that is stopping boot on arm64 platforms with latest
version of the mm tree.
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index 76c83c1..bd841bb 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -1115,13 +1115,11 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
> return 1;
> }
>
> -#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
This isn't the right #endif. It is matching with the #ifndef MAX_MEMBLOCK_ADDR
not the intented #ifdef CONFIG_HAVE_MEMBLOCK.
Now I haven't chased through the exact reason this is causing my acpi
arm64 system not to boot on the basis it is obviously miss-matched anyway
and I'm inherently lazy. It's resulting in stubs replacing the following weak
functions.
early_init_dt_add_memory_arch
(this is defined elsewhere for some architectures but not arm)
early_init_dt_mark_hotplug_memory_arch
(there is only one definition of this in the kernel so it doesn't
need to be weak or in the header etc).
early_init_dt_reserve_memory_arch
(defined on mips but nothing else)
Taking out the right endif also lets you drop an #else removing some stub
functions further down in here.
Nice cleanup in general btw.
Thanks,
Jonathan
>
> void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size)
> {
Powered by blists - more mailing lists