ramips: mt7621: add support for memory detection
authorChuanhong Guo <gch981213@gmail.com>
Wed, 10 Jul 2019 03:05:41 +0000 (11:05 +0800)
committerChuanhong Guo <gch981213@gmail.com>
Fri, 11 Oct 2019 14:31:22 +0000 (22:31 +0800)
commit49c563a829b4c895c0faee4c53b29392d0ac090e
treef819de8b48869132764c71577421a4ef6dde8150
parente8dc69fcb02e4f6a3c1b6bc54877f7f4d9186dca
ramips: mt7621: add support for memory detection

mt7621 has the following memory map:
0x0-0x1c000000: lower 448m memory
0x1c000000-0x2000000: peripheral registers
0x20000000-0x2400000: higher 64m memory

detect_memory_region in arch/mips/kernel/setup.c only add the first
memory region and isn't suitable for 512m memory detection because
it may accidentally read the memory area for peripheral registers.

This commit adds memory detection capability for mt7621:
1. add the highmem area when 512m is detected.
2. guard memcmp from accessing peripheral registers:
     This only happens when some weird user decided to change
     kernel load address to 256m or higher address. Since this
     is a quite unusual case, we just skip 512m testing and return
     256m as memory size.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
(cherry picked from commit 6d91ddf5175d2eac3c4bc4a404cc0f5dd44cf25b)
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ramips/patches-4.14/105-mt7621-memory-detect.patch [new file with mode: 0644]