OSDN Git Service

ARC: Make vmalloc size configurable
authorNoam Camus <noamc@ezchip.com>
Sun, 7 Sep 2014 19:52:33 +0000 (22:52 +0300)
committerVineet Gupta <vgupta@synopsys.com>
Mon, 9 May 2016 04:02:32 +0000 (09:32 +0530)
commit15ca68a993d10767c37793e6a0a780b0a7e395dd
tree42d9bb23a922629405b2ad49bb1304f421f31ab0
parent4bb40c6d6c011dc616d6d7fbad2bce21794f97a0
ARC: Make vmalloc size configurable

On ARC, lower 2G of address space is translated and used for
 - user vaddr space (region 0 to 5)
 - unused kernel-user gutter (region 6)
 - kernel vaddr space (region 7)

where each region simply represents 256MB of address space.

The kernel vaddr space of 256MB is used to implement vmalloc, modules
So far this was enough, but not on EZChip system with 4K CPUs (given
that per cpu mechanism uses vmalloc for allocating chunks)

So allow VMALLOC_SIZE to be configurable by expanding down into the unused
kernel-user gutter region which at default 256M was excessive anyways.

Also use _BITUL() to fix a build error since PGDIR_SIZE cannot use "1UL"
as called from assembly code in mm/tlbex.S

Signed-off-by: Noam Camus <noamc@ezchip.com>
[vgupta: rewrote changelog, debugged bootup crash due to int vs. hex]
Acked-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/Kconfig
arch/arc/include/asm/pgtable.h
arch/arc/include/asm/processor.h
arch/arc/mm/tlb.c