StrongARM support in 2.38
Posted: Mon Feb 24, 2014 7:17 pm
Whilst fixing StrongARM support I also tracked down why Zarch is now slow. I'd forgotten to go back and add the check to the STM abort handler that only clears the cache if an instruction is overwritten. With conditional cache flushing in place, Zarch is now back at over 50fps.
I'm totally amazed at how well StrongARM copes with aborts, Zarch is generating between 120,000 and 180,000 aborts/second and still runs at over 50fps. Considering the speed of the CPU, that's impressive. Admittedly it shouldn't be generating that high number of aborts, it looks like the subpage support isn't working on physical, as compared to emulation, the number of aborts is an order of magnitude higher - they should be identical.
2.38 is on the dev site and works on both StrongARM (below RO5) and the Pi, it's not quite ready for public release as there's still a few minor issues to resolve. I'm hoping to get those fixed during the week.
StrongARM RO5 support still isn't in place, I'll need to create yet another build as it needs portions of ADFFS400 and ADFFS500 to work, so we'll end up with an ADFFS450 specifically for IOMD 32bit. That does however largely depend on getting subpage support to work, as that's the deciding factor to fork it.
I'm totally amazed at how well StrongARM copes with aborts, Zarch is generating between 120,000 and 180,000 aborts/second and still runs at over 50fps. Considering the speed of the CPU, that's impressive. Admittedly it shouldn't be generating that high number of aborts, it looks like the subpage support isn't working on physical, as compared to emulation, the number of aborts is an order of magnitude higher - they should be identical.
2.38 is on the dev site and works on both StrongARM (below RO5) and the Pi, it's not quite ready for public release as there's still a few minor issues to resolve. I'm hoping to get those fixed during the week.
StrongARM RO5 support still isn't in place, I'll need to create yet another build as it needs portions of ADFFS400 and ADFFS500 to work, so we'll end up with an ADFFS450 specifically for IOMD 32bit. That does however largely depend on getting subpage support to work, as that's the deciding factor to fork it.