I can address the compatibility question.
There are some things that are at fixed locations on the Mill.
The physical map is at virtual address zero, so physical and virtual addresses are the same up to the end of physical.
Within physical, the core MMIO map is at address zero, and its layout is fixed and member-dependent. This does not include device MMIO, which may be anywhere.
The top of virtual is reserved for stacklets, and immediately below that are the stacklet info blocks. The size of these structures are fixed but member dependent.
The boot sequence is in the MMIO map, but it transfers to the boot ROM whose location is not fixed in physical but is by convention after the MMIO block.
The boot turf (the All) can reach all of these, but most are used only for power-up or device driver services and would not be passed on to applications.
That’s all I can think of. Of course, the OS can organize things as it sees fit.
Note that because the OS is just another app on the Mill, where it starts up is not under its own control but is set by the boot ROM.Hence the ROM boot is a reasonable place to randomize at least the OS if desired. There are any number of ways for a ROM to get a number random enough for this use.