1

While browsing the web and looking for stuff about the OpenBoot, and SPARCv9 processors, I saw that any client program is loaded by the OpenBoot at 0x4000[1]. Why is this the address used. Also if i try to do a dump on an actual sparc machine i get a Fast Data Access MMU miss for the first 8kb of memory or so( 0x0 to 0x2000), so I guess this should be some Memory Mapped IO or so, but after that (0x2000 to 0x4000) is zero-filled. So I guess the answer couldn't be that there is where the OPB is stored (actually on this machined it is at 0xf0055310)

And while I'm still on this subject. Why does the Linux Kernel for SPARC relocates itself at another address, after it has been previously been relocated by SILO from 0x4000 to 0x40004000? I didn't find this anywhere, apart from the SILO & OBP output while loading Linux/any other client program.

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

Mathew Thompson
  • 55,877
  • 15
  • 127
  • 148
skyel
  • 713
  • 1
  • 6
  • 20

0 Answers0