summaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/Makefile
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2024-04-23 08:48:42 +0100
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2024-04-29 14:14:20 +0100
commit393999fa96273bab8d6efb2f4724030916afd61b (patch)
treefe7a36bcb0b937781ba4a3c54fc020c99251f441 /arch/arm/mm/Makefile
parent51db13aa8d09ecd33ff712d888a8cfe5ac89d6de (diff)
downloadlinux-393999fa96273bab8d6efb2f4724030916afd61b.tar.gz
linux-393999fa96273bab8d6efb2f4724030916afd61b.tar.bz2
linux-393999fa96273bab8d6efb2f4724030916afd61b.zip
ARM: 9389/2: mm: Define prototypes for all per-processor calls
Each CPU type ("proc") has assembly calls for initializing and setting up the MM context, idle and so forth. These calls have the C form of e.g.: void cpu_arm920_init(void); However this prototype is not really specified, instead it is generated by the glue code in <asm/glue-proc.h> and the prototype is implicit from the generic prototype defined in <asm/proc-fns.h> such as cpu_proc_init() in this case. (This is a bit similar to the "interface" or inheritance concept in other languages.) To be able to annotate these assembly calls for CFI, they all need to have a proper C prototype per CPU call. Define these in a new C file that is only compiled when we use CFI, and add __ADDRESSABLE() to each so the compiler knows that these will be addressed (they are not explicitly called in C, they are called by way of cpu_proc_init() etc). It is a bit of definitions, but we do not expect new ARM32 CPUs to appear very much so it should be pretty static. Tested-by: Kees Cook <keescook@chromium.org> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/mm/Makefile')
-rw-r--r--arch/arm/mm/Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mm/Makefile b/arch/arm/mm/Makefile
index 17665381be96..f1f231f20ff9 100644
--- a/arch/arm/mm/Makefile
+++ b/arch/arm/mm/Makefile
@@ -90,6 +90,7 @@ obj-$(CONFIG_CPU_V6) += proc-v6.o
obj-$(CONFIG_CPU_V6K) += proc-v6.o
obj-$(CONFIG_CPU_V7) += proc-v7.o proc-v7-bugs.o
obj-$(CONFIG_CPU_V7M) += proc-v7m.o
+obj-$(CONFIG_CFI_CLANG) += proc.o
obj-$(CONFIG_OUTER_CACHE) += l2c-common.o
obj-$(CONFIG_CACHE_B15_RAC) += cache-b15-rac.o