| .. | .. |
|---|
| 52 | 52 | #include <linux/tick.h> |
|---|
| 53 | 53 | #include <linux/sched/isolation.h> |
|---|
| 54 | 54 | #include <linux/interrupt.h> |
|---|
| 55 | +#include <linux/irq_pipeline.h> |
|---|
| 55 | 56 | #include <linux/taskstats_kern.h> |
|---|
| 56 | 57 | #include <linux/delayacct.h> |
|---|
| 57 | 58 | #include <linux/unistd.h> |
|---|
| .. | .. |
|---|
| 847 | 848 | char *command_line; |
|---|
| 848 | 849 | char *after_dashes; |
|---|
| 849 | 850 | |
|---|
| 851 | + stall_inband_nocheck(); |
|---|
| 850 | 852 | set_task_stack_end_magic(&init_task); |
|---|
| 851 | 853 | smp_setup_processor_id(); |
|---|
| 852 | 854 | debug_objects_early_init(); |
|---|
| 853 | 855 | |
|---|
| 854 | 856 | cgroup_init_early(); |
|---|
| 855 | 857 | |
|---|
| 856 | | - local_irq_disable(); |
|---|
| 858 | + local_irq_disable_full(); |
|---|
| 857 | 859 | early_boot_irqs_disabled = true; |
|---|
| 858 | 860 | |
|---|
| 859 | 861 | /* |
|---|
| .. | .. |
|---|
| 913 | 915 | setup_log_buf(0); |
|---|
| 914 | 916 | vfs_caches_init_early(); |
|---|
| 915 | 917 | sort_main_extable(); |
|---|
| 918 | + irq_pipeline_init_early(); |
|---|
| 916 | 919 | trap_init(); |
|---|
| 917 | 920 | mm_init(); |
|---|
| 918 | 921 | |
|---|
| .. | .. |
|---|
| 958 | 961 | /* init some links before init_ISA_irqs() */ |
|---|
| 959 | 962 | early_irq_init(); |
|---|
| 960 | 963 | init_IRQ(); |
|---|
| 964 | + irq_pipeline_init(); |
|---|
| 961 | 965 | tick_init(); |
|---|
| 962 | 966 | rcu_init_nohz(); |
|---|
| 963 | 967 | init_timers(); |
|---|
| .. | .. |
|---|
| 983 | 987 | WARN(!irqs_disabled(), "Interrupts were enabled early\n"); |
|---|
| 984 | 988 | |
|---|
| 985 | 989 | early_boot_irqs_disabled = false; |
|---|
| 986 | | - local_irq_enable(); |
|---|
| 990 | + local_irq_enable_full(); |
|---|
| 987 | 991 | |
|---|
| 988 | 992 | kmem_cache_init_late(); |
|---|
| 989 | 993 | |
|---|