Just to follow up on this, I spent a bit looking at what this register is trying to do and from the Darwin source I can see that in fact it is simply a hard-wired hardware register which should return the revision of the UniNorth hardware.
So in fact the code in its current form is completely bogus which is visible when trying to boot FreeBSD, which as the register is never written to, returns a completely different random number each time.
David - are you okay to change DEVICE_NATIVE_ENDIAN to DEVICE_BIG_ENDIAN and then apply this and the final patch to your for-2.13 queue? I can then follow up with another patch later that will implement this register (and also the matching PCI revision ID) correctly.
Ping? I can see that more patches are being added to the for-2.13 branch so I was just wondering if there is now anything else needed from me in order to get the last 3 patches from this patchset queued?
Ping again? The reason for asking is because my next set of Mac branches are all rebased on this patchset since they rely on this, plus the final two patches in this series which remove the need for qdev_connect_gpio_out() when wiring up macio devices.