On 05.04.19 11:16, Philippe Mathieu-Daudé wrote: > On 4/5/19 11:02 AM, Daniel P. Berrangé wrote: >> On Fri, Apr 05, 2019 at 10:47:54AM +0200, Philippe Mathieu-Daudé wrote: >> Do the various crashes that you illustrate in that cover letter >> still exist today ? If so, 2 years of continued brokenness with no >> fixes would reinforce the the view that it is time to remove TCI >> from the codebase. > > Or find a maintainer and add tests...
Thank you for CC'ing me. I could not spend much of my free time for QEMU last year and typically will miss important messages on the list unless my address is explicitly given. Nevertheless I still feel responsible for TCI, and I am also listed as maintainer in MAINTAINERS. In the past there was only limited use of TCI (as far as I know), and the current implementation worked for many applications, for example to count the frequency of TCG opcodes. The known problems with the current implementation are * Misaligned memory accesses. This should be easy to fix. I already sent a patch (currently discussed) which fixed user mode emulation on ARM for me. * Calling conventions. The current implementation works on many hosts, but for example not on Sparc. A fix would require simple calling conventions for all helper functions (for example stack based argument passing, can this be enforced?), or it needs to know the signature of each helper function at runtime. I'm afraid that fixing this would require much work. A runtime test whether calls of helper functions work correctly could be implemented easily and could abort the program execution when calls fail to pass the right arguments. Would such a runtime test help a little bit? * Performance. It can be improved a bit by implementing more TCG opcodes for the interpreter, but of course TCI is slower than TCG (which is slower than KVM). Cheers Stefan