hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
kernel/init/main.c
....@@ -52,6 +52,7 @@
5252 #include <linux/tick.h>
5353 #include <linux/sched/isolation.h>
5454 #include <linux/interrupt.h>
55
+#include <linux/irq_pipeline.h>
5556 #include <linux/taskstats_kern.h>
5657 #include <linux/delayacct.h>
5758 #include <linux/unistd.h>
....@@ -847,13 +848,14 @@
847848 char *command_line;
848849 char *after_dashes;
849850
851
+ stall_inband_nocheck();
850852 set_task_stack_end_magic(&init_task);
851853 smp_setup_processor_id();
852854 debug_objects_early_init();
853855
854856 cgroup_init_early();
855857
856
- local_irq_disable();
858
+ local_irq_disable_full();
857859 early_boot_irqs_disabled = true;
858860
859861 /*
....@@ -913,6 +915,7 @@
913915 setup_log_buf(0);
914916 vfs_caches_init_early();
915917 sort_main_extable();
918
+ irq_pipeline_init_early();
916919 trap_init();
917920 mm_init();
918921
....@@ -958,6 +961,7 @@
958961 /* init some links before init_ISA_irqs() */
959962 early_irq_init();
960963 init_IRQ();
964
+ irq_pipeline_init();
961965 tick_init();
962966 rcu_init_nohz();
963967 init_timers();
....@@ -983,7 +987,7 @@
983987 WARN(!irqs_disabled(), "Interrupts were enabled early\n");
984988
985989 early_boot_irqs_disabled = false;
986
- local_irq_enable();
990
+ local_irq_enable_full();
987991
988992 kmem_cache_init_late();
989993