Skip to content

ARM: 64-bit memory fixes, APE6EVM second memory bank

Magnus Damm linux-arm-kernel linux-sh 1 version New

Get series with b4
b4 am 20130605104427.1720.68752.sendpatchset@w520

Versions newest first

  1. v1 Latest3 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3ARM: Let arm_add_memory() always use 64-bit argumentsarch/arm/include/asm/setup.h arch/arm/kernel/setup.c+4 -40 replies
2/3ARM: Handle 64-bit memory in case of 32-bit phys_addr_tarch/arm/kernel/setup.c+12 -40 replies
3/3ARM: shmobile: Add second memory bank to DTS for APE6EVMarch/arm/boot/dts/r8a73a4-ape6evm.dts+5 -00 replies

Reviews trailers per patch

None of the 3 patches has a Reviewed-by or Acked-by.

PatchGuennadi Liakhovetski
SeriesT-b
1/3
2/3
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/03] ARM: 64-bit memory fixes, APE6EVM second memory bank

ARM: 64-bit memory fixes, APE6EVM second memory bank

[PATCH 01/03] ARM: Let arm_add_memory() always use 64-bit arguments [PATCH 02/03] ARM: Handle 64-bit memory in case of 32-bit phys_addr_t [PATCH 03/03] ARM: shmobile: Add second memory bank to DTS for APE6EVM

This patch set contains two fixes and one mach-shmobile specific patch to add a second memory bank. The fixes attempt to improve the memory bank handling in the ARM kernel in case of 64-bit addresses.

Without patch 1/3 and 2/3 but with patch 3/3 by itself:

HIGHMEM=n, LPAE=n - OK (busted, second bank ignored with message [1]) HIGHMEM=y, LPAE=n - NG (busted, board hangs on boot) HIGHMEM=n, LPAE=y - OK
HIGHMEM=y, LPAE=y - OK

[1] Ignoring RAM at 00000000-3fffffff (vmalloc region overlap).

With all patches applied:

HIGHMEM=n, LPAE=n - OK
HIGHMEM=y, LPAE=n - OK
HIGHMEM=n, LPAE=y - OK
HIGHMEM=y, LPAE=y - OK

My opinion is that LPAE should be handled in a similar way to x86 PAE. This means the kernel should boot regardless of kernel config but 64-bit memory banks may be truncated if needed like when LPAE=n or HIGHMEN=n.

Comments on how to implement this in a nicer way are very welcome!

---

Written against renesas.git renesas-next-20130604v2

 arch/arm/boot/dts/r8a73a4-ape6evm.dts |    5 +++++
 arch/arm/include/asm/setup.h          |    2 +-
 arch/arm/kernel/setup.c               |   22 +++++++++++++++-------
 3 files changed, 21 insertions(+), 8 deletions(-)