Mac OpenFirmware 3.x questions.

Andrei Warkentin andrey.warkentin at gmail.com
Mon Dec 19 18:11:08 EST 2005


Hello,

I was just wondering if I clearly understand the process of using the  
client interface if I ever (in my kernel) decide to set up my own  
virtual memory (or for that matter pretty much do anything that  
involves modifying CPU state) -
1) Load saved OF-era SDR1, MSR, SPRGs, BATs, segment registers, SRR0,  
SRR1,  restore OF exception vectors.
2) Flush i/d caches.
3) Call client interface.
4) Load kernel SDR1, MSR, SPRGs, BATs, segment registers, SRR0, SRR1,  
restore kernel exception vectors.
5) Flush i/d caches.

Does this seem reasonable? Do I need to save/restore anything else? I  
understand that OF (3.x) lives in flash ROM, and only copies the  
exception vectors from 0xfff----- down to 0x000----- - but where does  
it store the page tables (as used by claim/release) and where is OF  
physically/virtually? It would be pretty bad to wipe out OF's .bss or  
whatever, or even worse... overwrite the flash itself.  :)

Thanks and have a great day.

Andrei Warkentin
andrey.warkentin at gmail.com
Cell: (+1) (847) 321-15-55
Office: (+1) (312) 756-15-00 x614





More information about the Linuxppc-dev mailing list