Patch "init: Provide arch_cpu_finalize_init()" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    init: Provide arch_cpu_finalize_init()

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     init-provide-arch_cpu_finalize_init.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From 732f36d8843540ec203a76b21d7a9b57f4e504a1 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed, 14 Jun 2023 01:39:22 +0200
Subject: init: Provide arch_cpu_finalize_init()

From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

commit 7725acaa4f0c04fbefb0e0d342635b967bb7d414 upstream

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@xxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20230613224544.957805717@xxxxxxxxxxxxx
Signed-off-by: Daniel Sneddon <daniel.sneddon@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 arch/Kconfig        |    3 +++
 include/linux/cpu.h |    6 ++++++
 init/main.c         |    5 +++++
 3 files changed, 14 insertions(+)

--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -290,6 +290,9 @@ config ARCH_HAS_DMA_SET_UNCACHED
 config ARCH_HAS_DMA_CLEAR_UNCACHED
 	bool
 
+config ARCH_HAS_CPU_FINALIZE_INIT
+	bool
+
 # Select if arch init_task must go in the __init_task_data section
 config ARCH_TASK_STRUCT_ON_STACK
 	bool
--- a/include/linux/cpu.h
+++ b/include/linux/cpu.h
@@ -188,6 +188,12 @@ void arch_cpu_idle_enter(void);
 void arch_cpu_idle_exit(void);
 void 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);
--- a/init/main.c
+++ b/init/main.c
@@ -1044,7 +1044,12 @@ asmlinkage __visible void __init __no_sa
 	delayacct_init();
 
 	poking_init();
+
+	arch_cpu_finalize_init();
+	/* Temporary conditional until everything has been converted */
+#ifndef CONFIG_ARCH_HAS_CPU_FINALIZE_INIT
 	check_bugs();
+#endif
 
 	acpi_subsystem_init();
 	arch_post_acpi_subsys_init();


Patches currently in stable-queue which might be from tglx@xxxxxxxxxxxxx are

queue-5.10/x86-cpu-switch-to-arch_cpu_finalize_init.patch
queue-5.10/arm-cpu-switch-to-arch_cpu_finalize_init.patch
queue-5.10/um-cpu-switch-to-arch_cpu_finalize_init.patch
queue-5.10/mips-cpu-switch-to-arch_cpu_finalize_init.patch
queue-5.10/init-x86-move-mem_encrypt_init-into-arch_cpu_finalize_init.patch
queue-5.10/sh-cpu-switch-to-arch_cpu_finalize_init.patch
queue-5.10/init-invoke-arch_cpu_finalize_init-earlier.patch
queue-5.10/x86-xen-fix-secondary-processors-fpu-initialization.patch
queue-5.10/x86-fpu-move-fpu-initialization-into-arch_cpu_finalize_init.patch
queue-5.10/init-remove-check_bugs-leftovers.patch
queue-5.10/init-provide-arch_cpu_finalize_init.patch
queue-5.10/m68k-cpu-switch-to-arch_cpu_finalize_init.patch
queue-5.10/sparc-cpu-switch-to-arch_cpu_finalize_init.patch
queue-5.10/x86-fpu-mark-init-functions-__init.patch
queue-5.10/ia64-cpu-switch-to-arch_cpu_finalize_init.patch
queue-5.10/x86-fpu-remove-cpuinfo-argument-from-init-functions.patch



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux