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

Commit ff1c0b6a authored by Vineet Gupta's avatar Vineet Gupta
Browse files

ARC: [plat-sim] unbork non default CONFIG_LINUX_LINK_BASE



HIGHMEM support bumped the default memory size for nsim platform to 1G.
Thus total memory ended at the very edge of start of peripherals address
space. With linux link base shifted, memory started bleeding into
peripheral space which caused early boot bad_page spew !

Fixes: 29e33226 ("ARC: mm: HIGHMEM: populate high memory from DT")
Reported-by: default avatarAnton Kolesov <akolesov@synopsys.com>
Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent c512c6ba
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -445,6 +445,7 @@ config LINUX_LINK_BASE
	  However some customers have peripherals mapped at this addr, so
	  Linux needs to be scooted a bit.
	  If you don't know what the above means, leave this setting alone.
	  This needs to match memory start address specified in Device Tree

config HIGHMEM
	bool "High Memory Support"
+2 −1
Original line number Diff line number Diff line
@@ -17,7 +17,8 @@

	memory {
		device_type = "memory";
		reg = <0x0 0x80000000 0x0 0x40000000	/* 1 GB low mem */
		/* CONFIG_LINUX_LINK_BASE needs to match low mem start */
		reg = <0x0 0x80000000 0x0 0x20000000	/* 512 MB low mem */
		       0x1 0x00000000 0x0 0x40000000>;	/* 1 GB highmem */
	};

+3 −1
Original line number Diff line number Diff line
@@ -51,7 +51,9 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
	int in_use = 0;

	if (!low_mem_sz) {
		BUG_ON(base != low_mem_start);
		if (base != low_mem_start)
			panic("CONFIG_LINUX_LINK_BASE != DT memory { }");

		low_mem_sz = size;
		in_use = 1;
	} else {