Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a5014aa authored by Magnus Damm's avatar Magnus Damm Committed by Russell King
Browse files

ARM: 7863/1: Let arm_add_memory() always use 64-bit arguments



The DTB and/or the kernel command line may pass
64-bit addresses regardless of kernel configuration,
so update arm_add_memory() to take 64-bit arguments
independently of the phys_addr_t size.

This allows non-wrapping handling of high memory
banks such as the second memory bank of APE6EVM
(at 0x2_0000_0000) in case of 32-bit phys_addr_t.

Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 1436c1aa
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ extern struct meminfo meminfo;
#define bank_phys_end(bank)	((bank)->start + (bank)->size)
#define bank_phys_size(bank)	(bank)->size

extern int arm_add_memory(phys_addr_t start, phys_addr_t size);
extern int arm_add_memory(u64 start, u64 size);
extern void early_print(const char *str, ...);
extern void dump_machine_table(void);

+3 −3
Original line number Diff line number Diff line
@@ -621,7 +621,7 @@ void __init dump_machine_table(void)
		/* can't use cpu_relax() here as it may require MMU setup */;
}

int __init arm_add_memory(phys_addr_t start, phys_addr_t size)
int __init arm_add_memory(u64 start, u64 size)
{
	struct membank *bank = &meminfo.bank[meminfo.nr_banks];

@@ -671,8 +671,8 @@ int __init arm_add_memory(phys_addr_t start, phys_addr_t size)
static int __init early_mem(char *p)
{
	static int usermem __initdata = 0;
	phys_addr_t size;
	phys_addr_t start;
	u64 size;
	u64 start;
	char *endp;

	/*