aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/cpu.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2023-06-14 01:39:22 +0200
committerThomas Gleixner <tglx@linutronix.de>2023-06-16 10:15:59 +0200
commit7725acaa4f0c04fbefb0e0d342635b967bb7d414 (patch)
tree3204b40f312e66d1beb0a4210efbab581817b41d /include/linux/cpu.h
parentLinux 6.4-rc2 (diff)
downloadwireguard-linux-7725acaa4f0c04fbefb0e0d342635b967bb7d414.tar.xz
wireguard-linux-7725acaa4f0c04fbefb0e0d342635b967bb7d414.zip
init: Provide arch_cpu_finalize_init()
check_bugs() has become a dumping ground for all sorts of activities to finalize the CPU initialization before running the rest of the init code. Most are empty, a few do actual bug checks, some do alternative patching and some cobble a CPU advertisement string together.... Aside of that the current implementation requires duplicated function declaration and mostly empty header files for them. Provide a new function arch_cpu_finalize_init(). Provide a generic declaration if CONFIG_ARCH_HAS_CPU_FINALIZE_INIT is selected and a stub inline otherwise. This requires a temporary #ifdef in start_kernel() which will be removed along with check_bugs() once the architectures are converted over. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20230613224544.957805717@linutronix.de
Diffstat (limited to 'include/linux/cpu.h')
-rw-r--r--include/linux/cpu.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/cpu.h b/include/linux/cpu.h
index 8582a7142623..4893c4ac026d 100644
--- a/include/linux/cpu.h
+++ b/include/linux/cpu.h
@@ -184,6 +184,12 @@ void arch_cpu_idle_enter(void);
void arch_cpu_idle_exit(void);
void __noreturn arch_cpu_idle_dead(void);
+#ifdef CONFIG_ARCH_HAS_CPU_FINALIZE_INIT
+void arch_cpu_finalize_init(void);
+#else
+static inline void arch_cpu_finalize_init(void) { }
+#endif
+
int cpu_report_state(int cpu);
int cpu_check_up_prepare(int cpu);
void cpu_set_state_online(int cpu);