On 1/18/21 10:29 AM, Claudio Fontana wrote: > On 1/17/21 5:48 PM, Philippe Mathieu-Daudé wrote: >> cpu_loop_exit*() functions are declared in accel/tcg/cpu-exec-common.c, >> and are not available when TCG accelerator is not built. Add stubs so >> linking without TCG succeed. > > The reason why stubs are needed here at all seems to be that that the code > calling cpu_loop_exit is not refactored properly yet;
I agree ... > if we look at the example of i386, after the refactoring moving tcg related > code into target/i386/tcg/, > (and really even before that I think), > the code calling cpu_loop_exit is not built for non-TCG at all, and so we > don't need stubs. > > I am ok with this anyway, just wanted to convey that I think we should look > at stubs as a necessary evil until all code stops mixing tcg, kvm and other > accels... > > Thanks, > > Claudio > >> >> Problematic files: >> >> - hw/semihosting/console.c in qemu_semihosting_console_inc() >> - hw/ppc/spapr_hcall.c in h_confer() >> - hw/s390x/ipl.c in s390_ipl_reset_request() >> - hw/misc/mips_itu.c ... but I have no clue how to refactore these, as they are used in both KVM and TCG. How would you do? I'm stuck with the semihosting code dependency on ARM since 2 years... Phil.