Hello,
I'm not sure who else I can approach with this question. I am trying to write a "kernel", and I am fairly confused on the PowerPC front . This is on a 1.33 Ghz iBook, so its a G4 and the OF version is 4.9.3f0. Since the IR and DR bits are set, OF operates in virt-mode. I tried putting it in real-mode, but the machine never booted up again and I needed to perform an uber-reset to get it going again. Right now I've gotten to the point where I'd like control over the virtual memory. I am not familiar with PowerPC MMU, so I was thinking of (at first) relying on claim(...). However, I realized that I still don't know how the address space is utilized by OpenFirmware. Are all mappings identity mappings? So, if OF loaded by kernel at linear 2MB, is it also at 2MB physical? If it is not identity mapped, what ranges are in active use by OF and are to be avoided?
Whenever I figure out my way around the PowerPC MMU, is making OF use my routines really as easy as calling set-callback? My only reference are the PowerPC bindings which are more than ten years old, so I'm not sure. Will OF automagically remap all its existing mappings using my routines, or will I be responsible for that? I'd like to keep the client interface functional, as it is currently the only way I can do console output.
Is it possible for me to (non-destructively) modify the interrupt/exception vectors while OF is still in control of VM? (assuming I don't touch ISI/DSI vectors, of course).
Thank you for your time. Andrei Evgenievich Warkentin Cell: (+1) (847) 321-15-55 |