Signed-off-by: Chunbo Cui <cuichboo@xxxxxxx> Signed-off-by: Binbin Zhou <zhoubb@xxxxxxxxxx> Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> --- arch/mips/include/asm/sparsemem.h | 6 +++++- arch/mips/loongson32/Kconfig | 1 + arch/mips/loongson32/common/setup.c | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/arch/mips/include/asm/sparsemem.h b/arch/mips/include/asm/sparsemem.h index b1071c1..f73e671 100644 --- a/arch/mips/include/asm/sparsemem.h +++ b/arch/mips/include/asm/sparsemem.h @@ -11,7 +11,11 @@ #else # define SECTION_SIZE_BITS 28 #endif -#define MAX_PHYSMEM_BITS 48 +#ifdef CONFIG_64BIT +# define MAX_PHYSMEM_BITS 48 +#else +# define MAX_PHYSMEM_BITS 36 +#endif #endif /* CONFIG_SPARSEMEM */ #endif /* _MIPS_SPARSEMEM_H */ diff --git a/arch/mips/loongson32/Kconfig b/arch/mips/loongson32/Kconfig index 35effa8..0b5a125 100644 --- a/arch/mips/loongson32/Kconfig +++ b/arch/mips/loongson32/Kconfig @@ -7,6 +7,7 @@ config LOONGSON1_LS1A bool "Loongson LS1A board" select CEVT_R4K select CSRC_R4K + select ARCH_SPARSEMEM_ENABLE select SYS_HAS_CPU_LOONGSON1A select DMA_NONCOHERENT select BOOT_ELF32 diff --git a/arch/mips/loongson32/common/setup.c b/arch/mips/loongson32/common/setup.c index 95b0155..af9ccee 100644 --- a/arch/mips/loongson32/common/setup.c +++ b/arch/mips/loongson32/common/setup.c @@ -54,7 +54,8 @@ void __init plat_mem_setup(void) .orig_video_points = 16, }; #endif - add_memory_region(0x20000000, 0x30000000, BOOT_MEM_RESERVED); + if (highmemsize > 0) + add_memory_region(0x50000000, highmemsize << 20, BOOT_MEM_RAM); #endif } -- 1.9.1