在 中start_kernel()
,内核所做的第一件事就是运行setup_arch()
。setup_arch()
是为每个受支持的体系结构定义的,因此它会传递一个指向适当命令行的指针。
这个指针是如何初始化的,内核如何以及何时获得计算机的体系结构?
答案1
给定的内核是为单一体系结构构建的,因此它具有单一的setup_arch
.通用的start_kernel
调用它,但它不会将初始化的指针传递给命令行,而是传递一个指向命令行指针的指针,并且setup_arch
初始化该指针是 的工作的一部分。
例如,x86有一个全局command_line
变量,及其setup_arch
将其地址存储在由提供的指针中start_kernel
。
因此,内核在构建计算机时有效地获取了计算机的体系结构。