diff options
author | Mark Rutland <mark.rutland@arm.com> | 2017-07-21 14:25:33 +0100 |
---|---|---|
committer | Mark Rutland <mark.rutland@arm.com> | 2017-08-15 18:36:04 +0100 |
commit | e3067861ba6650a566a6273738c23c956ad55c02 (patch) | |
tree | 95c523e8bbb75e883b02e659481fa9557f2e56e6 /arch/arm64/kernel/vmlinux.lds.S | |
parent | f60fe78f133243e6de0f05fdefc3ed2f3c5085ca (diff) | |
download | linux-stable-e3067861ba6650a566a6273738c23c956ad55c02.tar.gz linux-stable-e3067861ba6650a566a6273738c23c956ad55c02.tar.bz2 linux-stable-e3067861ba6650a566a6273738c23c956ad55c02.zip |
arm64: add basic VMAP_STACK support
This patch enables arm64 to be built with vmap'd task and IRQ stacks.
As vmap'd stacks are mapped at page granularity, stacks must be a multiple of
PAGE_SIZE. This means that a 64K page kernel must use stacks of at least 64K in
size.
To minimize the increase in Image size, IRQ stacks are dynamically allocated at
boot time, rather than embedding the boot CPU's IRQ stack in the kernel image.
This patch was co-authored by Ard Biesheuvel and Mark Rutland.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Tested-by: Laura Abbott <labbott@redhat.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
Diffstat (limited to 'arch/arm64/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/arm64/kernel/vmlinux.lds.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S index 71565386d063..fe56c268a7d9 100644 --- a/arch/arm64/kernel/vmlinux.lds.S +++ b/arch/arm64/kernel/vmlinux.lds.S @@ -176,7 +176,7 @@ SECTIONS _data = .; _sdata = .; - RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE) + RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_ALIGN) /* * Data written with the MMU off but read with the MMU on requires |