diff options
author | Mark Rutland | 2015-12-09 13:44:38 +0100 |
---|---|---|
committer | Will Deacon | 2015-12-10 18:36:08 +0100 |
commit | 9aa4ec1571da62366cfddc20f3b923609604fe63 (patch) | |
tree | d7986d4eb6e16aa235215a83b5a95544c3288884 /arch/arm64/mm | |
parent | arm64: Remove redundant padding from linker script (diff) | |
download | kernel-qcow2-linux-9aa4ec1571da62366cfddc20f3b923609604fe63.tar.gz kernel-qcow2-linux-9aa4ec1571da62366cfddc20f3b923609604fe63.tar.xz kernel-qcow2-linux-9aa4ec1571da62366cfddc20f3b923609604fe63.zip |
arm64: mm: fold alternatives into .init
Currently we treat the alternatives separately from other data that's
only used during initialisation, using separate .altinstructions and
.altinstr_replacement linker sections. These are freed for general
allocation separately from .init*. This is problematic as:
* We do not remove execute permissions, as we do for .init, leaving the
memory executable.
* We pad between them, making the kernel Image bianry up to PAGE_SIZE
bytes larger than necessary.
This patch moves the two sections into the contiguous region used for
.init*. This saves some memory, ensures that we remove execute
permissions, and allows us to remove some code made redundant by this
reorganisation.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Andre Przywara <andre.przywara@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Jeremy Linton <jeremy.linton@arm.com>
Cc: Laura Abbott <labbott@fedoraproject.org>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/mm')
-rw-r--r-- | arch/arm64/mm/init.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 9b8cc673f43c..2ee6c208c318 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -360,7 +360,6 @@ void free_initmem(void) { fixup_init(); free_initmem_default(0); - free_alternatives_memory(); } #ifdef CONFIG_BLK_DEV_INITRD |