qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] SPARC: Add and use CPU_FEATURE_CASA


From: Sebastian Huber
Subject: Re: [Qemu-devel] [PATCH] SPARC: Add and use CPU_FEATURE_CASA
Date: Thu, 28 Nov 2013 10:55:06 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130329 Thunderbird/17.0.5

Hello,

On 2013-11-26 15:04, Sebastian Huber wrote:
The LEON3 processor has support for the CASA instruction which is
normally only available for SPARC V9 processors.  Binutils 2.24
and GCC 4.9 will support this instruction for LEON3.  GCC uses it to
generate C11 atomic operations.
---
  target-sparc/cpu.c         |    3 +-
  target-sparc/cpu.h         |    4 ++-
  target-sparc/helper.h      |    4 ++-
  target-sparc/ldst_helper.c |   26 +++++++++++++-----------
  target-sparc/translate.c   |   47 ++++++++++++++++++++++++++++---------------
  5 files changed, 52 insertions(+), 32 deletions(-)
[...]

this patch doesn't work since the ASI 0x80 used for the synthetic CAS instruction is not implemented in helper_ld_asi() for !TARGET_SPARC64.

I tried to add a

    case 0x80: /* Primary */
        {
            switch (size) {
            case 1:
                ret = ldub_raw(addr);
                break;
            case 2:
                ret = lduw_raw(addr);
                break;
            case 4:
                ret = ldl_raw(addr);
                break;
            default:
            case 8:
                ret = ldq_raw(addr);
                break;
            }
        }
        break;

but this results in a Qemu segmentation fault.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : address@hidden
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]