
在 中start_kernel()
,核心所做的第一件事就是運行setup_arch()
。setup_arch()
是為每個受支援的體系結構定義的,因此它會傳遞一個指向適當命令行的指標。
這個指標是如何初始化的,核心如何以及何時獲得電腦的體系結構?
答案1
給定的核心是為單一體系結構建構的,因此它具有單一的setup_arch
.通用的start_kernel
呼叫它,但它不會將初始化的指針傳遞給命令行,而是傳遞一個指向命令列指針的指針,並且setup_arch
初始化該指針是 的工作的一部分。
例如,x86有一個全域command_line
變數,及其setup_arch
將其位址儲存在由提供的指標中start_kernel
。
因此,核心在建構電腦時有效地獲取了電腦的體系結構。