[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 04/13] tcg-sparc: Assume v9 cpu always, i.e. for
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH 04/13] tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode. |
Date: |
Mon, 17 Sep 2012 19:25:05 +0000 |
On Mon, Sep 17, 2012 at 5:05 PM, Richard Henderson <address@hidden> wrote:
> On 09/17/2012 09:04 AM, Andreas Färber wrote:
>> Without knowing the code, this does not strike me as the best of ideas:
>> SPARC CPUs are rather uncommon these days, so being able to emulate it
>> in sparc32-softmmu may be helpful for keeping it working.
>>
>> Could you elaborate on what exactly is broken and what would need to be
>> done as alternative?
>
> See, for instance, patch 2. INDEX_op_qemu_ld64 and INDEX_op_qemu_st64
> were unimplemented, caught during tcg startup with --enable-tcg-debug,
> and crashing later without.
>
> Handling only sparcv9 host cpus means that lots of code paths are able
> to be cleaned up:
>
> (1) Multiply and divide insns are available
> (Conditional support for these is not easy.)
>
> (2) Endian-swapping load/store insns are available
> (Vastly cleans up qemu_ld/st; by the end of my patch set the
> fast path through the tlb is a single insn in the delay slot
> of the branch over the call to the helper.)
>
> (3) Conditional move insns are available
> (For setcond this is tidier than playing subtract-with-borrow games).
>
> But sparcv9 is now coming up on 20 years old. The amount of hardware
> still live that isn't v9 capable is bound to be vanishingly small -- in
> much the same way that i386 hosts without i486 bswap. I don't think we
> need to use the QEMU TCG code generator as a test case that keeps sparcv7
> code alive.
No Linux distros supports Sparc32 anymore. There's NetBSD and OpenBSD though.
Would it make sense to break up tcg/sparc into tcg/sparc32 and
tcg/sparc64? That way it would be possible to give Sparc32 a chance of
getting fixed. But I wouldn't object removal either.
>
>
> r~
- [Qemu-devel] [PATCH 01/13] linux-user: Use memcpy in get_user/put_user., (continued)
- Re: [Qemu-devel] [PATCH 01/13] linux-user: Use memcpy in get_user/put_user., Peter Maydell, 2012/09/17
- [Qemu-devel] [PATCH 02/13] tcg-sparc: Hack in qemu_ld/st64 for 32-bit., Richard Henderson, 2012/09/17
- [Qemu-devel] [PATCH 06/13] tcg-sparc: Support GUEST_BASE., Richard Henderson, 2012/09/17
- [Qemu-devel] [PATCH 03/13] tcg-sparc: Fix ADDX opcode., Richard Henderson, 2012/09/17
- [Qemu-devel] [PATCH 04/13] tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode., Richard Henderson, 2012/09/17
- Re: [Qemu-devel] [PATCH 04/13] tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode., Andreas Färber, 2012/09/17
- Re: [Qemu-devel] [PATCH 04/13] tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode., Richard Henderson, 2012/09/17
- Re: [Qemu-devel] [PATCH 04/13] tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode.,
Blue Swirl <=
- Re: [Qemu-devel] [PATCH 04/13] tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode., Richard Henderson, 2012/09/17
- [Qemu-devel] [PATCH 09/13] tcg-sparc: Mask shift immediates to avoid illegal insns., Richard Henderson, 2012/09/17
- [Qemu-devel] [PATCH 05/13] tcg-sparc: Fix qemu_ld/st to handle 32-bit host., Richard Henderson, 2012/09/17
- [Qemu-devel] [PATCH 08/13] tcg-sparc: Clean up cruft stemming from attempts to use global registers., Richard Henderson, 2012/09/17
- [Qemu-devel] [PATCH 12/13] tcg-sparc: Fix and enable direct TB chaining., Richard Henderson, 2012/09/17
- [Qemu-devel] [PATCH 13/13] tcg: Fix !USE_DIRECT_JUMP, Richard Henderson, 2012/09/17
- Re: [Qemu-devel] [PATCH 13/13] tcg: Fix !USE_DIRECT_JUMP, Andreas Färber, 2012/09/17
- Re: [Qemu-devel] [PATCH 13/13] tcg: Fix !USE_DIRECT_JUMP, Stefan Weil, 2012/09/21
- Re: [Qemu-devel] [PATCH 13/13] tcg: Fix !USE_DIRECT_JUMP, Aurelien Jarno, 2012/09/21
- Re: [Qemu-devel] [PATCH 13/13] tcg: Fix !USE_DIRECT_JUMP, Aurelien Jarno, 2012/09/21