From nobody Tue Feb 10 01:35:37 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; dkim=fail; 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 (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513142593192478.7321860782828; Tue, 12 Dec 2017 21:23:13 -0800 (PST) Received: from localhost ([::1]:33725 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eOzVa-0004PQ-I4 for importer@patchew.org; Wed, 13 Dec 2017 00:23:06 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54915) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eOzRU-000085-OM for qemu-devel@nongnu.org; Wed, 13 Dec 2017 00:18:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eOzRT-0004ac-Q5 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 00:18:52 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:41368) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eOzRT-0004aN-Ln; Wed, 13 Dec 2017 00:18:51 -0500 Received: by mail-qt0-x243.google.com with SMTP id i40so2309139qti.8; Tue, 12 Dec 2017 21:18:51 -0800 (PST) Received: from x1.local ([138.117.48.211]) by smtp.gmail.com with ESMTPSA id d15sm522318qkc.26.2017.12.12.21.18.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Dec 2017 21:18:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=U6gof/XJsJReyCTae3lSRrNSYR33AmUAylXstgPqJ6I=; b=IqgoZVW1gwHJuBuFq5s2iU7T1MMRasLGpAaIvMHgxMV0zpRAydXHMbPnBW7GNjxJux EHDqNAtYsHX/8BXve6HjkaBDZw4HfFpSOLA5fNDT/Jkfn/CRVnMrTiRHrDUH7UnUwnS/ fo1tWjzOVQ5aNuUrtpfgeb+1hS3IV80Abkdp//c54EaAe+H6UVvzGSilXm8mM/3HCy4m SpiXex635WaPnuIAGMo4GiJGKZzolVIM7fI3EgZWwi4UBlAyU0QPEg4w1gHdiewaZD7M qKrSa1m1RAlVmhtaSPsYmNCfH6QsqeOM18q75v2hDjXs5Nk3C6i9+/7zeTEl2pSJ2UhQ oCgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=U6gof/XJsJReyCTae3lSRrNSYR33AmUAylXstgPqJ6I=; b=Z3ZvbJmbW+yBfO0AgPmD55VKW6hEFjFzkGU7+BAJ7K8kxajQ2iQRyLMAWo20EbLLX/ HvOwqkZLyBSw9yrLZqsT4AUds8mU3oC7dc1TWt+0ECTJaA6rcwSRsZw8PvYCxdIuCyAM 2L1ut/EPnVXkQVM3fY0oA/mHiQkYZBF6EtfJ9S6NL1AybsFapIoJYBAwyHv/7oRZM3/r pRm2rZGUY5wrsBm3+iXdzWwYlQBjnioRa/6H1DUEN/aXqRLXbfyT5aZvveekcff7QX9m cJlbj83YQllQowNcNO7h7rYrSxWzbF/oNOrmh0ukJ31JzotdIvH6ZhQz/g0fq4Ki82Mv 56Vw== X-Gm-Message-State: AKGB3mLWlKGu8eBAnfA+iBy62J+Hg9TmSPkUvPuTWd7IwnjnwApgCgJ1 VJHWbr+j3+jYPanW5RIJzJtHNGRw X-Google-Smtp-Source: ACJfBosXEbRfViG4MVyZVPnN55nHSUez0AKZPllELu68OYKQrtGKiKG9nHYDuKkAUuHwEbBl/tXUFw== X-Received: by 10.200.38.33 with SMTP id u30mr9690926qtu.197.1513142331230; Tue, 12 Dec 2017 21:18:51 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" Date: Wed, 13 Dec 2017 02:17:35 -0300 Message-Id: <20171213051736.17755-4-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213051736.17755-1-f4bug@amsat.org> References: <20171213051736.17755-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH 3/4] hw/registerfields: add 64-bit extract/deposit macros 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: qemu-trivial@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/registerfields.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/hw/registerfields.h b/include/hw/registerfields.h index ad9d7a82a3..f59e7f47bd 100644 --- a/include/hw/registerfields.h +++ b/include/hw/registerfields.h @@ -35,6 +35,9 @@ #define FIELD_EX32(storage, reg, field) \ extract32((storage), R_ ## reg ## _ ## field ## _SHIFT, \ R_ ## reg ## _ ## field ## _LENGTH) +#define FIELD_EX64(storage, reg, field) \ + extract64((storage), R_ ## reg ## _ ## field ## _SHIFT, \ + R_ ## reg ## _ ## field ## _LENGTH) =20 /* Extract a field from an array of registers */ #define ARRAY_FIELD_EX32(regs, reg, field) \ @@ -52,6 +55,14 @@ d =3D deposit32((storage), R_ ## reg ## _ ## field ## _SHIFT, = \ R_ ## reg ## _ ## field ## _LENGTH, v.v); \ d; }) +#define FIELD_DP64(storage, reg, field, val) ({ \ + struct { \ + unsigned int v:R_ ## reg ## _ ## field ## _LENGTH; \ + } v =3D { .v =3D val }; = \ + uint64_t d; \ + d =3D deposit64((storage), R_ ## reg ## _ ## field ## _SHIFT, = \ + R_ ## reg ## _ ## field ## _LENGTH, v.v); \ + d; }) =20 /* Deposit a field to array of registers. */ #define ARRAY_FIELD_DP32(regs, reg, field, val) \ --=20 2.15.1