I knew it was used by other stuff too...I doubt I'll ever need to know it for anything else though!
It looks like the One Laptop Per Child project uses it also...
Open Firmware does seem pretty nice! You're right about the platform independence. Well, I have found a couple of places in the firmware updater where it reads a PowerPC-specific register, but that's kind of an edge case. There's no way I'll become a Forth expert during this whole project, but I'd at least like to have a decent idea about what the firmware updater is doing. Some of the syntax is challenging, but I'm slowly picking it up.
The basic structure of the update procedure seems to be:
I found an interesting error message in the update file that it prints if it can't find a flash chip it knows how to control...
It looks like the One Laptop Per Child project uses it also...Open Firmware does seem pretty nice! You're right about the platform independence. Well, I have found a couple of places in the firmware updater where it reads a PowerPC-specific register, but that's kind of an edge case. There's no way I'll become a Forth expert during this whole project, but I'd at least like to have a decent idea about what the firmware updater is doing. Some of the syntax is challenging, but I'm slowly picking it up.
The basic structure of the update procedure seems to be:
- Some basic setup
- Verify Adler32 checksum of entire firmware updater file
- Decode and load boot block, recovery, and ROM images into RAM, verifying individual adler32 checksum of each
- Some more setup
- Determine manufacturer of flash chip on logic board
- Do actual flashing of chips, drawing progress bar stuff while doing it
I found an interesting error message in the update file that it prints if it can't find a flash chip it knows how to control...