]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: add basic VMAP_STACK support
authorMark Rutland <mark.rutland@arm.com>
Fri, 21 Jul 2017 13:25:33 +0000 (14:25 +0100)
committerMark Rutland <mark.rutland@arm.com>
Tue, 15 Aug 2017 17:36:04 +0000 (18:36 +0100)
commitf4c94c41473c4e94ce3512713701a019bcedfa70
tree95c523e8bbb75e883b02e659481fa9557f2e56e6
parent7d90e06159e33f5d558425210d1dd3abab404fe7
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>
arch/arm64/Kconfig
arch/arm64/include/asm/efi.h
arch/arm64/include/asm/memory.h
arch/arm64/kernel/irq.c
arch/arm64/kernel/vmlinux.lds.S