[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 4/6] accel/tcg: Declare missing cpu_loop_exit*() stubs
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH 4/6] accel/tcg: Declare missing cpu_loop_exit*() stubs |
Date: |
Mon, 18 Jan 2021 10:39:37 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
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.