admin 管理员组

文章数量: 887021


2024年3月19日发(作者:学生信息查询系统数据库课程设计)

preempt_disable();

if (WARN(!irqs_disabled(),

"Interrupts were enabled *very* early, fixing itn"))

local_irq_disable();

radix_tree_init();

/*

* Set up housekeeping before setting up workqueues to allow the unbound

* workqueue to take non-housekeeping into account.

*/

housekeeping_init();

/*

* Allow workqueue creation and work item queueing/cancelling

* early. Work item execution depends on kthreads and starts after

* workqueue_init().

*/

workqueue_init_early();

rcu_init();

/* Trace events are available after this */

trace_init();

if (initcall_debug)

initcall_debug_enable();

context_tracking_init();

/* init some links before init_ISA_irqs() */

early_irq_init();

init_IRQ();

tick_init();

rcu_init_nohz();

init_timers();

hrtimers_init();

softirq_init();

timekeeping_init();

time_init();

printk_safe_init();

perf_event_init();

profile_init();

call_function_init();

WARN(!irqs_disabled(), "Interrupts were enabled earlyn");

early_boot_irqs_disabled = false;

local_irq_enable();

kmem_cache_init_late();

/*

* HACK ALERT! This is early. We're enabling the console before

* we've done PCI setups etc, and console_init() must be aware of

* this. But we do want output early, in case something goes wrong.

*/

console_init();

if (panic_later)

panic("Too many boot %s vars at `%s'", panic_later,

panic_param);

lockdep_init();

/*

* Need to run this when irqs are enabled, because it wants

* to self-test [hard/soft]-irqs on/off lock inversion bugs

* too:

*/

locking_selftest();

/*

* This needs to be called before any devices perform DMA

* operations that might use the SWIOTLB bounce buffers. It will

* mark the bounce buffers as decrypted so that their usage will

* not cause "plain-text" data to be decrypted when accessed.

*/

mem_encrypt_init();

#ifdef CONFIG_BLK_DEV_INITRD

if (initrd_start && !initrd_below_start_ok &&

page_to_pfn(virt_to_page((void *)initrd_start)) < min_low_pfn) {

pr_crit("initrd overwritten (0x%08lx < 0x%08lx) - disabling it.n",

page_to_pfn(virt_to_page((void *)initrd_start)),

min_low_pfn);

initrd_start = 0;

}


本文标签: 查询 信息 学生 系统 数据库