From patchwork Wed Oct 3 19:39:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 148077 Delivered-To: patch@linaro.org Received: by 2002:a2e:8595:0:0:0:0:0 with SMTP id b21-v6csp59418lji; Wed, 3 Oct 2018 12:43:17 -0700 (PDT) X-Google-Smtp-Source: ACcGV62soVEBD5Hj1jMzh6TBrYu3tADQRaZl4mF1+aFTzYCTiv2pjU493tmDLhJM93rX/3ntwv+w X-Received: by 2002:a37:4c09:: with SMTP id z9-v6mr2514292qka.302.1538595797469; Wed, 03 Oct 2018 12:43:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538595797; cv=none; d=google.com; s=arc-20160816; b=YiXVdoUWY7EBQRDlsxHb26DRYojdyAK6hPV/3BW7QPLICi4lmG/RbeX4cnDNqJv7xV Xfxm4u2Wdl6SJ1U/5rnpU0BSF2uAi4UTq+V6+NCrUfDbX3M0ole5o7LtPpoYm7oy6s2d 74Uh319xdEBDkCKepnL2AmTfaCh+H7UAXJUAz+jiSwIs0h5xx7I3QGlyg9kMUK7yW4AV 7ICoYG4xhcr00CYMbCIYmZ7HLtxQFfOCSjzupfxW+TS/EJiZiQ+RSry6HYAFd5l7xJo/ WKVGoseNcyunGpW/1nCN0DSU5iJy7b8MjJNhp/unfLsiQKsYdBCIEf4gfmHJEuD5AMqp avjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:references:in-reply-to :message-id:date:to:from:dkim-signature; bh=Kw70vJmJvvdMa1ZmP7qQjISsq1++nuywnW3iYLCkFuE=; b=qUamTEo8cWDKfccbmNVDQaX+92TgvXVuJz3f6F1Ot3+Oxc0Jj/qJn5OGDyPAJ/Ueeu 1dVuENau1kD36d63sO9vxKKTALiqbGIbGrYscRzlWkMScy339nsRNZJAWSddomZfSscF ZB7EIlL7eMvILHU+Kuv7zcoOkTMAEd0w1xv3jelNJ2eQKbhIe2LpisgTGwmPoQINQthU V6w6GPmxr+5ZAb+bSQLhKYYd/cgEgagvQjJVaQxsM1onBemYRaeJEVwt3i3oHNZESm4w GqoqtQGGUV96ESYtXjfEI7xPOtimYSak/v2KNfsXqlwuabqzyF4SjufSysVK8gQ726Th GfXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=K69bev5k; 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 x137-v6si1490915qkx.394.2018.10.03.12.43.17 for (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 03 Oct 2018 12:43:17 -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=K69bev5k; 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]:52653 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g7n3E-0004mH-Rj for patch@linaro.org; Wed, 03 Oct 2018 15:43:16 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59344) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g7n00-0001eM-SM for qemu-devel@nongnu.org; Wed, 03 Oct 2018 15:39:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g7mzz-00020Y-JR for qemu-devel@nongnu.org; Wed, 03 Oct 2018 15:39:56 -0400 Received: from mail-qk1-x736.google.com ([2607:f8b0:4864:20::736]:34718) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1g7mzv-0001ur-Hp for qemu-devel@nongnu.org; Wed, 03 Oct 2018 15:39:53 -0400 Received: by mail-qk1-x736.google.com with SMTP id p6-v6so4258499qkg.1 for ; Wed, 03 Oct 2018 12:39:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references; bh=Kw70vJmJvvdMa1ZmP7qQjISsq1++nuywnW3iYLCkFuE=; b=K69bev5kQp/mtF1Res3seLjvcGlImXE3GN1VXUeCLBY+nvTZjyPBeTopTmppBXXL08 0WQ2Q2mK0LvrlPQ6OmNPlzUasT/f2MWNL8uqQRKOOlipHI2KM3itpPaf/XxtEVP9kQS+ l5uvdz4JZfGOw4MJIZS+Z8cvvjP5QVgbm1oOQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=Kw70vJmJvvdMa1ZmP7qQjISsq1++nuywnW3iYLCkFuE=; b=f7FemdrgIhRUF7GeIRfmwOD/kr3uC38OG0iq2DoKGr9529B2WbMODXbHlXygqvNiRO tEPfpnCrAWkzXGLKuHLZK15mSxZKm2/UOSn3aDG/7wJt3r1k52h5x6lv3F3hrzIF/u1+ 9pibMHW6zFYBCEnidg2SAJVBKkNBU3mtVYKtiUDCP2jIFAJXjJRzMs7zEfWsdXQbc6H4 O5yACk6V4Skv3fQgaex4VHEbKmozXfKxSNj/xB2ec2eXtAB1LIPpDwf/+hD8DJoUNkAz 11lkL7Evq0RlG7mpAT5HyelnGHmJEvDxWQMh4WxxsqexzWvMH668WSorJYedZ5dRwdFN 17xg== X-Gm-Message-State: ABuFfogn1HFBjqZ+5DVFT6st+v16IT/f3tI89JeAm1bvFkx+S/febnPJ Gxis2ZLYqiSkkI63gEPwHNYa3h7yyvDrvA== X-Received: by 2002:a37:ccd5:: with SMTP id n82-v6mr2383997qkl.16.1538595585788; Wed, 03 Oct 2018 12:39:45 -0700 (PDT) Received: from cloudburst.twiddle.net ([172.56.13.153]) by smtp.gmail.com with ESMTPSA id t16-v6sm1284946qth.68.2018.10.03.12.39.43 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 03 Oct 2018 12:39:45 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Wed, 3 Oct 2018 14:39:24 -0500 Message-Id: <20181003193931.18096-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181003193931.18096-1-richard.henderson@linaro.org> References: <20181003193931.18096-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::736 Subject: [Qemu-devel] [PATCH v3 2/9] 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Reviewed-by: Emilio G. Cota Signed-off-by: Richard Henderson --- target/i386/mem_helper.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) -- 2.17.1 Reviewed-by: Philippe Mathieu-Daudé 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