Hello! I have tidied up my work (with some help from a1ex on the multicore stuff

) porting Qemu from 2.5.0 (current ML uses this) to Qemu 4.2.1. It works at least okay, can get to GUI in some cams known to be supported well in Qemu. It emulates Digic 7 cams better than before.
I would like some testers who can compare results between 2.5.0 and 4.2.1 with different roms. Note that I'm expecting 4.2.1 to generally be worse at this time. I want to know how so I can improve it. Modern Qemu is much easier to build on modern systems and emulates Arm better. With your help, we can make it work as well as 2.5.0.
To do this testing you will need to be happy getting Qemu 2.5.0 from ML "qemu" branch working, as well as get my port working:
https://github.com/reticulatedpines/magiclantern_simplified/commit/5c05e1e073842b50c4bb0d6d666c3766bb74db24Then, please try and find differences in behaviour between the two versions. One significant difference is that 4.2.1 will crash if the cam tries to access unmapped memory - this seems common on the roms I've tested. I've fixed this for I think 200D, 50D and 80D. If it's not yet fixed, in my port, this should assert with the address that caused problems and is an easy fix. This is a good crash - emulation will be better in 4.2.1 once we find these crashing regions and I update the memory maps.
Different -d flags to Qemu will exercise different code and can cause different behaviours. Try these if you have the time. Use a bad -d option, e.g. "-d broken", and Qemu will give you a list. Lines with EOS are worth testing (you will need to run Qemu in different ways to get these to work; see previous posts about ML Qemu). I am most interested in cases where there are repeatable differences in behaviour between 2.5 and 4.2 - I would like logs from both runs so I can find and fix the problems.
One last thing... good luck getting both built on the same system. Qemu 2.5.0 is hard to build on modern systems. Qemu 4.2.1 is hard to build on old systems. This is a large part of the reason I want to do the upgrade!