Web をブラウジングして OpenBoot と SPARCv9 プロセッサに関する情報を探していると、クライアント プログラムが OpenBoot によって 0x4000[1] にロードされていることがわかりました。このアドレスが使用される理由。また、実際の sparc マシンでダンプを実行しようとすると、メモリの最初の 8kb 程度 (0x0 から 0x2000 まで) で高速データ アクセス MMU ミスが発生するため、これはメモリ マップド IO 程度であると推測されますが、その (0x2000 ~ 0x4000) はゼロで埋められます。したがって、OPB が格納されている場所があるという答えはあり得ないと思います (実際には、このマシンでは 0xf0055310 にあります)。
そして、私がまだこの主題について話している間。Linux Kernel for SPARC が、以前に SILO によって 0x4000 から 0x40004000 に再配置された後、別のアドレスに再配置されるのはなぜですか? Linux/その他のクライアントプログラムのロード中のSILOおよびOBP出力を除いて、これはどこにも見つかりませんでした。