From nobody Mon Feb 9 16:34:56 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 152702814466985.75971661172287; Tue, 22 May 2018 15:29:04 -0700 (PDT) Received: from localhost ([::1]:58210 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fLFm5-0004S3-97 for importer@patchew.org; Tue, 22 May 2018 18:28:57 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43609) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fLFkB-0003Im-Td for qemu-devel@nongnu.org; Tue, 22 May 2018 18:27:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fLFk7-000729-03 for qemu-devel@nongnu.org; Tue, 22 May 2018 18:26:59 -0400 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:57047) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fLFk6-00071Z-Ql for qemu-devel@nongnu.org; Tue, 22 May 2018 18:26:54 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 5411A21C28; Tue, 22 May 2018 18:26:54 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Tue, 22 May 2018 18:26:54 -0400 Received: from localhost (flamenco.cs.columbia.edu [128.59.20.216]) by mail.messagingengine.com (Postfix) with ESMTPA id AA568E4115; Tue, 22 May 2018 18:26:53 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=braap.org; h=cc :date:from:in-reply-to:message-id:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=mesmtp; bh=Ng5a5Z3GbP4APq vn3oQOSCrpI/xR6HyhIgBnlkQwyO0=; b=r63+BZHIKdaSr5WI31HJjL/mElt7rc m0otDF79guUT24Dp/YJMZTtClAHqFDxl7xYJfhKB1HmEvpXhccNgXEwkrJ0HR4YS 60Ue08Vy3HfjSkXXpeh9TdqjELgtxdzLSm6gO0n97PWqt50Xga+TW5x24wkxS2Fu QcIW6b66xsSvI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=Ng5a5Z3GbP4APqvn3oQOSCrpI/xR6HyhIgBnlkQwyO0=; b=H7V1Q1Bv l54wBYFkwnJAgM/0/50ghA1Jf+ySP8eAqmqsK3RTE4bT0hNoPLpiBWyW8CNzgGi8 rd1qWgUcks0EkWevjow7cS0v3ol8buyVoLWOHKkKWnIEeUC7mjheZc2aGLQ7TLc/ SHiIEIDC4Dp7t82BC3WQMngwaWvTAi6PVbYlrIvTkuLVJRyf/6y/hlEaBkyZXqFv mQSWzJBK8Of9XkVafSQ1GNE5cn0lobgp4/jCRakTyRN9FGRYnwodNNXI2dVW8IFs QvAUq/3dg4mXioMSCATh5qk6H6y20hmN750mmtR6WX5bfUv+MDl3GJaPzNRotecD bZQFDCznI4KVkw== X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Sender: From: "Emilio G. Cota" To: qemu-devel@nongnu.org Date: Tue, 22 May 2018 18:26:49 -0400 Message-Id: <1527028012-21888-3-git-send-email-cota@braap.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1527028012-21888-1-git-send-email-cota@braap.org> References: <1527028012-21888-1-git-send-email-cota@braap.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.111.4.27 Subject: [Qemu-devel] [PATCH 2/5] trace: simplify trace_mem functions 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: Paolo Bonzini , Richard Henderson , Stefan Hajnoczi Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add some defines for the mem_info bits, simplify trace_mem_build_info, and also simplify trace_mem_get_info by making it a wrapper around trace_mem_build_info. This paves the way for increasing size_shift by one bit. Signed-off-by: Emilio G. Cota --- trace/mem-internal.h | 40 ++++++++++++++++++---------------------- trace/mem.h | 2 +- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/trace/mem-internal.h b/trace/mem-internal.h index ddda934..b684e27 100644 --- a/trace/mem-internal.h +++ b/trace/mem-internal.h @@ -10,37 +10,33 @@ #ifndef TRACE__MEM_INTERNAL_H #define TRACE__MEM_INTERNAL_H =20 -static inline uint8_t trace_mem_get_info(TCGMemOp op, bool store) +#define TRACE_MEM_SZ_SHIFT_MASK 0x3 /* size shift mask */ +#define TRACE_MEM_SE (1ULL << 2) /* sign extended (y/n) */ +#define TRACE_MEM_BE (1ULL << 3) /* big endian (y/n) */ +#define TRACE_MEM_ST (1ULL << 4) /* store (y/n) */ + +static inline uint8_t trace_mem_build_info( + int size_shift, bool sign_extend, TCGMemOp endianness, bool store) { - uint8_t res =3D op; - bool be =3D (op & MO_BSWAP) =3D=3D MO_BE; + uint8_t res; =20 - /* remove untraced fields */ - res &=3D (1ULL << 4) - 1; - /* make endianness absolute */ - res &=3D ~MO_BSWAP; - if (be) { - res |=3D 1ULL << 3; + res =3D size_shift & TRACE_MEM_SZ_SHIFT_MASK; + if (sign_extend) { + res |=3D TRACE_MEM_SE; + } + if (endianness =3D=3D MO_BE) { + res |=3D TRACE_MEM_BE; } - /* add fields */ if (store) { - res |=3D 1ULL << 4; + res |=3D TRACE_MEM_ST; } - return res; } =20 -static inline uint8_t trace_mem_build_info( - TCGMemOp size, bool sign_extend, TCGMemOp endianness, bool store) +static inline uint8_t trace_mem_get_info(TCGMemOp op, bool store) { - uint8_t res =3D 0; - res |=3D size; - res |=3D (sign_extend << 2); - if (endianness =3D=3D MO_BE) { - res |=3D (1ULL << 3); - } - res |=3D (store << 4); - return res; + return trace_mem_build_info(op & MO_SIZE, !!(op & MO_SIGN), + op & MO_BSWAP, store); } =20 #endif /* TRACE__MEM_INTERNAL_H */ diff --git a/trace/mem.h b/trace/mem.h index 9c88bcb..2b58196 100644 --- a/trace/mem.h +++ b/trace/mem.h @@ -25,7 +25,7 @@ static uint8_t trace_mem_get_info(TCGMemOp op, bool store= ); * * Return a value for the 'info' argument in guest memory access traces. */ -static uint8_t trace_mem_build_info(TCGMemOp size, bool sign_extend, +static uint8_t trace_mem_build_info(int size_shift, bool sign_extend, TCGMemOp endianness, bool store); =20 =20 --=20 2.7.4