Re: OpenFirmware memory management?
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Joshua On Mar 27, 2006, at 19:36 , Andrei Warkentin wrote: Hello, Thank you for your time. Andrei Evgenievich Warkentin andrey.warkentin@gmail.com Cell: (+1) (847) 321-15-55 _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/jtl%40ira.uka.de _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... Don't use open firmware in your kernel, as you don't know what OF is doing behind the scenes. Quiesce open firmware, and have your kernel take control of the processor. If you need a debugger, then consider keeping OF around as a debug console. For a debug console, you can restore the OF environment each time you need to execute an OF callback; this includes restoring the hash table, the segments, etc. that are used by OF. I highly recommend to avoid mixing your kernel's virtual memory infrastructure with OF's; give them different hash tables, segment IDs, etc. Last time I looked at the Darwin boot logic, I noticed that it also avoids using OF, and instead relies on the boot loader to copy the device tree into a canonical format in memory. 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). This email sent to jtl@ira.uka.de This email sent to site_archiver@lists.apple.com
participants (1)
-
Joshua LeVasseur