Mark Cave-Ayland wrote:
This points the finger at ofmem_update_mmu_translations()
In fact, it is possible to narrow down the culprit even further. If I comment out the set_property() call in ofmem_update_mmu_translations() then everything works fine. If I leave it in but change ncells to (ncells - 1) then that works too (but then of course the property array is one cell short).
It almost seems to suggest some kind of off-by-one or alignment error in the property setting code which is clobbering memory in Forth somewhere, but the specification seems to suggest that properties aren't aligned and a quick eye-ball of the property code hasn't yielded anything obvious.
Can anyone else see something I've missed?
Mark.