Mac OpenFirmware 3.x questions.

From: Andrei Warkentin <hidden>
Date: 2005-12-19 07:11:14

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@gmail.com
Cell: (+1) (847) 321-15-55
Office: (+1) (312) 756-15-00 x614
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help