1

在浏览网页并寻找有关 OpenBoot 和 SPARCv9 处理器的资料时,我看到 OpenBoot 在 0x4000[1] 处加载了任何客户端程序。为什么使用这个地址。另外,如果我尝试在实际的 sparc 机器上进行转储,我会在前 8kb 左右的内存(0x0 到 0x2000)中得到快速数据访问 MMU 未命中,所以我想这应该是一些内存映射 IO 左右,但是在(0x2000 到 0x4000) 是零填充的。所以我想答案不可能是 OPB 的存储位置(实际上在这个机器上它位于 0xf0055310)

虽然我还在讨论这个问题。为什么 SPARC 的 Linux 内核在之前被 SILO 从 0x4000 重定位到 0x40004000 之后,又将自己重定位到另一个地址?除了加载 Linux/任何其他客户端程序时的 SILO 和 OBP 输出之外,我在任何地方都没有找到这个。

[1] http://wiki.osdev.org/UltraSPARC

4

0 回答 0