diff mbox series

MIPS: fix memory setup for platforms with PHY_OFFSET != 0

Message ID 20190226140632.13343-1-tbogendoerfer@suse.de (mailing list archive)
State Mainlined
Commit e0bf304e4a00d66d90904a6c5b93141f177cf6d2
Headers show
Series MIPS: fix memory setup for platforms with PHY_OFFSET != 0 | expand

Commit Message

Thomas Bogendoerfer Feb. 26, 2019, 2:06 p.m. UTC
For platforms, which use a PHY_OFFSET != 0, symbol _end also
contains that offset. So when calling memblock_reserve() for
reserving kernel and initrd the size argument needs to be
adjusted.

Fixes: bcec54bf3118 ("mips: switch to NO_BOOTMEM")
Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
 arch/mips/kernel/setup.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Mike Rapoport Feb. 27, 2019, 6:32 a.m. UTC | #1
Hi,

On Tue, Feb 26, 2019 at 03:06:32PM +0100, Thomas Bogendoerfer wrote:
> For platforms, which use a PHY_OFFSET != 0, symbol _end also

Nit:                         PHYS_OFFSET, the same typo in subject

> contains that offset. So when calling memblock_reserve() for
> reserving kernel and initrd the size argument needs to be
> adjusted.

The changelog mentions initrd, but the patch changes only the kernel
reservation. Can you please update the changelog to match the code?

> Fixes: bcec54bf3118 ("mips: switch to NO_BOOTMEM")
> Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>

With the amends above

Acked-by: Mike Rapoport <rppt@linux.ibm.com>

> ---
>  arch/mips/kernel/setup.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
> index 8c6c48ed786a..d2e5a5ad0e6f 100644
> --- a/arch/mips/kernel/setup.c
> +++ b/arch/mips/kernel/setup.c
> @@ -384,7 +384,8 @@ static void __init bootmem_init(void)
>  	init_initrd();
>  	reserved_end = (unsigned long) PFN_UP(__pa_symbol(&_end));
> 
> -	memblock_reserve(PHYS_OFFSET, reserved_end << PAGE_SHIFT);
> +	memblock_reserve(PHYS_OFFSET,
> +			 (reserved_end << PAGE_SHIFT) - PHYS_OFFSET);
> 
>  	/*
>  	 * max_low_pfn is not a number of pages. The number of pages
> -- 
> 2.13.7
>
Thomas Bogendoerfer Feb. 27, 2019, 9:43 a.m. UTC | #2
On Wed, 27 Feb 2019 08:32:43 +0200
Mike Rapoport <rppt@linux.ibm.com> wrote:

> The changelog mentions initrd, but the patch changes only the kernel
> reservation. Can you please update the changelog to match the code?

sure, changed and sent.

Thomas.
diff mbox series

Patch

diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index 8c6c48ed786a..d2e5a5ad0e6f 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -384,7 +384,8 @@  static void __init bootmem_init(void)
 	init_initrd();
 	reserved_end = (unsigned long) PFN_UP(__pa_symbol(&_end));
 
-	memblock_reserve(PHYS_OFFSET, reserved_end << PAGE_SHIFT);
+	memblock_reserve(PHYS_OFFSET,
+			 (reserved_end << PAGE_SHIFT) - PHYS_OFFSET);
 
 	/*
 	 * max_low_pfn is not a number of pages. The number of pages