arch_initcall
时间: 2024-04-27 10:21:50 浏览: 168
`arch_initcall` 是一个宏定义,用于指定在操作系统内核初始化过程中,执行特定 CPU 架构相关的初始化函数。这些初始化函数被称为 "体系结构初始化函数"(architectural initialization functions)。在 Linux 内核中,`arch_initcall` 宏定义了一个函数指针数组,并将特定的初始化函数加入到数组中。这些函数将在内核启动时被调用,以确保系统能够正确地运行。通常情况下,`arch_initcall` 宏定义的函数指针数组将在其他初始化函数(如 `core_initcall`、`device_initcall` 等)之前被调用。
相关问题
initcall_levels数组结构
initcall_levels是一个整型数组,用于存储Linux内核初始化过程中各个初始化函数的优先级。它是由枚举类型initcall_level定义的,该枚举类型定义了7个不同的初始化级别,分别是:
1. EARLY_BOOT:早期引导阶段
2. ARCH_EARLY_INIT:架构早期初始化
3. SUBSYS_EARLY_INIT:子系统早期初始化
4. FS_EARLY_INIT:文件系统早期初始化
5. DEVICE_EARLY_INIT:设备早期初始化
6. CPU_ONLINE:CPU在线初始化
7. NORMAL:普通初始化
在initcall_levels数组中,数组下标表示初始化级别,数组值表示该级别下的初始化函数个数。
例如,initcall_levels[ARCH_EARLY_INIT] = 2,表示架构早期初始化级别下有2个初始化函数。
阅读全文