So far, the only 'user visible' changes are that some fields in
SysBase are NULL or zero, that previously had values:
* ThisTask is NULL (this is now per-CPU)
- You should have been using FindTask(NULL) anyway!
This is serious issue considering backwards compatibility. It is relevant only when running 68k binaries but using
SysBase->ThisTask was always valid.
When writing new software or recompiling one (you are probably going to change ThisTask name to something else, right?) it is of course no issue.
But if someone *did* make a SMP m68k processor, there are MMU tricks that can be used to 'magically fix' the altered SysBase fields for pre-existing m68k programs - so compatibility is with AmigaOS 3.x is still possible.
I fear issue would be performance when handling SysBase access with MMU. You have to alter Sysbase->ThisTask but other fields like DeviceList must be exactly same on each CPU. Is it possible without slowing down the system too much?
Another question is how are you handling interrupts? To my understanding handling interrupt will not halt other cores. It makes sense but is not compatible to the original implementation. It can break some software and possibly more than some drivers.