From patchwork Tue Oct 16 17:49:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 148991 Delivered-To: patch@linaro.org Received: by 2002:a2e:8595:0:0:0:0:0 with SMTP id b21-v6csp5442529lji; Tue, 16 Oct 2018 11:28:22 -0700 (PDT) X-Google-Smtp-Source: ACcGV61k8KeiCaNyTiddLeCPpo0HtK94D3rWzfKV0TIkrTlKGlZx2zo+uuoPV7WE71Yzap4oRXXq X-Received: by 2002:a37:b6c5:: with SMTP id g188-v6mr20968559qkf.188.1539714502157; Tue, 16 Oct 2018 11:28:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539714502; cv=none; d=google.com; s=arc-20160816; b=TvK+RxG48v8HaOhbB5zj83uiafNof4IEjihx9x3/NFCdd5v2afuNHqSmh7c2M8oqRF NJkko07O5LN4zSwo2d0pNsVyg5j3+7OtyL9tG3ygrBfOEyMgkTAlsk93fq/pmC1X30EH OxDMeN7n00q8NGAzLZJGEqKisBsxM0vjRVGCnSY/v7oAQ1jgPpcjGu2/WonPB1uJWkxq ouIlVwX+Hd7t++tLcBjS5ncABq8P8ilZl/Tt8/RWm2xp0ThEEXhN4GiNs9qUcshLI7p7 TopyDHbXUwtTldUQSvBdAxO0AuO5dVw0pAp6UzVeeSa2lDDVcvwmRA99GIm5svRavAov GlHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature; bh=DB1b/fVktprVB9+vgwXapy40A76LQaCwLNLh795KUCE=; b=pB0vFpB0hp2jj78jiznlNnm17UQVEdyEKl/GW0jvSJr7mcgdNrgqb7zSQ8YmPi0A3a J02A9qDSBA3MAyj5JUJp+nRMDiP2TCoQHCqnE0TUHl2iqDMvu+G7AXIkgW+0PdTTW7FK Qmr6oxRl2R6RXKkayp3XWVSKT1nvJILBIn0rvg9CXFKaPiZR0w8AfJjQsxZ7L9X/mM9c XSNhkZvwV0kgurnuoMp9RubLDXu7vJZcUklEmvcpKuUuAzo112btfXANkt0vrE4v2flV A9C3LQ9jiBjUFZ0Q62xGZ4181FsdT+6C/YZpMNZjtCguHmIuCU41B0+wlbR12UpoDHlC b0Qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=c2a3u27c; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id a21-v6si8322204qtp.98.2018.10.16.11.28.21 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 16 Oct 2018 11:28:22 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=c2a3u27c; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:59609 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gCU4r-0006HA-Ba for patch@linaro.org; Tue, 16 Oct 2018 14:28:21 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59694) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gCTTP-00046S-5Z for qemu-devel@nongnu.org; Tue, 16 Oct 2018 13:49:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gCTTL-00010n-A8 for qemu-devel@nongnu.org; Tue, 16 Oct 2018 13:49:38 -0400 Received: from mail-pg1-x530.google.com ([2607:f8b0:4864:20::530]:39086) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gCTTL-0000z6-2T for qemu-devel@nongnu.org; Tue, 16 Oct 2018 13:49:35 -0400 Received: by mail-pg1-x530.google.com with SMTP id r9-v6so11204282pgv.6 for ; Tue, 16 Oct 2018 10:49:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DB1b/fVktprVB9+vgwXapy40A76LQaCwLNLh795KUCE=; b=c2a3u27c4btEwl5p1FlwTXBGuxeT0HV8FjfvoAUl80LdoTY1vPtysvAzdE27CXeOjv MmuqMXCK64tLnnxN5tIjOZAFo2pTQorHZjlcClcbde6KsL+o12fewH1TJh+3fLgNDY/n zkRnM7l6r9LD7Git6K/UNPHTCtmV7SaahJIBM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DB1b/fVktprVB9+vgwXapy40A76LQaCwLNLh795KUCE=; b=kR1XSsi5VDrOHLhemtlWvBA5UBxGm0Myyn1fqeVBx15eyL27H7CL3MHeoIUsEGScI6 NgsrkDnQDl6eO5oSbwvyXe/jtPMBkuRxMyu4NQXEJRNnAZIb9vE6bQGU+Qg6zXgY2bE4 2xXDFzLK7lKtp1YpIazn4afEi/ZT0M0Qd131TznKdanr/ng7VejNetTKM1wfrBHm5XJx mdYCrQbWUzcXVJy7vJYXWLvXJllKoUSXd/yTi7+2dtP4gnmpRMJzTCf3RDBhp2roDMIr aILTzYHdXPywwNgnMNv/lyFfVVqYSS+0GMNDWl2VcJfA686q/hJzbHC92/7CnjTv4clG VqLw== X-Gm-Message-State: ABuFfojpXKKnyIux6BMHz8Cs9O0CGcRbrTzf3Fiq5U+g0Z1QiRqI3eNc 9jlVnZbKwh7n02PyJiUZ9b+jORgLtuU= X-Received: by 2002:a63:1148:: with SMTP id 8-v6mr21459996pgr.172.1539712173623; Tue, 16 Oct 2018 10:49:33 -0700 (PDT) Received: from cloudburst.twiddle.net (174-21-9-133.tukw.qwest.net. [174.21.9.133]) by smtp.gmail.com with ESMTPSA id 6-v6sm17441210pgl.6.2018.10.16.10.49.32 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 16 Oct 2018 10:49:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Tue, 16 Oct 2018 10:49:03 -0700 Message-Id: <20181016174911.9052-14-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20181016174911.9052-1-richard.henderson@linaro.org> References: <20181016174911.9052-1-richard.henderson@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::530 Subject: [Qemu-devel] [PULL 13/21] target/i386: Convert to HAVE_CMPXCHG128 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Reviewed-by: Emilio G. Cota Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/i386/mem_helper.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) -- 2.17.2 diff --git a/target/i386/mem_helper.c b/target/i386/mem_helper.c index 30c26b9d9c..6cc53bcb40 100644 --- a/target/i386/mem_helper.c +++ b/target/i386/mem_helper.c @@ -23,6 +23,7 @@ #include "exec/exec-all.h" #include "exec/cpu_ldst.h" #include "qemu/int128.h" +#include "qemu/atomic128.h" #include "tcg.h" void helper_cmpxchg8b_unlocked(CPUX86State *env, target_ulong a0) @@ -137,10 +138,7 @@ void helper_cmpxchg16b(CPUX86State *env, target_ulong a0) if ((a0 & 0xf) != 0) { raise_exception_ra(env, EXCP0D_GPF, ra); - } else { -#ifndef CONFIG_ATOMIC128 - cpu_loop_exit_atomic(ENV_GET_CPU(env), ra); -#else + } else if (HAVE_CMPXCHG128) { int eflags = cpu_cc_compute_all(env, CC_OP); Int128 cmpv = int128_make128(env->regs[R_EAX], env->regs[R_EDX]); @@ -159,7 +157,8 @@ void helper_cmpxchg16b(CPUX86State *env, target_ulong a0) eflags &= ~CC_Z; } CC_SRC = eflags; -#endif + } else { + cpu_loop_exit_atomic(ENV_GET_CPU(env), ra); } } #endif