[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] qemu/timer: Don't use RDTSC on i486
|
From: |
Petr Cvek |
|
Subject: |
Re: [PATCH] qemu/timer: Don't use RDTSC on i486 |
|
Date: |
Wed, 29 Nov 2023 14:50:11 +0100 |
|
User-agent: |
Mozilla Thunderbird |
I can agree that binary compiled for i486 doesn't contain cmpxchg8b and works
OK with exception of setjmp bug I described in another thread [1]. glxgears
which doesn't use signals works without problem. 64bit atomic operations seems
to be emulated in util/atomic64.c.
However I've found out the compilation for i386 seems to fail during configure
due to the lack of i386 atomic instructions in my GCC 13.2.0 version. If this
is normal behavior, I guess __tune_i386__ check doesn't make sense to add.
[1] [BUG] accel/tcg: cpu_exec_longjmp_cleanup: assertion failed: (cpu ==
current_cpu)
Petr
Dne 28. 11. 23 v 16:52 Richard Henderson napsal(a):
> On 11/26/23 09:56, Paolo Bonzini wrote:
>>
>>
>> Il sab 25 nov 2023, 13:23 Petr Cvek <petrcvekcz@gmail.com
>> <mailto:petrcvekcz@gmail.com>> ha scritto:
>>
>> GCC defines __i386__ for i386 and i486, which both lack RDTSC
>> instruction.
>> The i386 seems to be impossible to distinguish, but i486 can be
>> identified
>> by checking for undefined __i486__.
>>
>>
>> As far as I know QEMU cannot be run on i486 anyway since TCG assumes the
>> presence of CPUID. Have you actually tried?
>
> TCG does not assume CPUID.
>
> We might have problems without cmpxchg8b, but if so that's in accel/tcg/ not
> tcg/.
>
>
> r~
Re: [PATCH] qemu/timer: Don't use RDTSC on i486, Peter Maydell, 2023/11/27