]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: add module support for alternatives fixups
authorAndre Przywara <andre.przywara@arm.com>
Fri, 28 Nov 2014 13:40:45 +0000 (13:40 +0000)
committerWill Deacon <will.deacon@arm.com>
Thu, 4 Dec 2014 10:28:24 +0000 (10:28 +0000)
commitcea28b2899ce659582cb2a02f55074a2ae6dd3be
tree72ae4cdbea21713d55576bf12fa8c095d3b48679
parent207bfb54fa05c4d617db1fe12c2655539c385ac1
arm64: add module support for alternatives fixups

Currently the kernel patches all necessary instructions once at boot
time, so modules are not covered by this.
Change the apply_alternatives() function to take a beginning and an
end pointer and introduce a new variant (apply_alternatives_all()) to
cover the existing use case for the static kernel image section.
Add a module_finalize() function to arm64 to check for an
alternatives section in a module and patch only the instructions from
that specific area.
Since that module code is not touched before the module
initialization has ended, we don't need to halt the machine before
doing the patching in the module's code.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/alternative.h
arch/arm64/kernel/alternative.c
arch/arm64/kernel/module.c
arch/arm64/kernel/smp.c