Code: Select all
ARCH_SPARSEMEM_ENABLE
ARCH_SELECT_MEMORY_MODEL
NEED_MACH_MEMORY_H
and modified the __phys_to_virt() and __virt_to_phys() macros (arch/arm/mach-at91/include/mach/memory.h) to perform the desired mappings: physical 0x70000000 -> virtual 0xC0000000 and physical 0x20000000 -> virtual 0xC7000000.
I am trying to accomplish the same thing with the 4.4.68 kernel, however I am running into a kernel configuration circular dependency problem.
ARCH_SPARSEMEM_ENABLE depends on NEED_MACH_MEMORY_H
NEED_MACH_MEMORY_H fails because ARCH_MULTIPLATFORM is selected.
ARCH_MULTIPLATFORM is selected by default when MMU is selected, which I also need.
I attempted to define my own platform configuration to remove ARCH_MULTIPLATFORM, but failed. I need ARCH_AT91 and ARCH_AT91SAM9, but they require ARCH_MULTI_V5, which requires ARCH_MULTIPLATFORM.
Is there a way to use ARCH_SPARSEMEM_ENABLE and NEED_MACH_MEMORY_H on an SAM9G45 with the 4.4 kernel?