Now there is one Wedge() for both environments. Wedge.c has a clearer
interface with the wrapper, and #includes a sensible set of headers. The
hand-rolled libc functions have been separated out, and memcpy() is no
longer used for overlapping ranges.
At dry-run time, the NanoKernel is not asked for the location of HWInfo.
The pointer block at 5FFFEFC0 is used instead. The location of
ConfigInfo was already hardcoded.
This neatens things up considerably, but will cause the dry-run Wedge to
crash on a machine with a Wedged address space. If the
NKLocateInfoRecord code can be cleaned up a bit, then it might be
restored.
The Wedge is a C program that, when inserted into a PowerPC ROM, runs
just before the NanoKernel. This is very early in the boot process. The
Wedge takes this opportunity to rearrange the MacOS address space and
make more than 1.5 GB RAM available to applications. Some serious
problems remain with this approach, so a "proper" solution to the 1.5 GB
RAM limit will take more work.
This code was ripped out of the old CDG5 build system and refactored. It
it more appropriate to keep the Wedge separate from the real OS code.