From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559581988; cv=none; d=zoho.com; s=zohoarc; b=biOCZpoPqj17cUn3qQNbfZjZgUEX2SQWxmiiLtTc2/vRVHmF0HSwoKuM4gz9Ko1vPpkF/pevirgai40zBHxCqIOVqErlxOVDJJfnBDBCjYQwNAx4DSxHgp2HLTjafCk3IRS4+RRagZDyCTJxNbfkrgnHzdn+Ea8hVxqEph8baz8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559581988; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=L35OTNbs9yg6HbUzXs3zt5zUEuPf28NyMyweU1KQGGM=; b=UuRkhpxPSzR4Te3tDHhdc66ja0GhtHrJV6QywOxS2vYHd0tYeWE9YTRxKVrWNW8GEUv5xjNRLFiaTzCNDn5Py91gPNRbNxZtXlmxz+tfqbF8zahNJedPIQVWerSJy9uG6rYccLiNoYAtD/0AZVbnkug8vjkc6/k3kMDL5fT/mwI= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559581988469747.2809868559399; Mon, 3 Jun 2019 10:13:08 -0700 (PDT) Received: from localhost ([127.0.0.1]:38271 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqW6-0008Nu-8h for importer@patchew.org; Mon, 03 Jun 2019 13:13:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43189) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqTz-0006qN-09 for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqTx-0003kr-2T for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:50 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:36695) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqTw-0003j6-Sr for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:49 -0400 Received: by mail-wr1-x441.google.com with SMTP id n4so9857539wrs.3 for ; Mon, 03 Jun 2019 10:10:48 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.45 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=L35OTNbs9yg6HbUzXs3zt5zUEuPf28NyMyweU1KQGGM=; b=cA6StGP/qgolhAyRcTTwV/40k02CJP0i+BVNSb6KcGW1e4vZKigG/ZaUP7XWSeVfww yuHFB3flqZ4utgpIVMRX/fUYH4ti92Vd1UcjuBR+iylLw0aA5nnych68Z+mjwNrUr1FV WgVGWXeUXWgo0X9rMLycK2awoXxxru9H0QvWQwi9ucR6zjaIAmoeSiJcFsonltdwhBkv 3UJdRcN30Lu/4625CWLHPKaB8IzIjeD640vVTSLDV/1M2vN0yASfgD+uvrxTw/m5wR2i Ju3vYS685x9G7WXUJS8cYgvvrTTadAS6EUfg5NOZjoentKVKeIPP7GgFiEnweKumFrMe XsEQ== 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:subject:date:message-id :in-reply-to:references; bh=L35OTNbs9yg6HbUzXs3zt5zUEuPf28NyMyweU1KQGGM=; b=ra8AfOaizDSFFACIBAxyNkbZC3fAZmUKEjJ9ZXZeAtbNDvwCRqUwJaMiysnj1kOhqu DcQFJUVR9XJAwWgKODpaZTOx00OwHjHyfUsNHJy1sNhCQgu+GqOEysnlsaH0fliaHwah p+PXrbeYOHtDv7HEGmZJuF+Vl5MMlS7QecVSesuWlqxXoN3srYDpwStWjTIYtI3GKMGN M1KUwGQU7rBEnpz+aWLPOJuaSGJHCwMu9z7hqz9Ki8qaa67jVvXlPXoF57fMCQkrtgrT J0sDx4i75ZrBSIOgRo6o2nv16uOB6kcKTOjBs3lu1Tpj6bZGvhPKcsLG+vUr3GwWwPDj uTvQ== X-Gm-Message-State: APjAAAWukZpCmcCSfq4LtayE2yoe0tynXVwJUr6ZMQtwqgHbtX44smxY c2LjFiDc4th6Wuuf5Ob4dTj7TcKg X-Google-Smtp-Source: APXvYqxc14Qnv7VLFvnVqIaVVnthxMIRKnWeWyMW1jVwL4YP13CSSo4B5PHCJwPV/mDf/7ZEnXbH0Q== X-Received: by 2002:adf:f544:: with SMTP id j4mr3420888wrp.150.1559581847378; Mon, 03 Jun 2019 10:10:47 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:20 +0200 Message-Id: <1559581843-3968-2-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::441 Subject: [Qemu-devel] [PULL 01/24] test-thread-pool: be more reliable 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" There is a rare race between the atomic_cmpxchg and bdrv_aio_cancel/bdrv_aio_cancel_async invocations. Detect it, the only sensible we can do about it is to exit long_cb immediately. Signed-off-by: Paolo Bonzini --- tests/test-thread-pool.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/tests/test-thread-pool.c b/tests/test-thread-pool.c index 9cdccb3..0b67592 100644 --- a/tests/test-thread-pool.c +++ b/tests/test-thread-pool.c @@ -27,9 +27,10 @@ static int worker_cb(void *opaque) static int long_cb(void *opaque) { WorkerTestData *data =3D opaque; - atomic_inc(&data->n); - g_usleep(2000000); - atomic_inc(&data->n); + if (atomic_cmpxchg(&data->n, 0, 1) =3D=3D 0) { + g_usleep(2000000); + atomic_or(&data->n, 2); + } return 0; } =20 @@ -171,7 +172,7 @@ static void do_test_cancel(bool sync) /* Cancel the jobs that haven't been started yet. */ num_canceled =3D 0; for (i =3D 0; i < 100; i++) { - if (atomic_cmpxchg(&data[i].n, 0, 3) =3D=3D 0) { + if (atomic_cmpxchg(&data[i].n, 0, 4) =3D=3D 0) { data[i].ret =3D -ECANCELED; if (sync) { bdrv_aio_cancel(data[i].aiocb); @@ -185,7 +186,7 @@ static void do_test_cancel(bool sync) g_assert_cmpint(num_canceled, <, 100); =20 for (i =3D 0; i < 100; i++) { - if (data[i].aiocb && data[i].n !=3D 3) { + if (data[i].aiocb && atomic_read(&data[i].n) < 4) { if (sync) { /* Canceling the others will be a blocking operation. */ bdrv_aio_cancel(data[i].aiocb); @@ -201,13 +202,22 @@ static void do_test_cancel(bool sync) } g_assert_cmpint(active, =3D=3D, 0); for (i =3D 0; i < 100; i++) { - if (data[i].n =3D=3D 3) { + g_assert(data[i].aiocb =3D=3D NULL); + switch (data[i].n) { + case 0: + fprintf(stderr, "Callback not canceled but never started?\n"); + abort(); + case 3: + /* Couldn't be canceled asynchronously, must have completed. = */ + g_assert_cmpint(data[i].ret, =3D=3D, 0); + break; + case 4: + /* Could be canceled asynchronously, never started. */ g_assert_cmpint(data[i].ret, =3D=3D, -ECANCELED); - g_assert(data[i].aiocb =3D=3D NULL); - } else { - g_assert_cmpint(data[i].n, =3D=3D, 2); - g_assert(data[i].ret =3D=3D 0 || data[i].ret =3D=3D -ECANCELED= ); - g_assert(data[i].aiocb =3D=3D NULL); + break; + default: + fprintf(stderr, "Callback aborted while running?\n"); + abort(); } } } --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582007; cv=none; d=zoho.com; s=zohoarc; b=iEAAQmPjaoP/epUvGR27YjxtS4t24sjQEDx/U1HP0o3TzEl3nu5aUv+d/ZCVaxlbAq2BMcvr4lWViRrXxyFdLUCEkbMs0jn98Wfbwep02TvEO/VbOiMu+jkfxhHymsZv2b4FuLH38QmVwRSj+vJyQbhLL6vuW803Fq5skxi0jZM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582007; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=IOjD5AePr0mY9Bxqgs11i965K8q+aZ7uCv8TELzD1mE=; b=bbwQsqKpqXGKbwtognRK323SYb6/nlVhBqjMqvG1b5AzAkcW0tm0VMPERe91EkHyFqwTSu7k970mXSA1ocbTO8r3PcvkpIG/vR/p8Bn4w8GdXAJWCwmQKNA5696V9+3OVTvAOo5zyHWE6weLX54dcCsLD2k0QLQBkb2e56YWjNc= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582007430374.6372521014025; Mon, 3 Jun 2019 10:13:27 -0700 (PDT) Received: from localhost ([127.0.0.1]:38273 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqWL-00009V-5Q for importer@patchew.org; Mon, 03 Jun 2019 13:13:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43210) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqTz-0006ql-RR for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqTy-0003nO-ML for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:51 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:36364) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqTy-0003l9-G2 for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:50 -0400 Received: by mail-wm1-x344.google.com with SMTP id v22so11898845wml.1 for ; Mon, 03 Jun 2019 10:10:50 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:47 -0700 (PDT) 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; bh=IOjD5AePr0mY9Bxqgs11i965K8q+aZ7uCv8TELzD1mE=; b=HlMRJPJ0ydGgx+g05rX4iToBfkbu5SjxC94ZaSSEMSaOdMk6vLMpq3Sv0mjUIaX45N gpHls18R17igtRwOosuBxWCU9tXwxxjbEjjHspPeoypaU3nrP8lBfFHQGZppzVttMmcO cZWOTu3UI7R700i0hjHKnGxPOs9dcrBPnoTgqQzG575XJrIjGiEKXkmKEiD5urU11CZj A2pecz4Zam4pshlyE9JZhkM+iEtmHcB+HeiV9AyGAtOTltQ1u+5PqW8CjwoqN0SFLhWB dRQwh5h8/BhGZLnBWdY/DbrJ2OIFSbrq3YHJNu1vpo9P5Qu3CzjkzMxVv2uzJnOOLsO2 +6nQ== 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; bh=IOjD5AePr0mY9Bxqgs11i965K8q+aZ7uCv8TELzD1mE=; b=RD8F5qhhHoKQDYvAiWROzQIw1H5iJlBaIcWBcAtf9PV9pECqfbUwWtbACiU+HDZ5YT vBqRth2gYboqrvro+uL9ysFEy/cKoFp77VrXD75GVXHLTw+ahKpUT+2PRfthjgfGJgm4 xC28SvBiF3r0MaC6xnR4IArNT172n3fyum1gH++sYYg9T1NWaDWMo6pfmJUJeCQv4m+D GXyM7wq1fF83XhFofv5u7nSLj0+rbtjDYPuFCNCUR7J5FAdhi5dEbV6bRGNe9NEnoUwx sZigkV8nFUMJfcwuI1pvS0pszkJpqFQPWOXOTU6ujtho0a18zSVwpnxrYmbEX3IhKVfa t7gg== X-Gm-Message-State: APjAAAXm3IvvbwplWbhpifsF7jGhTCBhdfj0LLFnD7GjIrXCvv9m6AWP TmGxuzH0t9PZ9IXB0habYAsQmcOF X-Google-Smtp-Source: APXvYqxdP0vOqm3/PKYf7YlawaeozFxfQmNvQzBq/68ToZ4ZZ22wsMThfluVrPHSpf+nkyQw0FJ8Fg== X-Received: by 2002:a1c:208c:: with SMTP id g134mr15404789wmg.112.1559581848451; Mon, 03 Jun 2019 10:10:48 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:21 +0200 Message-Id: <1559581843-3968-3-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 Subject: [Qemu-devel] [PULL 02/24] vl: make -accel help to list enabled accelerators only 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: Wainer dos Santos Moschetta Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Wainer dos Santos Moschetta Currently, -accel help shows all possible accelerators regardless if they are enabled in the binary or not. That is a different semantic from -cpu and -machine helps, for example. So this change makes it to list only the accelerators which support is compiled in the binary target. Note that it does not check if the accelerator is enabled in the host, so the help message's header was rewritten to emphasize that. Also qtest is not displayed given that it is used for internal testing purpose only. Signed-off-by: Wainer dos Santos Moschetta Message-Id: <20190530215755.328-2-wainersm@redhat.com> Signed-off-by: Paolo Bonzini --- vl.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/vl.c b/vl.c index 139658d..f023a8c 100644 --- a/vl.c +++ b/vl.c @@ -3576,7 +3576,23 @@ int main(int argc, char **argv, char **envp) optarg, true); optarg =3D qemu_opt_get(accel_opts, "accel"); if (!optarg || is_help_option(optarg)) { - printf("Possible accelerators: kvm, xen, hax, tcg\n"); + printf("Accelerators supported in QEMU binary:\n"); + GSList *el, *accel_list =3D object_class_get_list(TYPE= _ACCEL, + false); + for (el =3D accel_list; el; el =3D el->next) { + gchar *typename =3D g_strdup(object_class_get_name( + OBJECT_CLASS(el->data))= ); + /* omit qtest which is used for tests only */ + if (g_strcmp0(typename, ACCEL_CLASS_NAME("qtest"))= && + g_str_has_suffix(typename, ACCEL_CLASS_SUFFIX)= ) { + gchar **optname =3D g_strsplit(typename, + ACCEL_CLASS_SUFFI= X, 0); + printf("%s\n", optname[0]); + g_free(optname); + } + g_free(typename); + } + g_slist_free(accel_list); exit(0); } opts =3D qemu_opts_create(qemu_find_opts("machine"), NULL, --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582063; cv=none; d=zoho.com; s=zohoarc; b=SP2+w3BpHUMGupwInuoHMkrlFEC3+xtC3B7D8zBpr/4491fuNlSSKCAE82ZUS95zrYcgZHIfu50NjHxqzs40TcvUds8BWH4XAHLl7b1oICSZSttj1b2aG1IWKyWt0RckpjSPUAvYa+/xweZ9dqO52p9zDeI+dyngm+X+74sonyE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582063; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=OfXaHwLocSqyB2wiPEkoKB+aQeRQgtUC2AE1X7T3HBk=; b=ZU7Ha8D+UVfZyMIcTWysTwSD16nLDyXuNy060gpvDLsTbkBS0N3QyoOh+hzFIA+XU64q0Aae6cuviwfR28WTzSbOIyh/0eARPxOM5EZLb/8JMYdgGUOFabuzujz+2v9/KTsSb2N0ogWS6brfyV24GmD6ZYXRKqycdfYO6bdBmQo= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582063644386.21034462384114; Mon, 3 Jun 2019 10:14:23 -0700 (PDT) Received: from localhost ([127.0.0.1]:38275 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqXI-0000rC-KQ for importer@patchew.org; Mon, 03 Jun 2019 13:14:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43229) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqU5-0006vP-9e for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqTz-0003oi-FW for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:54 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]:38681) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqTz-0003mv-7s for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:51 -0400 Received: by mail-wm1-x335.google.com with SMTP id t5so11903960wmh.3 for ; Mon, 03 Jun 2019 10:10:51 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:48 -0700 (PDT) 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; bh=OfXaHwLocSqyB2wiPEkoKB+aQeRQgtUC2AE1X7T3HBk=; b=fKm338fet40W/xfxKr72q0CCg9ETJ8d4e6bxxSmZA6aNJBQiu8YxNp9V969PYEGk5k bm89YU4HXxw1zpecO3lMLAdBiFPEAwoz5P+dQIQGfp2x80umlSkF+XlnUwmg1TljHs1H qMapF3wqqEud6K/7KNrvAKfbIehSfeUtP9KV3tK0+cE97dlV89/YPyln2A6Sv6/6kBgR U7vtxSKo0UPVM9n7uXdq+FR43P2HwZaZlAp3FG3IbTwx8bINQaJlthsqDdBonHGOFfrb O9AXyRdoqT5VAdUHhTwABQMQw43SsGTm7+mWAsHM279EmT+c2nERLz/WDhXOzldVEhLb iHGQ== 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; bh=OfXaHwLocSqyB2wiPEkoKB+aQeRQgtUC2AE1X7T3HBk=; b=NwHVfbBNuY668iaEfNEeyl8MjJ0aeHLe4qZQSNCsY2FA2kckYZ48ll1Exip0Kh0Hde SEri6pwUoOj0ngL34WNAHipeVQrxep8MQFE1HGkf2Z2xxKrqtdUjgbrMtKuYWcK97RYx nXz+pMr5d7DjRQ1ps1YFgbjHtQbY5s543oo4oNWrvh6AIlOnZv61KiwHy6bXOx4gmnUQ oTF5v55KMPTVg3mWaHOb1OIsrGgBAO3MoDvowqj1/j2eNMzHazc/MhtM5iLjrByCAk1U WGmBqgeb3zOb7xMsueeTT7P4oEP4V1sYcCmxZqpY+XH+ygsFU5u7B5v5PuD4o1Irpxsc HVkg== X-Gm-Message-State: APjAAAVCw001hxVJW2s9jIpJfRr4Slkk6y65csZoHWoIbjZiJjXbvi62 LbffrQfF+ODNedg04mCeHO8JdMHX X-Google-Smtp-Source: APXvYqxoOSQInDP/CI6FJ6ae8HqNifmRDDxninXbrhHBs/78g0BZkIt7OwaLGUN/FwgsEObEIbkzlA== X-Received: by 2002:a1c:8017:: with SMTP id b23mr15023714wmd.117.1559581849689; Mon, 03 Jun 2019 10:10:49 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:22 +0200 Message-Id: <1559581843-3968-4-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::335 Subject: [Qemu-devel] [PULL 03/24] checkpatch: allow SPDX-License-Identifier 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 Xu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Peter Xu According to: https://spdx.org/ids-how, let's still allow QEMU to use the SPDX license identifier: // SPDX-License-Identifier: *** CC: Paolo Bonzini Signed-off-by: Peter Xu Message-Id: <20190426062705.4651-1-peterx@redhat.com> Signed-off-by: Paolo Bonzini --- scripts/checkpatch.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 88682cb..c2aaf42 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -1949,7 +1949,8 @@ sub process { } =20 # no C99 // comments - if ($line =3D~ m{//}) { + if ($line =3D~ m{//} && + $rawline !~ m{// SPDX-License-Identifier: }) { ERROR("do not use C99 // comments\n" . $herecurr); } # Remove C99 comments. --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582214; cv=none; d=zoho.com; s=zohoarc; b=DtdYMZ+59OUGVfhDS3pMIsphuH7cMrOP6Rphj+IkxQrmVcdrQrtw0B3ybR1o5+CtSSDenEG7ZWIia+D7EecGaKNkfKxIL44ZnSSvtjBWpz3trfrJxWF6xmclGWxJ2/MyMp7GoHMySmuu4oWZOQv8iwnqu3q6+DgiXnitv7215I8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582214; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=bRzNU7pLbDF3z9hSoLufG1Um4Ru1n9Yc1bLC3gJaiBI=; b=LSYyAtJr3Vx+Dq3G/+VeCISGVh00EK2YTS80FlXdQw45rTtIvhs3QEI2uzS35UrU/ZFJAIYIoQJcGNmz5u+wSnf3SHJgEB2ahd+cjybf67LsCAJ7ArluUSUsTeCXla2JCH4au7iOkdNdJ7UyE7J0uRHiSZ/RbZr69s2kqj/LUMU= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582214277832.0367108605191; Mon, 3 Jun 2019 10:16:54 -0700 (PDT) Received: from localhost ([127.0.0.1]:38332 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqZd-0002cX-GV for importer@patchew.org; Mon, 03 Jun 2019 13:16:42 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43237) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqU7-0006x5-5S for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqU2-0003tG-9I for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:55 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:34653) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqU0-0003oT-3h for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:52 -0400 Received: by mail-wr1-x436.google.com with SMTP id e16so4655391wrn.1 for ; Mon, 03 Jun 2019 10:10:51 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:49 -0700 (PDT) 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; bh=bRzNU7pLbDF3z9hSoLufG1Um4Ru1n9Yc1bLC3gJaiBI=; b=P+zvewF+hqgJ7sxVqTcu/lePG6/HJKwULriDPvt1Ff+BLQfxFCsaY5JfhdNsmVAnRE KzyzmjPVW48GOAO8s9+WnRfJMDdR4AqFKgWeVtY5T5BIbm2A3881D0Mt9XPQIP+F0Dtn 3BpHsd5fX1KwmJ1YMMT7TPxQ5omfj3n+4h10nPJ4bAcYd7VezRH/2JL9UCtxI+HJf2Nh WPv1f7C1sZtR9jjpmMKkn4pr2hXE0mPoARQ7tMx+ty0BcQyrGWHHWfp4GYvrvzwQWEBg nrJh9Cz7knst/PPoHYSr0bD9dJL8VfNNHJklkP3kPRlYcL6Ka9NEVgNUUoBNpaHVssRr 4IDA== 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; bh=bRzNU7pLbDF3z9hSoLufG1Um4Ru1n9Yc1bLC3gJaiBI=; b=sDOsi/hZCz+ARRoek4gqfUgOfMM+pVbTG6IXd1/325lkoJ/zVNxkbDIfo+T8BHPMvr dHhxjDRY6eS6PYf61veZP1YeEv5sFyFhLGL8vQqtbwOy2R5dG3OMwEmATRJHnAcUuOEc fRQgABe5Apvxo/niTQgGKTfNvqPSt2DB41mbdy7n5rDINE8ryb/eq+x0EnxjjrXKA4u2 oOgL4kamNgkhpvyNZJUMbNraOPuEUIIKThENr1ed9Ehj0PyathHIgcPezlP2slShuLXj ZxKpBZbtSer505P1h5xEcUz4qJeeHKXSrBv7AmTGf99Xx/ETEYpjtBSCBQAag01EZxet +jHw== X-Gm-Message-State: APjAAAXxtTZPanXbUg84SbbsnQpr6We5bAXCAuyCwNgpZFmRYTCenvRO hCKaT7MHVlJkKUX3ASxSM9mjC2nE X-Google-Smtp-Source: APXvYqyLOURkgQtuOJBlfDpnznfJTquHUeATReBvA9w45U3125q88MaXCER4jUXzjUknZsDv3c9gMg== X-Received: by 2002:a5d:4b51:: with SMTP id w17mr1549199wrs.151.1559581850680; Mon, 03 Jun 2019 10:10:50 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:23 +0200 Message-Id: <1559581843-3968-5-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::436 Subject: [Qemu-devel] [PULL 04/24] memory: Remove memory_region_get_dirty() 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 Xu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Peter Xu It's never used anywhere. Reviewed-by: Paolo Bonzini Signed-off-by: Peter Xu Message-Id: <20190520030839.6795-5-peterx@redhat.com> Signed-off-by: Paolo Bonzini --- include/exec/memory.h | 17 ----------------- memory.c | 8 -------- 2 files changed, 25 deletions(-) diff --git a/include/exec/memory.h b/include/exec/memory.h index 9144a47..e6140e8 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -1255,23 +1255,6 @@ void memory_region_ram_resize(MemoryRegion *mr, ram_= addr_t newsize, void memory_region_set_log(MemoryRegion *mr, bool log, unsigned client); =20 /** - * memory_region_get_dirty: Check whether a range of bytes is dirty - * for a specified client. - * - * Checks whether a range of bytes has been written to since the last - * call to memory_region_reset_dirty() with the same @client. Dirty loggi= ng - * must be enabled. - * - * @mr: the memory region being queried. - * @addr: the address (relative to the start of the region) being queried. - * @size: the size of the range being queried. - * @client: the user of the logging information; %DIRTY_MEMORY_MIGRATION or - * %DIRTY_MEMORY_VGA. - */ -bool memory_region_get_dirty(MemoryRegion *mr, hwaddr addr, - hwaddr size, unsigned client); - -/** * memory_region_set_dirty: Mark a range of bytes as dirty in a memory reg= ion. * * Marks a range of bytes as dirty, after it has been dirtied outside diff --git a/memory.c b/memory.c index 3071c4b..0920c10 100644 --- a/memory.c +++ b/memory.c @@ -2027,14 +2027,6 @@ void memory_region_set_log(MemoryRegion *mr, bool lo= g, unsigned client) memory_region_transaction_commit(); } =20 -bool memory_region_get_dirty(MemoryRegion *mr, hwaddr addr, - hwaddr size, unsigned client) -{ - assert(mr->ram_block); - return cpu_physical_memory_get_dirty(memory_region_get_ram_addr(mr) + = addr, - size, client); -} - void memory_region_set_dirty(MemoryRegion *mr, hwaddr addr, hwaddr size) { --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582607; cv=none; d=zoho.com; s=zohoarc; b=mJ6JVjFV+CRqhbACMPjIbPlda6prNdQQ3Q1ZZ5l66Qo2QnNrGEdVlPUXoXXhbB7gsDSAd/IGcxls5ROMroxAwzoqk+udwHs7Mfl6UoVQaCdxofzaHV2Jm1xv93ZQMY7dMQBIYdsW/dvav0duWzWLoILqu3tV+2fH4r7YL5cip7Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582607; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=vc64i+V8AvVjruMmRgyWsqB0XBi6fzlLO4mu9/lTb9I=; b=MTxu4yPVn0z15qHY8nc+DVCSL5DMBQCbBiSaV63QoFegpFGRuh+S9S86BFvLQGr+JSarUt2RISndM9A+yGfp+vcfSf5zfiFAFX4koBnrpC5VWlj12JDqFDTv/BiJIaLmO7uvk6JagxxFYRW5Ad/bRAGs2lLEL1ihsA3WCxeEZVs= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582607456695.0621833963407; Mon, 3 Jun 2019 10:23:27 -0700 (PDT) Received: from localhost ([127.0.0.1]:38411 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqfw-0007wI-6f for importer@patchew.org; Mon, 03 Jun 2019 13:23:12 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43316) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUL-0007GC-Nq for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUK-0004MD-4c for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:13 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:39501) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUJ-0003qB-Qm for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:12 -0400 Received: by mail-wr1-x432.google.com with SMTP id x4so12920847wrt.6 for ; Mon, 03 Jun 2019 10:10:53 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:51 -0700 (PDT) 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=vc64i+V8AvVjruMmRgyWsqB0XBi6fzlLO4mu9/lTb9I=; b=PzzzAgx5geEqL8awZmMUpoTyTtKnnFqtCOGU4l1QQb+4HTbjdSK8AYJLMd76aMmrL5 aTR3Xi3drLb5mLi2+49YFPd8ejGnxTumeOUZjRnfo6wUp3QNZGSKu5ujg80ACHRvS4+c DkaK0lBdP0tN5gr1m3S8yB22ZBEG91U8/VpsdCYTmMdPIFbRW6CAv9NiNhg2BsoTbXXB AUfekDCoB50Q5DHjDQH59mDPaOjYMWqj7Mhnqw7+V8zOY5rwrK3RP1lYuo6uq9MzuELI wvsF1RXW3f5BU/dhNyaatqWn2b2GBe2mUZO+DPcH1kjVfbw/y/i0GO4nzfWTOQGrbGRS IrJw== 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=vc64i+V8AvVjruMmRgyWsqB0XBi6fzlLO4mu9/lTb9I=; b=Ki2SFdThwXgOqrdFuMHFhLpobeNgY/RqfVbkXZ2slYMynl0/ifbOqQL1fvHYXmRVJO FQkCd39k99RqOtPBo63WzzSXK93cqsQwPWec83HKoDyImWHg5Xm2UE6w8BBelrBqWEqw 5ot9NkPxo2FnvhHEQEZVqMTilSNMHo56QPi5JADQ4A+t6CbugCYmYVp3UjaAEI5a/dCg n3kgu/72ZNRJVf1QnWPWu3HbjF4L8HViSskDEp7aWf+9QWVPJxA5CjBEHB53NX5RxvPU 9kVJk5bWpo84hzn7+pyEWDsmQk188GUcUtSpzgnaq8dBF5e5AHgZgLMZUqHRyNTKo+Lt mJNw== X-Gm-Message-State: APjAAAXhX3MHkZOOU6pFf/ZLgTs7erXDelL+PsYElupHdAqts4F2ggzl cH3G9T/A50KSThigsaKKatASu3h/ X-Google-Smtp-Source: APXvYqw/2lE4qoWpI5XfDU6oOZbt0ePSUIxB0xAcZah1hZ/7siNaj1Y4YEtnQ10190L9UhtOVS3fYQ== X-Received: by 2002:adf:e311:: with SMTP id b17mr17283846wrj.11.1559581851740; Mon, 03 Jun 2019 10:10:51 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:24 +0200 Message-Id: <1559581843-3968-6-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> 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: 2a00:1450:4864:20::432 Subject: [Qemu-devel] [PULL 05/24] i386: Enable IA32_MISC_ENABLE MWAIT bit when exposing mwait/monitor 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: Wanpeng Li , Eduardo Habkost , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Wanpeng Li The CPUID.01H:ECX[bit 3] ought to mirror the value of the MSR IA32_MISC_ENABLE MWAIT bit and as userspace has control of them both, it is userspace's job to configure both bits to match on the initial setup. Cc: Eduardo Habkost Cc: Paolo Bonzini Cc: Radim Kr=C4=8Dm=C3=A1=C5=99 Signed-off-by: Wanpeng Li Message-Id: <1557813999-9175-1-git-send-email-wanpengli@tencent.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 3 +++ target/i386/cpu.h | 1 + 2 files changed, 4 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 536d7d1..c1ab86d 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -4730,6 +4730,9 @@ static void x86_cpu_reset(CPUState *s) =20 env->pat =3D 0x0007040600070406ULL; env->msr_ia32_misc_enable =3D MSR_IA32_MISC_ENABLE_DEFAULT; + if (env->features[FEAT_1_ECX] & CPUID_EXT_MONITOR) { + env->msr_ia32_misc_enable |=3D MSR_IA32_MISC_ENABLE_MWAIT; + } =20 memset(env->dr, 0, sizeof(env->dr)); env->dr[6] =3D DR6_FIXED_1; diff --git a/target/i386/cpu.h b/target/i386/cpu.h index fce6660..bd06523 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -387,6 +387,7 @@ typedef enum X86Seg { #define MSR_IA32_MISC_ENABLE 0x1a0 /* Indicates good rep/movs microcode on some processors: */ #define MSR_IA32_MISC_ENABLE_DEFAULT 1 +#define MSR_IA32_MISC_ENABLE_MWAIT (1ULL << 18) =20 #define MSR_MTRRphysBase(reg) (0x200 + 2 * (reg)) #define MSR_MTRRphysMask(reg) (0x200 + 2 * (reg) + 1) --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559583116; cv=none; d=zoho.com; s=zohoarc; b=P2GOhIRXO0IXpWn6lP3FkEuflkUJ3ejo8Ga3kgrXiyF+3GTqv7uby0n3st4uyhOkMPTDatoAAVGcUchVzwTXHmzY6FwLSghHd55sZnLvn7oamCgJBiQorJJAATPzUEx3Uwmf5/foDYMc28Uij1hEwpdbkJJZL/BRzBy7dAdFteo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559583116; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=eVwMFZ+KWBK7cXllizTF1Ac4hocoCZRu5KoL6VrLxIY=; b=Ub+5kSyH33JbMvnFqw8QNVlw6DKbOgsgHbCVvqJ+SGOer04Ht+X5d42NOEvDS0NEK0gnlLSMT+sBvCDA45husRjiEl5ekoNdeobKIlp+u8ck/3V/H5VuTRnL4cBPhck/2pGnkXhg5Cy5EzTfJ9vlGX8DUkzrwVzTacSPjv5jb9U= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559583116219227.88082920380157; Mon, 3 Jun 2019 10:31:56 -0700 (PDT) Received: from localhost ([127.0.0.1]:38556 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqoJ-0006sZ-22 for importer@patchew.org; Mon, 03 Jun 2019 13:31:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43507) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUV-0007Vj-6T for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUU-0004dg-0p for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:23 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:35497) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUQ-0003rY-91 for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:20 -0400 Received: by mail-wm1-x341.google.com with SMTP id c6so8963890wml.0 for ; Mon, 03 Jun 2019 10:10:53 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:52 -0700 (PDT) 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; bh=eVwMFZ+KWBK7cXllizTF1Ac4hocoCZRu5KoL6VrLxIY=; b=czZ7N9K412S+tYUzSeq0tihlWPMfLRhw4kcNsjd4OMM06MFBw09rXuvOAFJw1XTFIy jq5GTDjVobTiN79g0AVaLituZ60V0TLZC8SxqtT5SJJ5xtCN8t1IlMX9PWnp4LjfbQzc LCboTW6o1md9ltJTq64WE78Qi/V8EL58NIAKipetuSxteJt9UgHZuzKE+PdoSs1XMc6v KqSl/GB2n6wPl+Hih70ZMgn0JcsXDaVVWd2ATfaM1TSRyvrW6IidGM8+medwFx/0S8Pm bhDkbuKaPg5fb2DLvULdv1loug0s12/W7AoBP9KjkTdMsFxl5QKfOnNifcSCFrbIlSWO p15g== 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; bh=eVwMFZ+KWBK7cXllizTF1Ac4hocoCZRu5KoL6VrLxIY=; b=n0cW/dHdspaYZiasGVUk0VCxOApNfvec1hwCqEkDhebbofHIv2b3Rge2Skv03Qobvu 00d7nmr1Wv/XtcXWUNPe9OvNrnTQdYm+0d127HZeRdB4Rv3efzCQ6KK6hgzgy/DSfhnO Juxyw24McVhZdWq0Qcu7AWmauRxck1TctRaz7DQtSluh8+9Ugk5AwlYWulSNC2rXRPLM RDaB9ELixznXMZ1SI/taBbttPRK99m+7zsV4ULi4errMmo6kZUT5ukCiE5oWb9bbVqBf gR+c2anvdTIH7Qew5MxxIx9hEL8Y+4i2s99zen7XLbYcrsbNcQY1ziFWI2oHrcnw2Fp9 0Y1w== X-Gm-Message-State: APjAAAWN6EFlydFFZm9qRnPFlLchkM0cXw0Yjz3fdvXciAPN7owWt6uf C29RSt1z1/6GwqknuLbd42rnzNGp X-Google-Smtp-Source: APXvYqxmDEZBu22I9MgJWfCEM6yTIN70ysy5Z0tfpDZAXENTKxLQYi8Shhod3UfHbtmDpkWvfBkcMA== X-Received: by 2002:a05:600c:2182:: with SMTP id e2mr10999857wme.55.1559581852547; Mon, 03 Jun 2019 10:10:52 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:25 +0200 Message-Id: <1559581843-3968-7-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::341 Subject: [Qemu-devel] [PULL 06/24] edu: mmio: allow 64-bit access 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: Li Qiang Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Li Qiang The edu spec says the MMIO area can be accessed by 64-bit. However currently the 'max_access_size' is not so the MMIO access dispatch can only access 32-bit one time. This patch fixes this to respect the spec. Signed-off-by: Li Qiang Reviewed-by: Philippe Mathieu-Daude Message-Id: <20190510164349.81507-2-liq3ea@163.com> Signed-off-by: Paolo Bonzini --- hw/misc/edu.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/misc/edu.c b/hw/misc/edu.c index 91af452..65fc32b 100644 --- a/hw/misc/edu.c +++ b/hw/misc/edu.c @@ -289,6 +289,15 @@ static const MemoryRegionOps edu_mmio_ops =3D { .read =3D edu_mmio_read, .write =3D edu_mmio_write, .endianness =3D DEVICE_NATIVE_ENDIAN, + .valid =3D { + .min_access_size =3D 4, + .max_access_size =3D 8, + }, + .impl =3D { + .min_access_size =3D 4, + .max_access_size =3D 8, + }, + }; =20 /* --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582260; cv=none; d=zoho.com; s=zohoarc; b=cvI4DMUaAe5gFuk8KZcy0oJKDlMtble+ZSEUkaj9gTy1gA3FOhl8RfQqMPELUJittqHauUyICtzC41PJ7/eKbF2zM3WUQrYZitoxqFc0htmGNg683HX0Sv5F8ZvyL3nVo46JABxSnGmdLjq4WyrWg3U4Cp40r83s8rALnCFTmfQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582260; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=i8cdpTQpJJWnX9/W8Ct8bcoN/ZoC8uS3+XE2cylOq34=; b=Yc2ZCAMSbQOIkDGN7fNpJlYd5Cvk8u2H6/qRtvE+yVOYoFEZpsIbrz89TpP6+20JYmbp/IyBr7zdZDndH/VRZtp9uKs19ZAWAh74J4Owwyx2HmMh051QBqY2puVLjI+m9A0JRYoftJXJz/Szrnrc4jaJRLzbnsB3hMNXQW/d/GA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582260374448.6663311809432; Mon, 3 Jun 2019 10:17:40 -0700 (PDT) Received: from localhost ([127.0.0.1]:38334 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqaU-0003XV-8J for importer@patchew.org; Mon, 03 Jun 2019 13:17:34 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43267) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUE-00078s-RI for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqU8-00043c-BK for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:03 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:39814) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqU5-0003sy-9n for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:10:59 -0400 Received: by mail-wr1-x443.google.com with SMTP id x4so12920924wrt.6 for ; Mon, 03 Jun 2019 10:10:54 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:52 -0700 (PDT) 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; bh=i8cdpTQpJJWnX9/W8Ct8bcoN/ZoC8uS3+XE2cylOq34=; b=aXYOJaeDS/kqo3T/r/8s0CEmQXyST/ysfepjBYfJD8DDwWg8fdZoOQwRQfeIeLulJR oXJ2QlFaIKuFi/os+o75zTEHmKaFRX7mTOJXsTutbVtPFwIpH0cajFqTXzxK8siFlCYO me3ZH3uZoxhT/mn1fu088Y2pnFie6ky3N4Vnfeg49aJ0Ir/FhabvUov94zeesEXOOLG3 90Mp74ciBtH/H4RMPSBEvVr0FSRjIAT5fYkKs1ZNMYPnDNZDB5fZEFGYY0mAM447ueph LS9ljnYY0YiQHs74igG+Tt/OP+DOPW4n7zWHVqZbrfH22QR9cyagzIzEkCYo3VdNCbft 38Nw== 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; bh=i8cdpTQpJJWnX9/W8Ct8bcoN/ZoC8uS3+XE2cylOq34=; b=S50pDz6ZJA907u4AJz8twG7EHsjycYRB7IhXKFfwPY2rR4/bL1TrFMzoKakkGkDf/I RN0KFgwK7Q14uFZqSJGxuSGIYgE41y6tf/1zqaBSG2tM9Y1nNyNqVJdOXXQ1plUNKdns tcTWFO8LCRa7T0eEzaxp/TkVUwL1ojIazDc8Ak0TK/1SJcEOrirCnpwjjurt7Qf9CMXi cCyN/V+og9mWOP05PpvvtATXYQwnw2+aLIFyBxjZ6W+LxweEsUc4fb2XaHBLv0Opz2nc MGyFy9lju113k+k4xoSvilq0EFzMgbgD7xI8yd5sWBvSklmHhF+u3D6y2G//VQ6ufhT9 Jadw== X-Gm-Message-State: APjAAAUC57w/wvL/QeuSGjphyWd+kBfNoTChagRcEEcZ3N09fvW3U8AO qcdfnDPGWPgUebkudN5ZWt6SIkFp X-Google-Smtp-Source: APXvYqwd2RnC5QqL+gMa37Y6W0/XKcflPJTH2ABE/44nLizBwo3I5oyeRzCKCWNUyHLYln94YAZuHA== X-Received: by 2002:adf:f951:: with SMTP id q17mr16842462wrr.173.1559581853400; Mon, 03 Jun 2019 10:10:53 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:26 +0200 Message-Id: <1559581843-3968-8-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 Subject: [Qemu-devel] [PULL 07/24] edu: mmio: allow 64-bit access in read dispatch 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: Li Qiang Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Li Qiang The edu spec says when address >=3D 0x80, the MMIO area can be accessed by 64-bit. Signed-off-by: Li Qiang Reviewed-by: Philippe Mathieu-Daude Message-Id: <20190510164349.81507-3-liq3ea@163.com> Signed-off-by: Paolo Bonzini --- hw/misc/edu.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/misc/edu.c b/hw/misc/edu.c index 65fc32b..33de051 100644 --- a/hw/misc/edu.c +++ b/hw/misc/edu.c @@ -185,7 +185,11 @@ static uint64_t edu_mmio_read(void *opaque, hwaddr add= r, unsigned size) EduState *edu =3D opaque; uint64_t val =3D ~0ULL; =20 - if (size !=3D 4) { + if (addr < 0x80 && size !=3D 4) { + return val; + } + + if (addr >=3D 0x80 && size !=3D 4 && size !=3D 8) { return val; } =20 --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582219; cv=none; d=zoho.com; s=zohoarc; b=Je4hSPV55mneX0zl5Hif6FoDeQyj+pfku3ICxBTulmhkD8kustP4oqxqOUKVsEHqcBxlg/yIULoVZsdHcpSWBLYYyNRFO2MljmO/nxlHNFoMOHqOAtojktvLP+sDjcNZvcPr3yQwbFljR4FHtoUMokiC1pQpI/CJf1wZ9FUHL88= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582219; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=Vz4mjKg17Zvr1//Qs+PRlUSoBS1/qMyPl690MxJYzec=; b=fYyPSfxQVIrbs7AToidFoqLZP/fRa6BgtpVEtKzspRyHCgT8iccEvNybh8baG9kimXGMbw1DVCVIXdHPH4llqG3nQZmV1Rb67oT7PwobA1UmWgfKMrFJk9EQkRwbVDezA30FeEvlGs6z+L3/D8prOK3ExEn/rWbce7ce0cWDFgc= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582219975682.2278016486275; Mon, 3 Jun 2019 10:16:59 -0700 (PDT) Received: from localhost ([127.0.0.1]:38327 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqZD-0002MX-9N for importer@patchew.org; Mon, 03 Jun 2019 13:16:15 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43297) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUJ-0007Dy-Qk for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUG-0004G4-Ph for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:11 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:41333) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqU9-0003tr-51 for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:04 -0400 Received: by mail-wr1-x442.google.com with SMTP id c2so12908590wrm.8 for ; Mon, 03 Jun 2019 10:10:55 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:53 -0700 (PDT) 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; bh=Vz4mjKg17Zvr1//Qs+PRlUSoBS1/qMyPl690MxJYzec=; b=Cme7cm96VN0Z9QoCVSJFvRBtbRUrlIBPu0g97F9zjdrZDstZF/H7C78MUs0de0FV7a Sw0N9Gm6ay/c9CSI2Z+vq1bKJeISWwB8Rjx0EMUXJO3EWl9mLVZBkfBUguE5pT8BFAhQ W9F93aqo16/KJqP5R2PsrMECsSnc2aWnIkDh0aV5/QkMo1OoXVNCmbOBsDLU4Br2Adzs jDod8VEiJgM2EEP34PFcCunVWK5CnyHeAmc6pTnYP/0SF5THqL22spiGCdh4VaZI4lcW bYoBRzHrGSssxCWwcsjrp+OM3E7LRwdH9ybnEpKczZQ1bogE2kFEMvQemr2nkszkz/e0 vLVw== 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; bh=Vz4mjKg17Zvr1//Qs+PRlUSoBS1/qMyPl690MxJYzec=; b=GCMH7lBFeA7/IFZOiBMosLwV3b5srnnOl33Ra7gHAJdMaTeL1uV8oHiKRLg3ECF1VM yToN+wDrO+BPb7wbtqRyljRwrX9o/QKh5yIfeW0NrKkZHVXHZOhnNmVzHbNi2CAYjddc 2T70xGG4h9dK3qgmXGudc7fBEZOk7pHVObiWeDc7KQklQRvyr92Q2Hx2lMClWvuN97XR hLbcryErXkRp5u7TKL9Z7eJRpe1bOKQmLgIrSbhIFekUicz0KQyfeFBEx6bvnBrpZKOe lw7h5c4bOciVuCYdeVFgaeiKbn/4oFLqXHAwBBGdYTfTU8wBgXvK2qcBH4TM/Wt7U8aL HiMg== X-Gm-Message-State: APjAAAVbHSJdk3FUIOXAgxJ77LHGqsuUz9DSoGMW1C/Oia5jU3xwPyCe 4AtLgc9Smo2j2tez77fM0MvnmeBo X-Google-Smtp-Source: APXvYqx9D7bhwvMIU13tPVRLYtX7RDYa6Ccn+5Wr7oq4ZnFZPajAqIVe1ZWoNWi3N/7iFQnCSzIRZw== X-Received: by 2002:adf:8367:: with SMTP id 94mr17654360wrd.179.1559581854175; Mon, 03 Jun 2019 10:10:54 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:27 +0200 Message-Id: <1559581843-3968-9-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 Subject: [Qemu-devel] [PULL 08/24] edu: uses uint64_t in dma operation 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: Li Qiang Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Li Qiang The dma related variable dma.dst/src/cnt is dma_addr_t, it is uint64_t in x64 platform. Change these usage from uint32_to uint64_t to avoid trancation in edu_dma_timer. Signed-off-by: Li Qiang Message-Id: <20190510164349.81507-4-liq3ea@163.com> Signed-off-by: Paolo Bonzini --- hw/misc/edu.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/hw/misc/edu.c b/hw/misc/edu.c index 33de051..19e5545 100644 --- a/hw/misc/edu.c +++ b/hw/misc/edu.c @@ -98,23 +98,24 @@ static void edu_lower_irq(EduState *edu, uint32_t val) } } =20 -static bool within(uint32_t addr, uint32_t start, uint32_t end) +static bool within(uint64_t addr, uint64_t start, uint64_t end) { return start <=3D addr && addr < end; } =20 -static void edu_check_range(uint32_t addr, uint32_t size1, uint32_t start, - uint32_t size2) +static void edu_check_range(uint64_t addr, uint64_t size1, uint64_t start, + uint64_t size2) { - uint32_t end1 =3D addr + size1; - uint32_t end2 =3D start + size2; + uint64_t end1 =3D addr + size1; + uint64_t end2 =3D start + size2; =20 if (within(addr, start, end2) && end1 > addr && within(end1, start, end2)) { return; } =20 - hw_error("EDU: DMA range 0x%.8x-0x%.8x out of bounds (0x%.8x-0x%.8x)!", + hw_error("EDU: DMA range 0x%016"PRIx64"-0x%016"PRIx64 + " out of bounds (0x%016"PRIx64"-0x%016"PRIx64")!", addr, end1 - 1, start, end2 - 1); } =20 @@ -139,13 +140,13 @@ static void edu_dma_timer(void *opaque) } =20 if (EDU_DMA_DIR(edu->dma.cmd) =3D=3D EDU_DMA_FROM_PCI) { - uint32_t dst =3D edu->dma.dst; + uint64_t dst =3D edu->dma.dst; edu_check_range(dst, edu->dma.cnt, DMA_START, DMA_SIZE); dst -=3D DMA_START; pci_dma_read(&edu->pdev, edu_clamp_addr(edu, edu->dma.src), edu->dma_buf + dst, edu->dma.cnt); } else { - uint32_t src =3D edu->dma.src; + uint64_t src =3D edu->dma.src; edu_check_range(src, edu->dma.cnt, DMA_START, DMA_SIZE); src -=3D DMA_START; pci_dma_write(&edu->pdev, edu_clamp_addr(edu, edu->dma.dst), --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582413; cv=none; d=zoho.com; s=zohoarc; b=hZWvgGuZ/efnS/jGS0WlydSlcvuHEbcOMyzjLd2d1uu//Xyto1oXzZukK+k4jpN9amH1CKP7nyq3KHvJJsFfKOBxCnwitxdbwi+riYhaI4veP8DUbujWTU7ALCw6FRiJhbpfUTKNKOMWhm1rCcy46YXiupx4FgKH3VfaqiWTCI0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582413; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=DIXj6o5VjgWS2++paFrbHI/N4U4fSwkYAKrFon5WWPk=; b=T75LKUY+VBu+ejWWabPrzlA4zI9W7DcYquYRi57qCxopz6zKRo7gWOky1xyjQDl9bTGH6o0OJBrsRBaiwZKwOrE5jR6IhTdSCGz4bgcBV8mcxNZClcFgpY79FZ2b8zlO+BpjFM3UTLHUflSwbRP0crLR2FEouixXTk9g8aHjcts= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582413488275.6225450239135; Mon, 3 Jun 2019 10:20:13 -0700 (PDT) Received: from localhost ([127.0.0.1]:38356 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqcw-0005EW-BV for importer@patchew.org; Mon, 03 Jun 2019 13:20:06 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43296) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUJ-0007Dx-Ql for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUG-0004Fy-PV for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:11 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:38680) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqU9-0003vT-4C for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:04 -0400 Received: by mail-wm1-x333.google.com with SMTP id t5so11904239wmh.3 for ; Mon, 03 Jun 2019 10:10:56 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.54 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=DIXj6o5VjgWS2++paFrbHI/N4U4fSwkYAKrFon5WWPk=; b=d6Yaqlg1ULiXMUJS5U4gE+lkugLQ7c9oorRUM39L5ml12fzoBpFsaA0lHDenwH1/Su nvYuYKMKiyVfETI7wplv3O+uyQXoAJsAOFKSTLVbTlzQtDjJSYphq9LtnwS+eu7tkuwi bGUQQIIuzxhJHE9A2+TXbd+cBKkWqIeYuodc07P6Af9Gii94eix60hhNlgh2y3L1Qie6 hsAqBanoNiL3bnaqyID5JTww97I0HUiaKMXr/02ykjy3UcEmk6C4fIT7UwF9mfzEaNrC 0Igd1rLmWFQq+WYJSynLLgYwPghvan0592li0XXiwRnJiwA6y3dScUpW5Jb0b/tGcLFw 7OaA== 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:subject:date:message-id :in-reply-to:references; bh=DIXj6o5VjgWS2++paFrbHI/N4U4fSwkYAKrFon5WWPk=; b=CpbA5DDGFjOh4qzu6ckFQYI6LHJLjbhkT639QHA2w8xQIduSbsJPD1HzCvTtnhgg7s SwIPOihs8vsEpGWXL69E4epJZqE0swxwVwDj8YnyaW68aB3JcqvuM1w3Lnq8yab4uEkM 8wUf/I0W0MZN6KWKR0GKKNpECgv/le+rscEOHB6ZrmE1OqxUIoWVeQCQkCEDiV03chYn YeYhD2kmh73clqSKEFd0jJm8vyvcggUPBCYObT6kNRRM6VEbKR6BbCg1uiK7xg+t0hu+ YU6nXUhXap7ABHhaLM+DfUeuha26Fw/vzDpduAg3s+7wdDyzwizfMfsA4VGNypbs+ThJ u4VQ== X-Gm-Message-State: APjAAAUExgPg2V3MQK0Yoi1PsaakI4Mkt2e36o+fzF5YmYcNEzIbI6TF ycnAIZSJp7zqph/WPbk9ICtLFHUf X-Google-Smtp-Source: APXvYqyXZJaMnjsft4A2ChgNBLgwiZ6SkudRq5GJQ900yJ/4HXrQGLTf1eU9qO4goGUAejYNcW5LPA== X-Received: by 2002:a1c:ab42:: with SMTP id u63mr15545995wme.130.1559581855003; Mon, 03 Jun 2019 10:10:55 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:28 +0200 Message-Id: <1559581843-3968-10-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::333 Subject: [Qemu-devel] [PULL 09/24] qgraph: allow extra_device_opts on contains nodes 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Allow choosing the bus that the device will be placed on, in case the machine has more than one. Otherwise, the bus may not match the base address of the controller we attach it to. Signed-off-by: Paolo Bonzini --- tests/qos-test.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tests/qos-test.c b/tests/qos-test.c index ae2fb5d..01b2a22 100644 --- a/tests/qos-test.c +++ b/tests/qos-test.c @@ -340,7 +340,8 @@ static void walk_path(QOSGraphNode *orig_path, int len) char **path_vec =3D g_new0(char *, (QOS_PATH_MAX_ELEMENT_SIZE * 2)); int path_vec_size =3D 0; =20 - char *after_cmd =3D NULL, *before_cmd =3D NULL, *after_device =3D NULL; + char *after_cmd, *before_cmd, *after_device; + GString *after_device_str =3D g_string_new(""); char *node_name =3D orig_path->name, *path_str; =20 GString *cmd_line =3D g_string_new(""); @@ -363,9 +364,8 @@ static void walk_path(QOSGraphNode *orig_path, int len) /* append node command line + previous edge command line */ if (path->command_line && etype =3D=3D QEDGE_CONSUMED_BY) { g_string_append(cmd_line, path->command_line); - if (after_device) { - g_string_append(cmd_line, after_device); - } + g_string_append(cmd_line, after_device_str->str); + g_string_truncate(after_device_str, 0); } =20 path_vec[path_vec_size++] =3D qos_graph_edge_get_name(path->path_e= dge); @@ -382,12 +382,15 @@ static void walk_path(QOSGraphNode *orig_path, int le= n) if (after_cmd) { g_string_append(cmd_line2, after_cmd); } + if (after_device) { + g_string_append(after_device_str, after_device); + } } =20 path_vec[path_vec_size++] =3D NULL; - if (after_device) { - g_string_append(cmd_line, after_device); - } + g_string_append(cmd_line, after_device_str->str); + g_string_free(after_device_str, true); + g_string_append(cmd_line, cmd_line2->str); g_string_free(cmd_line2, true); =20 --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582653; cv=none; d=zoho.com; s=zohoarc; b=SWkGYsHC9XJemPRyHIsTiBEnr3Fwgn8wZk2nWM6+brqTJt7G9DiAHmjBUwQqeufUs/sUvEf2R3x/FF5nE+junvm/FgtFxD0zk88XWpcwMWtqm+jSyeoVaGnzGihN/EBSft5eH1btG6NDt1nPmYlUUswQzKqu3b2lnkgA2JECv2U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582653; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=24E6ZqLnqNyFbdN4STnHa0w5tRYTyGrJT58JpATqj/Q=; b=Nb/Hn78P82zJZnkuDiBbvj+XRXqBdjgbcIs12C0n1hP+SD5MBIMuPZXp+DnzG+I7fO3bAiBzPAhYReab6YSvfDeyD6K4jsCIlaaQAKxTZGMqJbBwkUy/fA6zr1Qwd0KrKjpB0BvGsMJItAAAOW0WFLMlpFAlgpnCYT9SK/ttbsc= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582653707893.5140349542597; Mon, 3 Jun 2019 10:24:13 -0700 (PDT) Received: from localhost ([127.0.0.1]:38414 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqgl-00006y-Jf for importer@patchew.org; Mon, 03 Jun 2019 13:24:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43485) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUU-0007TW-DZ for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUT-0004c6-AU for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:22 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:34893) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUQ-0003wn-3B for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:18 -0400 Received: by mail-wr1-x435.google.com with SMTP id m3so12922809wrv.2 for ; Mon, 03 Jun 2019 10:10:57 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.55 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=24E6ZqLnqNyFbdN4STnHa0w5tRYTyGrJT58JpATqj/Q=; b=ZIJWHYfB5JDi1cw/7BIxAxai/lsUauuk3KCy4a695HtVfh/5qm3dRxO1ipHCTqRPW8 /Do33tXSHArmS3rxDjP9ykk6slDHZJiEI8DCX4mhb8//9DhiqjxyOUFNFOGp9pWtwMIV 32zUaxPSn2aCyZl1MTD6a7v/nMQQPbIm3SBEkh/pN2+MesWKRWNMkaw22X85D8+y6fx0 ugP+os07uDAOWy95qH8MtmVigjssi9TKDpD0gb6qeww+MJSxzLxTS2V3Rrnfxhr8gEbm sOXLn4RzOlq/QDesyDsxYM5vFoCjqJLUTyL/10cHSipndBAVYSpEAaiMaOc5co2hWElX HjLg== 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:subject:date:message-id :in-reply-to:references; bh=24E6ZqLnqNyFbdN4STnHa0w5tRYTyGrJT58JpATqj/Q=; b=H5YmINDLc6q0E1ECi5BZ3EF+vkDIElgpV0tAYfHEy9yKiu31m01Yvh7LKc9roC+mHg 7+CySiMYKK2rT4Ci7SY7pcNq5INFxnbiv7xAJcMw43kxiRYkXot+WRhtnuc1ztR8InfH K/iIZ8wj/F5rNo28BdtT0NOXQgiPhJrs5QXd+OLV5ftyePCLNDUbplFJOrY+PbkT4Cbs Q+9x4/+mfyje+1rHjFeLY6/2kPRNv2uVrCzfwOZKl+PrhgXyhKNS3mqBKypgs3qGo+ws XWkIm2PsowmnN9pu6dvK4Dn2SAV4EakqRjU4Zr88d68TeTjhvF6qxlPfqiaBk/i3wHWB bYTw== X-Gm-Message-State: APjAAAWhqHv+pKbrvBS8smwBtWsOb+BhbHKIy/1adFpYjAlKSSJjldgv 1RKZ52pQbsnU/TXoTLcOH4tzJTMT X-Google-Smtp-Source: APXvYqzUR22i7jPDd+2pZxwtSV7aDyYaSnwiCLNNeum1e0fylxBJC671UgObR5MxxrFsxnLvvebndA== X-Received: by 2002:adf:ba47:: with SMTP id t7mr16704771wrg.175.1559581855824; Mon, 03 Jun 2019 10:10:55 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:29 +0200 Message-Id: <1559581843-3968-11-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::435 Subject: [Qemu-devel] [PULL 10/24] qgraph: fix qos_node_contains with options 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Currently, if qos_node_contains was passed options, it would still create an edge without any options. Instead, in that case NULL acts as a terminator. Signed-off-by: Paolo Bonzini --- tests/libqos/qgraph.c | 12 ++++++++---- tests/libqos/qgraph.h | 15 +++++++++------ 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/tests/libqos/qgraph.c b/tests/libqos/qgraph.c index b149caa..7a7ae2a 100644 --- a/tests/libqos/qgraph.c +++ b/tests/libqos/qgraph.c @@ -632,15 +632,19 @@ void qos_node_create_driver(const char *name, QOSCrea= teDriverFunc function) } =20 void qos_node_contains(const char *container, const char *contained, - ...) + QOSGraphEdgeOptions *opts, ...) { va_list va; - va_start(va, contained); - QOSGraphEdgeOptions *opts; =20 + if (opts =3D=3D NULL) { + add_edge(container, contained, QEDGE_CONTAINS, NULL); + return; + } + + va_start(va, opts); do { - opts =3D va_arg(va, QOSGraphEdgeOptions *); add_edge(container, contained, QEDGE_CONTAINS, opts); + opts =3D va_arg(va, QOSGraphEdgeOptions *); } while (opts !=3D NULL); =20 va_end(va); diff --git a/tests/libqos/qgraph.h b/tests/libqos/qgraph.h index e799095..3a25dda 100644 --- a/tests/libqos/qgraph.h +++ b/tests/libqos/qgraph.h @@ -453,14 +453,16 @@ void qos_node_create_machine_args(const char *name, void qos_node_create_driver(const char *name, QOSCreateDriverFunc function= ); =20 /** - * qos_node_contains(): creates an edge of type QEDGE_CONTAINS and - * adds it to the edge list mapped to @container in the + * qos_node_contains(): creates one or more edges of type QEDGE_CONTAINS + * and adds them to the edge list mapped to @container in the * edge hash table. * - * This edge will have @container as source and @contained as destination. + * The edges will have @container as source and @contained as destination. * - * It also has the possibility to add optional NULL-terminated - * @opts parameters (see %QOSGraphEdgeOptions) + * If @opts is NULL, a single edge will be added with no options. + * If @opts is non-NULL, the arguments after @contained represent a + * NULL-terminated list of %QOSGraphEdgeOptions structs, and an + * edge will be added for each of them. * * This function can be useful when there are multiple devices * with the same node name contained in a machine/other node @@ -480,7 +482,8 @@ void qos_node_create_driver(const char *name, QOSCreate= DriverFunc function); * For contains, op1.arg and op1.size_arg represent the arg to pass * to @contained constructor to properly initialize it. */ -void qos_node_contains(const char *container, const char *contained, ...); +void qos_node_contains(const char *container, const char *contained, + QOSGraphEdgeOptions *opts, ...); =20 /** * qos_node_produces(): creates an edge of type QEDGE_PRODUCES and --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582590; cv=none; d=zoho.com; s=zohoarc; b=AKxPK+/mjQX8D4kMMETS1k2iWaCGvwbia+XC3E0QToKIp3xjrVlYV1ODtZ2q/PGp15L/BavcxsYyTcZSy2V45S8qfKkcWfDf81IVGthiRp6xDas9l9+bz1cNV5swr1JN4lvjrxONT9y7GuYHOf7IhEw5BvegKjqHSBxJAb+OuZI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582590; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=soA4io5WAhJTcvEEt4vIULBxnysle2UEV000MhP1Je4=; b=GVcag2JR6aO/2FxcpkNUDpXsMBtW58EIx5jrqDStPtUFg4UcLs4TrWsOBT6TRSa6PTK2CnAzMvbdW3tGrqi5/dI7h8A00PfitGRC1KDZl1osqv2yDNAznZo9GjNBtMkQSDBE1z7Mnp5eCNcj29qsnsvK1QnzOR59a8YnHE34Qpw= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582590757905.1011025745114; Mon, 3 Jun 2019 10:23:10 -0700 (PDT) Received: from localhost ([127.0.0.1]:38409 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqfi-0007mM-HX for importer@patchew.org; Mon, 03 Jun 2019 13:22:58 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43465) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUT-0007Sg-W4 for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUQ-0004WH-1z for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:20 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:35875) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUN-0003yc-S0 for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:16 -0400 Received: by mail-wr1-x42d.google.com with SMTP id n4so9858080wrs.3 for ; Mon, 03 Jun 2019 10:10:58 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.55 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=soA4io5WAhJTcvEEt4vIULBxnysle2UEV000MhP1Je4=; b=oizq4QA8Zzvf0kwLN5k8CKBQTu7vi9ZsrRWo6QiS3wN2E4uWMHEsSEWeIiAUIrqCt7 7mOoSvhabcBBq9oIQnnF8N87hRiqrvKVRA7/vIW5/WLWjNEHCM6SlgoNhMy3WH9OYF4y FzDHfXM9O5mSW3HfgdfNfE5HILVlg2J0znEINw2unmQNm4sETo01VUP5WMCzKYy2cOvM yXDxReZ/JBHtpbuevRvG+VMo3I37Db/cYA/aF2kMvxdWvlk5xegCF+JOi/UM+HAfZAuw vb6EzDGj0bXa4Avfuc4tEo9furGG0qX1V6bGJ94k/ZAa11QHDT/NYApnD3qcYFNByqsD LxAw== 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:subject:date:message-id :in-reply-to:references; bh=soA4io5WAhJTcvEEt4vIULBxnysle2UEV000MhP1Je4=; b=Zh140SafsJreJuUx/+V48O3jKCnQ8bswt6A5NcBi4R6gwsnK4yvEiBG1yIf2rb9eVR 0MfB56D5Lf9pR4nu28piKiY2VSEVLXc7Apl7TAd/UoJL0EsH6uyID0n5Xhs5tDIJhRaI uj7rQtDCe8GbDcXqTEC1DOhjLZbMupwzqBZxQYNvfOzlwSdQAx4gQSZuUWk7vP7yXdlv eqNAZYay0J2XdNsoBNqxYySgv31ev0w3O3QVg0OK+XapH6ym3j+WWkpR6B3/BbsIScGB LheBdtn9GAJHuOIMqAnrgbfl0edL4IJO8gjV75BSfV/xrIVgx1BPgYmbMij5vlmgC7jC xQYQ== X-Gm-Message-State: APjAAAUOLUxIyBdxymunIGaauyIiSP9RueoNasC5HtL6UJD3iC+wBCC5 KS+pAyhHMKfd2CP0Pumc4TWMpoQx X-Google-Smtp-Source: APXvYqw1xUDQD+kzpHmlD+IAb+Eq6p0nrvHbKUIS2SeP+iBLC6+L4E+RLlWBRw0u90kwrJArptFepQ== X-Received: by 2002:adf:ea4a:: with SMTP id j10mr5322496wrn.114.1559581856838; Mon, 03 Jun 2019 10:10:56 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:30 +0200 Message-Id: <1559581843-3968-12-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42d Subject: [Qemu-devel] [PULL 11/24] libqos: move common i2c code to libqos 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The functions to read/write 8-bit or 16-bit registers are the same in tmp105 and pca9552 tests, and in fact they are a special case of "read block"/"write block" functionality; read block in turn is used in ds1338-test. Move everything inside libqos-test, removing the duplication. Account for the small differences by adding to tmp105-test.c the "read register after writing" behavior that is specific to it. Signed-off-by: Paolo Bonzini --- tests/ds1338-test.c | 8 +----- tests/libqos/i2c.c | 47 ++++++++++++++++++++++++++++++ tests/libqos/i2c.h | 11 ++++++++ tests/pca9552-test.c | 37 ++++++------------------ tests/tmp105-test.c | 80 ++++++++++++++----------------------------------= ---- 5 files changed, 88 insertions(+), 95 deletions(-) diff --git a/tests/ds1338-test.c b/tests/ds1338-test.c index 742dad9..88f829f 100644 --- a/tests/ds1338-test.c +++ b/tests/ds1338-test.c @@ -35,17 +35,11 @@ static inline uint8_t bcd2bin(uint8_t x) =20 static void send_and_receive(void) { - uint8_t cmd[1]; uint8_t resp[7]; time_t now =3D time(NULL); struct tm *tm_ptr =3D gmtime(&now); =20 - /* reset the index in the RTC memory */ - cmd[0] =3D 0; - i2c_send(i2c, addr, cmd, 1); - - /* retrieve the date */ - i2c_recv(i2c, addr, resp, 7); + i2c_read_block(i2c, addr, 0, resp, sizeof(resp)); =20 /* check retrieved time againt local time */ g_assert_cmpuint(bcd2bin(resp[4]), =3D=3D , tm_ptr->tm_mday); diff --git a/tests/libqos/i2c.c b/tests/libqos/i2c.c index 23bc2a3..daf9a96 100644 --- a/tests/libqos/i2c.c +++ b/tests/libqos/i2c.c @@ -21,3 +21,50 @@ void i2c_recv(I2CAdapter *i2c, uint8_t addr, { i2c->recv(i2c, addr, buf, len); } + +void i2c_read_block(I2CAdapter *i2c, uint8_t addr, uint8_t reg, + uint8_t *buf, uint16_t len) +{ + i2c_send(i2c, addr, ®, 1); + i2c_recv(i2c, addr, buf, len); +} + +void i2c_write_block(I2CAdapter *i2c, uint8_t addr, uint8_t reg, + const uint8_t *buf, uint16_t len) +{ + uint8_t *cmd =3D g_malloc(len + 1); + cmd[0] =3D reg; + memcpy(&cmd[1], buf, len); + i2c_send(i2c, addr, cmd, len + 1); + g_free(cmd); +} + +uint8_t i2c_get8(I2CAdapter *i2c, uint8_t addr, uint8_t reg) +{ + uint8_t resp[1]; + i2c_read_block(i2c, addr, reg, resp, sizeof(resp)); + return resp[0]; +} + +uint16_t i2c_get16(I2CAdapter *i2c, uint8_t addr, uint8_t reg) +{ + uint8_t resp[2]; + i2c_read_block(i2c, addr, reg, resp, sizeof(resp)); + return (resp[0] << 8) | resp[1]; +} + +void i2c_set8(I2CAdapter *i2c, uint8_t addr, uint8_t reg, + uint8_t value) +{ + i2c_write_block(i2c, addr, reg, &value, 1); +} + +void i2c_set16(I2CAdapter *i2c, uint8_t addr, uint8_t reg, + uint16_t value) +{ + uint8_t data[2]; + + data[0] =3D value >> 8; + data[1] =3D value & 255; + i2c_write_block(i2c, addr, reg, data, sizeof(data)); +} diff --git a/tests/libqos/i2c.h b/tests/libqos/i2c.h index cc01358..a462114 100644 --- a/tests/libqos/i2c.h +++ b/tests/libqos/i2c.h @@ -28,6 +28,17 @@ void i2c_send(I2CAdapter *i2c, uint8_t addr, void i2c_recv(I2CAdapter *i2c, uint8_t addr, uint8_t *buf, uint16_t len); =20 +void i2c_read_block(I2CAdapter *i2c, uint8_t addr, uint8_t reg, + uint8_t *buf, uint16_t len); +void i2c_write_block(I2CAdapter *i2c, uint8_t addr, uint8_t reg, + const uint8_t *buf, uint16_t len); +uint8_t i2c_get8(I2CAdapter *i2c, uint8_t addr, uint8_t reg); +uint16_t i2c_get16(I2CAdapter *i2c, uint8_t addr, uint8_t reg); +void i2c_set8(I2CAdapter *i2c, uint8_t addr, uint8_t reg, + uint8_t value); +void i2c_set16(I2CAdapter *i2c, uint8_t addr, uint8_t reg, + uint16_t value); + /* libi2c-omap.c */ I2CAdapter *omap_i2c_create(QTestState *qts, uint64_t addr); =20 diff --git a/tests/pca9552-test.c b/tests/pca9552-test.c index 5466a67..06359b7 100644 --- a/tests/pca9552-test.c +++ b/tests/pca9552-test.c @@ -18,27 +18,6 @@ =20 static I2CAdapter *i2c; =20 -static uint8_t pca9552_get8(I2CAdapter *i2c, uint8_t addr, uint8_t reg) -{ - uint8_t resp[1]; - i2c_send(i2c, addr, ®, 1); - i2c_recv(i2c, addr, resp, 1); - return resp[0]; -} - -static void pca9552_set8(I2CAdapter *i2c, uint8_t addr, uint8_t reg, - uint8_t value) -{ - uint8_t cmd[2]; - uint8_t resp[1]; - - cmd[0] =3D reg; - cmd[1] =3D value; - i2c_send(i2c, addr, cmd, 2); - i2c_recv(i2c, addr, resp, 1); - g_assert_cmphex(resp[0], =3D=3D, cmd[1]); -} - static void receive_autoinc(void) { uint8_t resp; @@ -67,26 +46,26 @@ static void send_and_receive(void) { uint8_t value; =20 - value =3D pca9552_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0); + value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0); g_assert_cmphex(value, =3D=3D, 0x55); =20 - value =3D pca9552_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT0); + value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT0); g_assert_cmphex(value, =3D=3D, 0x0); =20 /* Switch on LED 0 */ - pca9552_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0, 0x54); - value =3D pca9552_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0); + i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0, 0x54); + value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0); g_assert_cmphex(value, =3D=3D, 0x54); =20 - value =3D pca9552_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT0); + value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT0); g_assert_cmphex(value, =3D=3D, 0x01); =20 /* Switch on LED 12 */ - pca9552_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3, 0x54); - value =3D pca9552_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3); + i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3, 0x54); + value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3); g_assert_cmphex(value, =3D=3D, 0x54); =20 - value =3D pca9552_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT1); + value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT1); g_assert_cmphex(value, =3D=3D, 0x10); } =20 diff --git a/tests/tmp105-test.c b/tests/tmp105-test.c index 34cae7a..c86d257 100644 --- a/tests/tmp105-test.c +++ b/tests/tmp105-test.c @@ -19,50 +19,6 @@ =20 static I2CAdapter *i2c; =20 -static uint16_t tmp105_get8(I2CAdapter *i2c, uint8_t addr, uint8_t reg) -{ - uint8_t resp[1]; - i2c_send(i2c, addr, ®, 1); - i2c_recv(i2c, addr, resp, 1); - return resp[0]; -} - -static uint16_t tmp105_get16(I2CAdapter *i2c, uint8_t addr, uint8_t reg) -{ - uint8_t resp[2]; - i2c_send(i2c, addr, ®, 1); - i2c_recv(i2c, addr, resp, 2); - return (resp[0] << 8) | resp[1]; -} - -static void tmp105_set8(I2CAdapter *i2c, uint8_t addr, uint8_t reg, - uint8_t value) -{ - uint8_t cmd[2]; - uint8_t resp[1]; - - cmd[0] =3D reg; - cmd[1] =3D value; - i2c_send(i2c, addr, cmd, 2); - i2c_recv(i2c, addr, resp, 1); - g_assert_cmphex(resp[0], =3D=3D, cmd[1]); -} - -static void tmp105_set16(I2CAdapter *i2c, uint8_t addr, uint8_t reg, - uint16_t value) -{ - uint8_t cmd[3]; - uint8_t resp[2]; - - cmd[0] =3D reg; - cmd[1] =3D value >> 8; - cmd[2] =3D value & 255; - i2c_send(i2c, addr, cmd, 3); - i2c_recv(i2c, addr, resp, 2); - g_assert_cmphex(resp[0], =3D=3D, cmd[1]); - g_assert_cmphex(resp[1], =3D=3D, cmd[2]); -} - static int qmp_tmp105_get_temperature(const char *id) { QDict *response; @@ -94,14 +50,14 @@ static void send_and_receive(void) value =3D qmp_tmp105_get_temperature(TMP105_TEST_ID); g_assert_cmpuint(value, =3D=3D, 0); =20 - value =3D tmp105_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0); =20 qmp_tmp105_set_temperature(TMP105_TEST_ID, 20000); value =3D qmp_tmp105_get_temperature(TMP105_TEST_ID); g_assert_cmpuint(value, =3D=3D, 20000); =20 - value =3D tmp105_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x1400); =20 qmp_tmp105_set_temperature(TMP105_TEST_ID, 20938); /* 20 + 15/16 */ @@ -110,24 +66,27 @@ static void send_and_receive(void) g_assert_cmpuint(value, <, 20938 + TMP105_PRECISION/2); =20 /* Set config */ - tmp105_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x60); - value =3D tmp105_get8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG); + i2c_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x60); + value =3D i2c_get8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG); g_assert_cmphex(value, =3D=3D, 0x60); =20 - value =3D tmp105_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x14f0); =20 /* Set precision to 9, 10, 11 bits. */ - tmp105_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x00); - value =3D tmp105_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + i2c_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x00); + g_assert_cmphex(i2c_get8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG), = =3D=3D, 0x00); + value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x1480); =20 - tmp105_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x20); - value =3D tmp105_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + i2c_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x20); + g_assert_cmphex(i2c_get8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG), = =3D=3D, 0x20); + value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x14c0); =20 - tmp105_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x40); - value =3D tmp105_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + i2c_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x40); + g_assert_cmphex(i2c_get8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG), = =3D=3D, 0x40); + value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x14e0); =20 /* stored precision remains the same */ @@ -135,12 +94,15 @@ static void send_and_receive(void) g_assert_cmpuint(value, >=3D, 20938 - TMP105_PRECISION/2); g_assert_cmpuint(value, <, 20938 + TMP105_PRECISION/2); =20 - tmp105_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x60); - value =3D tmp105_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + i2c_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x60); + g_assert_cmphex(i2c_get8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG), = =3D=3D, 0x60); + value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x14f0); =20 - tmp105_set16(i2c, TMP105_TEST_ADDR, TMP105_REG_T_LOW, 0x1234); - tmp105_set16(i2c, TMP105_TEST_ADDR, TMP105_REG_T_HIGH, 0x4231); + i2c_set16(i2c, TMP105_TEST_ADDR, TMP105_REG_T_LOW, 0x1234); + g_assert_cmphex(i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_T_LOW), = =3D=3D, 0x1234); + i2c_set16(i2c, TMP105_TEST_ADDR, TMP105_REG_T_HIGH, 0x4231); + g_assert_cmphex(i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_T_HIGH), = =3D=3D, 0x4231); } =20 int main(int argc, char **argv) --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582823; cv=none; d=zoho.com; s=zohoarc; b=aJHUewEFbb/kkJHVWEqFkVzTDRAhC9wUbQRBCE6+ohEEkS5OuGSfoIwE/y6m+VI+Bw+3d27AU+CrlZ7taff8CONCwb2HTsEbhAH7cOzi5RqsDU2nNyhAgouTMrm1Y7E+P+zhlTO450gyn52Ngz2wzBKxjpxIbpUWrJCqgQcIO+U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582823; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=vgPNCTWPR6hZCIfyU4XsAQRjfaEbN+8hR83G4zbsugU=; b=TX9LIqNNH3O1cyJWouxEKmMFenvYltpQpc6EUYfiTtIs45sPjJiGcCVziiv81HJ3gJ9NKpI+G3sba4e3a2m7e9623KpvVEbVLi6xRG803sANKR/pen1G0zpnxI1PN+zjWPrvtKyvnbS++GArNKgP4IqDFA4necbqPIc08tmJQXo= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582823143260.05371068503996; Mon, 3 Jun 2019 10:27:03 -0700 (PDT) Received: from localhost ([127.0.0.1]:38469 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqjY-0002dn-3i for importer@patchew.org; Mon, 03 Jun 2019 13:26:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43506) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUV-0007Vf-5k for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUT-0004dI-VE for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:23 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:36700) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUQ-00041K-7v for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:20 -0400 Received: by mail-wr1-x444.google.com with SMTP id n4so9858167wrs.3 for ; Mon, 03 Jun 2019 10:11:00 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.56 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=vgPNCTWPR6hZCIfyU4XsAQRjfaEbN+8hR83G4zbsugU=; b=ARBcdiR+Vqg8Mr/QTvJ6DNif9W59CXbdwM7AsKmKe/77/zALmnEtgkx3NL92oV6cj2 avU14ne22GwBsqfG7kH1fH3bZz/I/vL8l4dMMDM1hpOS1NY/5WC+mY8rq3ZhGWwsOLCg RttDokmUvr13HtT13vd1B5Mdysjf69GyaFYhk8PDwNxW6iwhv+U8HgjNpEkRrJEd5/3H OiIJixXh2TX6LoaSqplvWOf25duwdyNeS80TcQhb9E8TlC8g/zNZxQybp6eOfn42CJne 1w/lCvInEIeCl1AxFTZBnM9DIz8Ipl0E1HmLMBTu86hfQUsxqMZFX5PUNE/zkfd6HpiA ZxaQ== 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:subject:date:message-id :in-reply-to:references; bh=vgPNCTWPR6hZCIfyU4XsAQRjfaEbN+8hR83G4zbsugU=; b=IpOUQBMxiVn2NTv5PEbAf6AuNwrJL8ZDb8Q3DPyYoXFlreO1rOMU8st6TSmjiMYFLM 5w6oUHiLmI4UQAX4DUFUg8AgYkvvDU/1uv692V5UfVs11kRpWlOs1/ALWuTcLqXSTklm Q62oLZxwELliJ3aQtqwRXjnx9qC3yRvioMri2DgqHX9uiaLtZhbfXtaMPDv8bgYiTJJc uK0dPOCPze9WdXdYxELbwr8ryck1SSGQy6nPKoB0LNigk6FRU548Fez4oxmWElwddQgx kJoY1OqIh4atVj2Jvmw+Bh6yKBm/4zuRKV9So8GtFlxAvf+i+5jW4hVkdcY5nNcbb/Mm tIzA== X-Gm-Message-State: APjAAAVsL21oEwTeBHJqhGK7MKo3bOPCCEqLGDp/nlHq2Ot1nY9oB/rF QFQV3IsO8gLjKA4gmhtyUNAJ0ZHB X-Google-Smtp-Source: APXvYqz5YXvvAhifupJE8LR96J/f/1waTbplqx6iaZBZNeNDNelYnaqS79+7ZeEZlo2Pxjjdtj1o6Q== X-Received: by 2002:adf:f544:: with SMTP id j4mr3421411wrp.150.1559581858567; Mon, 03 Jun 2019 10:10:58 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:31 +0200 Message-Id: <1559581843-3968-13-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::444 Subject: [Qemu-devel] [PULL 12/24] libqos: fix omap-i2c receiving more than 4 bytes 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" If more than 4 bytes are received, the FIFO cannot host the entire contents of the transfer and STP will be nonzero before entering the transfer loop. Also, CNT will contain the number of bytes left to be transferred instead of the total number of bytes in the transfer. (Reverse engineered from the omap_i2c.c source code; no available datasheet). This will fix ds1338-test for omap-i2c. Signed-off-by: Paolo Bonzini --- tests/libqos/i2c-omap.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/tests/libqos/i2c-omap.c b/tests/libqos/i2c-omap.c index 1ef6e7b..bb65336 100644 --- a/tests/libqos/i2c-omap.c +++ b/tests/libqos/i2c-omap.c @@ -105,6 +105,7 @@ static void omap_i2c_recv(I2CAdapter *i2c, uint8_t addr, { OMAPI2C *s =3D (OMAPI2C *)i2c; uint16_t data, stat; + uint16_t orig_len =3D len; =20 omap_i2c_set_slave_addr(s, addr); =20 @@ -116,16 +117,24 @@ static void omap_i2c_recv(I2CAdapter *i2c, uint8_t ad= dr, OMAP_I2C_CON_STT | OMAP_I2C_CON_STP; qtest_writew(i2c->qts, s->addr + OMAP_I2C_CON, data); - data =3D qtest_readw(i2c->qts, s->addr + OMAP_I2C_CON); - g_assert((data & OMAP_I2C_CON_STP) =3D=3D 0); =20 data =3D qtest_readw(i2c->qts, s->addr + OMAP_I2C_STAT); g_assert((data & OMAP_I2C_STAT_NACK) =3D=3D 0); =20 - data =3D qtest_readw(i2c->qts, s->addr + OMAP_I2C_CNT); - g_assert_cmpuint(data, =3D=3D, len); - while (len > 0) { + data =3D qtest_readw(i2c->qts, s->addr + OMAP_I2C_CON); + if (len <=3D 4) { + g_assert((data & OMAP_I2C_CON_STP) =3D=3D 0); + + data =3D qtest_readw(i2c->qts, s->addr + OMAP_I2C_CNT); + g_assert_cmpuint(data, =3D=3D, orig_len); + } else { + g_assert((data & OMAP_I2C_CON_STP) !=3D 0); + + data =3D qtest_readw(i2c->qts, s->addr + OMAP_I2C_CNT); + g_assert_cmpuint(data, =3D=3D, len - 4); + } + data =3D qtest_readw(i2c->qts, s->addr + OMAP_I2C_STAT); g_assert((data & OMAP_I2C_STAT_RRDY) !=3D 0); g_assert((data & OMAP_I2C_STAT_ROVR) =3D=3D 0); --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582987; cv=none; d=zoho.com; s=zohoarc; b=aC2N7yVa3PT5B9QtBkRbz3XGUYlQ+ysMP8jSXUqpdhG8aJyNMU9KAgTB7sZDRMYfO7PQGZoPQck94UbXOlZ6yR7OM6Jkjol6n4Y+bynoyGqSV+u4YR3OQslIK+ZbJ8cS7w9VPOwQRIyF2NLa5FT6Hq8JMizp220KbyzXnIj2/oA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582987; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=hDt9uPR7rzEo7ud7l9pi841FaWW9ftZDCffNNeB3xZo=; b=KYm/KAM6FensqXUFnj8u74iVqPsyNwJjc+7FMdzsDvWy9dvPCmb521VGSTQW0s7S8tN29AaE6nChHCcs2RwqAz+lpO1nupYhpaZQ2/7oYu/2T5VUWiRmJdCWFSgWzvlw965p93UWBphPQ1MiojF8/c/TUlrD3Hr0C7dsM4zBPiQ= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582987923769.1373904300615; Mon, 3 Jun 2019 10:29:47 -0700 (PDT) Received: from localhost ([127.0.0.1]:38496 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqm7-00057l-U3 for importer@patchew.org; Mon, 03 Jun 2019 13:29:36 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43573) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUW-0007X3-Kk for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUU-0004eZ-6H for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:24 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:54400) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUT-00043E-UO for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:22 -0400 Received: by mail-wm1-x342.google.com with SMTP id g135so8825733wme.4 for ; Mon, 03 Jun 2019 10:11:00 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.58 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=hDt9uPR7rzEo7ud7l9pi841FaWW9ftZDCffNNeB3xZo=; b=E3TfGzAj9MQcvKRYGTKKhQR/MCbZjR9Cl3BXMU8vZSlv5CmhmDhU1rSRd2BJte/plv 9twTo3giQF94g9yae201BoIH8XikmwS9m8bTkspcRsn/79v5mdHr/USZIpb9j2dw97p3 aNYDoQhKcTlNTX4sNuDuej5v2qWznWNT0nZZe01wX/nujLmpGov6lhrEChamxwqRVUpH RUcUpT+qI3VPtcXwPhmn17Ifl30AnTspDTg1XTlNux9ZrXJE+tGOali8SPWNdJl37Bg5 gjl4ZGPLaaxKNATn5Wn3/cA6ZkJn3j8ZDZSVcAoAmuc1/vWZ0n7cFDlgwMg2IgBJjU2a Pz+Q== 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:subject:date:message-id :in-reply-to:references; bh=hDt9uPR7rzEo7ud7l9pi841FaWW9ftZDCffNNeB3xZo=; b=OSTEP/MG7f/m2hgtsoMpw1jRgR+Q00Pv8srVgRNjh4/uKZ9et8wyqLwPphnC7Jkfsc yHr8Bpo8nThAcgnQKx73vDeQtzMHwwuzV0QLFJJFa+g6xZMK0rf01We/abCGPdOQTlNK XL91dWePrw9sa0EIHbbuCJJLNHM4an1BBk79OKfgiJe6hLXWHUvTdwedLIC7uCNKG8Ro K+VvuiI+uTZ6NPZQRU/NqfIiKSiSaCAnkjp1a3H7/zgeRwKUN8gSbjfV1y6AmmfEvVuy ZTaiW6YWkxeZowk0hVoKIa+vMDy3miHV3vFV23+S4ZQXXd7zDf2vtHMiQLLnbhmK5U5X 151A== X-Gm-Message-State: APjAAAXCBcjg+NQZiQJKlQEFAGl2kNzNO6Ek76xo9GTuueZp1jTb76so kpo/skfA8z2bltQFDIEbHT3VUNKN X-Google-Smtp-Source: APXvYqxZi8LSLprypd4JzO8At29JdMqFoifjOjn+VIj4SVvByWBn6DRo7T924C8qklRMepfrZm+n7w== X-Received: by 2002:a1c:b3c3:: with SMTP id c186mr15433654wmf.93.1559581859524; Mon, 03 Jun 2019 10:10:59 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:32 +0200 Message-Id: <1559581843-3968-14-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 Subject: [Qemu-devel] [PULL 13/24] pca9552-test: do not rely on state across tests 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" receive_autoinc is relying on the LED state that is set by send_and_receive. Stop doing that, because qgraph resets the machine between tests. Reviewed-by: Thomas Huth Signed-off-by: Paolo Bonzini --- tests/pca9552-test.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tests/pca9552-test.c b/tests/pca9552-test.c index 06359b7..89b4445 100644 --- a/tests/pca9552-test.c +++ b/tests/pca9552-test.c @@ -18,11 +18,20 @@ =20 static I2CAdapter *i2c; =20 +static void pca9552_init(I2CAdapter *i2c) +{ + /* Switch on LEDs 0 and 12 */ + i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0, 0x54); + i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3, 0x54); +} + static void receive_autoinc(void) { uint8_t resp; uint8_t reg =3D PCA9552_LS0 | PCA9552_AUTOINC; =20 + pca9552_init(i2cdev); + i2c_send(i2c, PCA9552_TEST_ADDR, ®, 1); =20 /* PCA9552_LS0 */ @@ -52,16 +61,14 @@ static void send_and_receive(void) value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT0); g_assert_cmphex(value, =3D=3D, 0x0); =20 - /* Switch on LED 0 */ - i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0, 0x54); + pca9552_init(i2cdev); + value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0); g_assert_cmphex(value, =3D=3D, 0x54); =20 value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT0); g_assert_cmphex(value, =3D=3D, 0x01); =20 - /* Switch on LED 12 */ - i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3, 0x54); value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3); g_assert_cmphex(value, =3D=3D, 0x54); =20 --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582391; cv=none; d=zoho.com; s=zohoarc; b=hfrcpZfMabUsnt05chewW4sVo/7BqmLzOh8NGPBMoLMFR6ah8vDijzXzySzEUebSe+mdb48MutafIBWlUHgbCV7THgChZXvZGCrCJ/idxLaYet7x2yG0pUi3nCUTDpSDmyzxWyJaQ2Any0YDBO5pZfh8Nkup2IRQNnAwGpUKGYg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582391; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=7SaMpOvODHuGBK9ZU2E8tUIRm7zqRrLcE07dgiBjSQ4=; b=mcdci3MVXPftzHPEHcGaABiviQq1IinM9OnccrpYMxbkUdYXKhDg3T5DDtIbuqnsSQP/EvYq0MQBuboG2w2QkC5uc14VeAMJC7FVzv/QoJWyIoC43HD8FWgqJBLVD+3OQmVgbNzh/LOjEwQPGt77icYwP6LMlAtTaBHXYBbZ/Ko= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582391467306.6786966742675; Mon, 3 Jun 2019 10:19:51 -0700 (PDT) Received: from localhost ([127.0.0.1]:38352 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqca-0004yT-Cn for importer@patchew.org; Mon, 03 Jun 2019 13:19:44 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43387) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUQ-0007LM-2Y for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUO-0004Sl-0I for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:17 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:39501) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUN-00044T-PS for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:15 -0400 Received: by mail-wr1-x431.google.com with SMTP id x4so12921292wrt.6 for ; Mon, 03 Jun 2019 10:11:01 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.10.59 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:10:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=7SaMpOvODHuGBK9ZU2E8tUIRm7zqRrLcE07dgiBjSQ4=; b=X3VgkKfKpIY7JtX5dplho2vAfvmcPqMqeSSRWWVQCtQMGuv13o6cRhx8htUBqfMR+L f5nzNpJz/1ogHF80AArhnEACKfmxggKT0A80Er6qkgIbb9n4P759/9KSa0tnPC/GSQWF xaF/kSDaJcZ5HT/MeAesJbkJxJ4bheJaDFlOEG3uEYfRK7CF4OKyV5VfbvlnbjndWcj0 qNB9DDnXE1Bd0JwKaJylPkkDkOH3wa1t/tBMqdPsfKIqnLDSfps0BgDgMSfIGnaRfYoV +NaBpwiFaFilB+nRKbnO0+6Er1uy6kAwOG7UHCxZ1SICLQmHQQ8ePeZIvUdXuynABlII zx0w== 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:subject:date:message-id :in-reply-to:references; bh=7SaMpOvODHuGBK9ZU2E8tUIRm7zqRrLcE07dgiBjSQ4=; b=tYQInRg/1uY5KEzH8IGHJeVf13i+balmwkz21mATPVphMxKXFJj42kz0sWszIoRcz7 5V4DqXGYgBH7gmXX8pWooOGcC9DO5ouk5n19x60OzPbyiOozqVG1hAi6XXQizb6dG8ko 8LAv4Rr2sVQj2F0zTeyD0QC8Ugyo2oeZLzvpG9Fx9dKzHAAm97f+GMGIZObjXQyuXYAh i9hizPgcZOYWch8x1YmVTsd9eUWoXLmnNN//lrJihPn1q6zhO1fgIUaLI8vmPBx8ibWx 7jmhoRXMsvQt94gqIyUU05hESdMgno/kjkudZWvXZjUmOjIMrXh5ux2cZMkv8JowBQLD 2qmA== X-Gm-Message-State: APjAAAXBO7CmSGO1mq+0EVt+J009/o5Ee/KzoXFHOUe/q7kS9l1AtNTe qKeLwQF3sOfZhr8VMDa+I4YfwFGB X-Google-Smtp-Source: APXvYqxcc7WzNISrJDypuJ0688/t3ZzQb8jJFepfE134h9m/JhNvCeAkg3CNS1skIXq6QbQosU/jKA== X-Received: by 2002:adf:f542:: with SMTP id j2mr3498147wrp.16.1559581860404; Mon, 03 Jun 2019 10:11:00 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:33 +0200 Message-Id: <1559581843-3968-15-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::431 Subject: [Qemu-devel] [PULL 14/24] imx25-pdk: create ds1338 for qtest inside the test 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" There is no need to have a test device created by the board. Instead, create it in the qtest so that we will be able to run it on other boards too. Reviewed-by: Thomas Huth Signed-off-by: Paolo Bonzini --- hw/arm/imx25_pdk.c | 9 --------- tests/ds1338-test.c | 2 +- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/hw/arm/imx25_pdk.c b/hw/arm/imx25_pdk.c index eef1b18..a0423ff 100644 --- a/hw/arm/imx25_pdk.c +++ b/hw/arm/imx25_pdk.c @@ -131,15 +131,6 @@ static void imx25_pdk_init(MachineState *machine) */ if (!qtest_enabled()) { arm_load_kernel(&s->soc.cpu, &imx25_pdk_binfo); - } else { - /* - * This I2C device doesn't exist on the real board. - * We add it here (only on qtest usage) to be able to do a bit - * of simple qtest. See "make check" for details. - */ - i2c_create_slave((I2CBus *)qdev_get_child_bus(DEVICE(&s->soc.i2c[0= ]), - "i2c-bus.0"), - "ds1338", 0x68); } } =20 diff --git a/tests/ds1338-test.c b/tests/ds1338-test.c index 88f829f..bd72a15 100644 --- a/tests/ds1338-test.c +++ b/tests/ds1338-test.c @@ -54,7 +54,7 @@ int main(int argc, char **argv) =20 g_test_init(&argc, &argv, NULL); =20 - s =3D qtest_start("-display none -machine imx25-pdk"); + s =3D qtest_start("-display none -machine imx25-pdk -device ds1338,add= ress=3D0x68"); i2c =3D imx_i2c_create(s, IMX25_I2C_0_BASE); addr =3D DS1338_ADDR; =20 --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582945; cv=none; d=zoho.com; s=zohoarc; b=DhEA5O2JIcP9BoM9h7d4O1f8vqejbWkGV2T8jeoha9KfQfz4uahHFaVM1ULOk5fYzZ0dVOVIX6lwNHTXR2+6+cRU3Tx2wBp2WrCuetwhb7d9uuCmXCY2Db3Zj9alZbE5yoh+w8f5qscX3ChXipzzsZg4kuUJIn0WZvwoJ92/RZE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582945; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=uoQaRMWdBdep+YNnKReegUQC2lBBqvjSH/ITdZEowUI=; b=XsvpkpB0U0ad0L8HiJMoT/ykCSElwXuFe9NQR34sVftwbjDj7e6d/1xYDUJb98SjFXL+BxeHAUpkvqkJqgC/45uWHYI3r4/KN8uXo0uwRaNC7rYjxRXA9G/FaIpGGNPMzArS/7TKSJsVeo5wJp3hDKnBJeTqoG58ThAWV12ONjY= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582945208719.9551914750383; Mon, 3 Jun 2019 10:29:05 -0700 (PDT) Received: from localhost ([127.0.0.1]:38494 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqlQ-0004Tg-3m for importer@patchew.org; Mon, 03 Jun 2019 13:28:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43384) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUQ-0007LI-2J for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUO-0004St-2c for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:17 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:53846) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUN-00045w-Ps for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:15 -0400 Received: by mail-wm1-x341.google.com with SMTP id d17so4290234wmb.3 for ; Mon, 03 Jun 2019 10:11:02 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.11.00 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:11:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=uoQaRMWdBdep+YNnKReegUQC2lBBqvjSH/ITdZEowUI=; b=bfmLulX6w/jMAYEgy1HkHwFmlvV3tN3sK8ng3erwovapyAkLK5ofVAV1cAjvFsLkb1 stTKR1LLllzeEhPdnbZ1bIxPrnVaNVk68V3o546vL7cBf2PE9PXrzRiWAfYAXtCnpmcz VA1ornolXIiUjZFsTbSsO40qM58Tuc70mjBtxDXiqipbfLBkVfJblBwIbpgoHBMmQY1u 44DPJH5QX3VCnCshMPtfxyPclAfaRrdxpgP7l0TuPkXGzgI/GIvBWZbXLv5/Go7uVyng 5ILbd6Bng79M4xsj26WTHFmFJbnESwJ7Zt0g0K8xQDupyKBS4nAGbb4ewf9KdkzlyGMA bkRw== 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:subject:date:message-id :in-reply-to:references; bh=uoQaRMWdBdep+YNnKReegUQC2lBBqvjSH/ITdZEowUI=; b=BBo+ELsxyoLERKJ2SkL47MJbv+6Q979VFMCRFSa2fxPFkBarBK/i5NblNQZ6R6584p a6Ius/iGgsMS/PFlWa1dBhXg4p0rCMz7cZHTQoxBmjesiB3qH0t8hUUt7hVvYeGnRASu DvkLYfxMyJ/YSmat9f8F4PBUQ/jqztBdjRQh9oOCtIHAdNJ/W9ukL1A4si48AXSD82UV AYW6wAq1a6iLsHNM5SFsfJ36Gb1fqUtyq+KINB6ZVfBv88x6TWfJCaJua6bzeD7wWHTX KNB3zChR+RB0GUtMYKJrFWw9QxYL3tNHAah2/7fhM7kzmjUI1HXKJg/WCkDMSwwez/f/ iGoQ== X-Gm-Message-State: APjAAAWnnb4F9yIsaqFBbMatF33zl51i5RujzT1Xi9o80Dg69CrvTT30 gAwSDEmySuPyi9itO+cHs4qj7PVC X-Google-Smtp-Source: APXvYqzyAKonLVWMKV2uDNSlbYewUd+j2k/H2HEUb0YkWqLxIjIMmWJmZ2IFlVQmO6C6sUgDqpoY8A== X-Received: by 2002:a1c:6c04:: with SMTP id h4mr14601664wmc.135.1559581861355; Mon, 03 Jun 2019 10:11:01 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:34 +0200 Message-Id: <1559581843-3968-16-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::341 Subject: [Qemu-devel] [PULL 15/24] libqos: split I2CAdapter initialization and allocation 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Provide *_init functions that populate an I2CAdapter struct without allocating one, and make the existing *_create functions wrap them. Because in the new setup *_create might return a pointer inside the IMXI2C or OMAPI2C struct, create companion *_free functions to go back to the outer pointer. All this is temporary until allocation will be handled entirely by qgraph. Signed-off-by: Paolo Bonzini --- tests/libqos/i2c-imx.c | 37 ++++++++++++++++++++++--------------- tests/libqos/i2c-omap.c | 32 +++++++++++++++++++++----------- tests/libqos/i2c.h | 20 ++++++++++++++++++-- tests/pca9552-test.c | 2 +- tests/tmp105-test.c | 2 +- 5 files changed, 63 insertions(+), 30 deletions(-) diff --git a/tests/libqos/i2c-imx.c b/tests/libqos/i2c-imx.c index 0945f2e..28289c5 100644 --- a/tests/libqos/i2c-imx.c +++ b/tests/libqos/i2c-imx.c @@ -30,13 +30,6 @@ enum IMXI2CDirection { IMX_I2C_WRITE, }; =20 -typedef struct IMXI2C { - I2CAdapter parent; - - uint64_t addr; -} IMXI2C; - - static void imx_i2c_set_slave_addr(IMXI2C *s, uint8_t addr, enum IMXI2CDirection direction) { @@ -47,7 +40,7 @@ static void imx_i2c_set_slave_addr(IMXI2C *s, uint8_t add= r, static void imx_i2c_send(I2CAdapter *i2c, uint8_t addr, const uint8_t *buf, uint16_t len) { - IMXI2C *s =3D (IMXI2C *)i2c; + IMXI2C *s =3D container_of(i2c, IMXI2C, parent); uint8_t data; uint8_t status; uint16_t size =3D 0; @@ -107,7 +100,7 @@ static void imx_i2c_send(I2CAdapter *i2c, uint8_t addr, static void imx_i2c_recv(I2CAdapter *i2c, uint8_t addr, uint8_t *buf, uint16_t len) { - IMXI2C *s =3D (IMXI2C *)i2c; + IMXI2C *s =3D container_of(i2c, IMXI2C, parent); uint8_t data; uint8_t status; uint16_t size =3D 0; @@ -193,16 +186,30 @@ static void imx_i2c_recv(I2CAdapter *i2c, uint8_t add= r, g_assert((status & I2SR_IBB) =3D=3D 0); } =20 +void imx_i2c_init(IMXI2C *s, QTestState *qts, uint64_t addr) +{ + s->addr =3D addr; + + s->parent.send =3D imx_i2c_send; + s->parent.recv =3D imx_i2c_recv; + s->parent.qts =3D qts; +} + I2CAdapter *imx_i2c_create(QTestState *qts, uint64_t addr) { IMXI2C *s =3D g_malloc0(sizeof(*s)); - I2CAdapter *i2c =3D (I2CAdapter *)s; =20 - s->addr =3D addr; + imx_i2c_init(s, qts, addr); + return &s->parent; +} =20 - i2c->send =3D imx_i2c_send; - i2c->recv =3D imx_i2c_recv; - i2c->qts =3D qts; +void imx_i2c_free(I2CAdapter *i2c) +{ + IMXI2C *s; =20 - return i2c; + if (!i2c) { + return; + } + s =3D container_of(i2c, IMXI2C, parent); + g_free(s); } diff --git a/tests/libqos/i2c-omap.c b/tests/libqos/i2c-omap.c index bb65336..c7cbb9e 100644 --- a/tests/libqos/i2c-omap.c +++ b/tests/libqos/i2c-omap.c @@ -40,12 +40,6 @@ enum OMAPI2CCONBits { OMAP_I2C_CON_I2C_EN =3D 1 << 15, }; =20 -typedef struct OMAPI2C { - I2CAdapter parent; - - uint64_t addr; -} OMAPI2C; - =20 static void omap_i2c_set_slave_addr(OMAPI2C *s, uint8_t addr) { @@ -59,7 +53,7 @@ static void omap_i2c_set_slave_addr(OMAPI2C *s, uint8_t a= ddr) static void omap_i2c_send(I2CAdapter *i2c, uint8_t addr, const uint8_t *buf, uint16_t len) { - OMAPI2C *s =3D (OMAPI2C *)i2c; + OMAPI2C *s =3D container_of(i2c, OMAPI2C, parent); uint16_t data; =20 omap_i2c_set_slave_addr(s, addr); @@ -103,7 +97,7 @@ static void omap_i2c_send(I2CAdapter *i2c, uint8_t addr, static void omap_i2c_recv(I2CAdapter *i2c, uint8_t addr, uint8_t *buf, uint16_t len) { - OMAPI2C *s =3D (OMAPI2C *)i2c; + OMAPI2C *s =3D container_of(i2c, OMAPI2C, parent); uint16_t data, stat; uint16_t orig_len =3D len; =20 @@ -161,9 +155,8 @@ static void omap_i2c_recv(I2CAdapter *i2c, uint8_t addr, g_assert((data & OMAP_I2C_CON_STP) =3D=3D 0); } =20 -I2CAdapter *omap_i2c_create(QTestState *qts, uint64_t addr) +void omap_i2c_init(OMAPI2C *s, QTestState *qts, uint64_t addr) { - OMAPI2C *s =3D g_malloc0(sizeof(*s)); I2CAdapter *i2c =3D (I2CAdapter *)s; uint16_t data; =20 @@ -176,6 +169,23 @@ I2CAdapter *omap_i2c_create(QTestState *qts, uint64_t = addr) /* verify the mmio address by looking for a known signature */ data =3D qtest_readw(qts, addr + OMAP_I2C_REV); g_assert_cmphex(data, =3D=3D, 0x34); +} + +I2CAdapter *omap_i2c_create(QTestState *qts, uint64_t addr) +{ + OMAPI2C *s =3D g_malloc0(sizeof(*s)); + + omap_i2c_init(s, qts, addr); + return &s->parent; +} =20 - return i2c; +void omap_i2c_free(I2CAdapter *i2c) +{ + OMAPI2C *s; + + if (!i2c) { + return; + } + s =3D container_of(i2c, OMAPI2C, parent); + g_free(s); } diff --git a/tests/libqos/i2c.h b/tests/libqos/i2c.h index a462114..877d2ab 100644 --- a/tests/libqos/i2c.h +++ b/tests/libqos/i2c.h @@ -39,10 +39,26 @@ void i2c_set8(I2CAdapter *i2c, uint8_t addr, uint8_t re= g, void i2c_set16(I2CAdapter *i2c, uint8_t addr, uint8_t reg, uint16_t value); =20 -/* libi2c-omap.c */ +/* i2c-omap.c */ +typedef struct OMAPI2C { + I2CAdapter parent; + + uint64_t addr; +} OMAPI2C; + +void omap_i2c_init(OMAPI2C *s, QTestState *qts, uint64_t addr); I2CAdapter *omap_i2c_create(QTestState *qts, uint64_t addr); +void omap_i2c_free(I2CAdapter *i2c); + +/* i2c-imx.c */ +typedef struct IMXI2C { + I2CAdapter parent; + + uint64_t addr; +} IMXI2C; =20 -/* libi2c-imx.c */ +void imx_i2c_init(IMXI2C *s, QTestState *qts, uint64_t addr); I2CAdapter *imx_i2c_create(QTestState *qts, uint64_t addr); +void imx_i2c_free(I2CAdapter *i2c); =20 #endif diff --git a/tests/pca9552-test.c b/tests/pca9552-test.c index 89b4445..f950932 100644 --- a/tests/pca9552-test.c +++ b/tests/pca9552-test.c @@ -96,7 +96,7 @@ int main(int argc, char **argv) if (s) { qtest_quit(s); } - g_free(i2c); + omap_i2c_free(i2c); =20 return ret; } diff --git a/tests/tmp105-test.c b/tests/tmp105-test.c index c86d257..25ea05f 100644 --- a/tests/tmp105-test.c +++ b/tests/tmp105-test.c @@ -122,7 +122,7 @@ int main(int argc, char **argv) ret =3D g_test_run(); =20 qtest_quit(s); - g_free(i2c); + omap_i2c_free(i2c); =20 return ret; } --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582764; cv=none; d=zoho.com; s=zohoarc; b=ktOpXhqyKtBVnA63dJIXBxLvHl/R9Y6OJc6MG3voS0lMzQs4eVsAiSN8bybmtVL+nzNtNxPlsAejGnNA1LJvTEllUDra65bxFOUs1vTSLW4WgjbWpbu7fz5oHVftR/z1XL7uS0iBD1jndfmfmFDHFy4PaFK74gAFzzlJqOEQJ4g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582764; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=bJ2qIHf63bhhWnV7Wbzv5gU351b7CRfeRe9/gqKuOzs=; b=U82fTUMmSvDIhPJEk9zX26Hqs8kwFm9pfm++ASmUYmeWefYMYohfQun/FdA0mjWV7/dxST4bsBIM62CU83SskZ2BBVGhCjJMIl8PuuyHZgtFwr5zzB9KsS0kPc5/wVPWuXiZJcRK6WfaGCOg3AhS5odgyjaaDXeAacMbpGDl7HI= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582764804250.12062409985583; Mon, 3 Jun 2019 10:26:04 -0700 (PDT) Received: from localhost ([127.0.0.1]:38462 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqid-0001gO-Ny for importer@patchew.org; Mon, 03 Jun 2019 13:25:59 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43561) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUW-0007X2-Fx for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUT-0004dZ-VE for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:24 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:43224) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUQ-00047I-8t for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:20 -0400 Received: by mail-wr1-x442.google.com with SMTP id r18so3896357wrm.10 for ; Mon, 03 Jun 2019 10:11:03 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.11.01 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:11:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=bJ2qIHf63bhhWnV7Wbzv5gU351b7CRfeRe9/gqKuOzs=; b=YUWApCI4H/tD5toWS94OuyOmu/tuU1nO/Y3hOr0AKpTWxykyg2C4MzyJMnrw0B0bYc xW/XMK0IHtl0FO7qU7LFl9ZKK1cnXcug5LcOjDak9DlV40dERzROmqLuciXlyqIcIn5N ryYIm8ImXl/mmIAoAl/3tqwcJ7erjGZXttozJXCLRKOrrMUtH4hZhcDUPvU6YQM7NyV/ c7dFi6hu+2MRBqGWBUc/w4mGLcJsabGMgH6pqASacSUMltYdJ59rWzG+Wau4rpaKy1fD XF9zLstZkeZtyRu2xt1m+6ochiBHxqVuBq/djA9F0fbINtUHj5F47MUMCxHyZ441cnmP GgbQ== 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:subject:date:message-id :in-reply-to:references; bh=bJ2qIHf63bhhWnV7Wbzv5gU351b7CRfeRe9/gqKuOzs=; b=YePUzXmLLdJG65ezQrn3VSrhuN0Agt/xpBc4Wc4gZHf+hseBGT1b/+EpaK3yIpaNfx Qp3X//3b4WEQDQpyNxKBSD0XdCAlAkK7rVH4b0yFOaEcFobtE+6E95DOup9C6W9nEZ/S jBvo+uL2FoNWg7gE4Oy30WZE1gajN+SasFXQgV4WIn7WMV7P3ufoHbuNwPOy0xVicxMN F/7Vkdu92rkak6ns1TEETtV3g1hAS2Tsenu0Q3ZM51+jKpWQa1XGnSIL9CJ9bStZAErH RRGmhhUG4c9zDLb3dNnllg55uW5WdGh9k6UGaO74i1AAP4rY0bpehg4lgpEjFN5HZGBY iMJg== X-Gm-Message-State: APjAAAU11bTEpa4MuqOHb1U+n8cLnCEH4qUile6ASTvBYwz5bnFJl0Y4 9+nbxqg0+/XQbpilMYqI79t4VbDV X-Google-Smtp-Source: APXvYqxlIZfrl4xE4sQua0yyMKlBEQlN7WGwI5pv6y5t0dtEmX52cGxMMZqA5taAgiUoY+2T3lqarA== X-Received: by 2002:adf:fe0a:: with SMTP id n10mr3364303wrr.40.1559581862363; Mon, 03 Jun 2019 10:11:02 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:35 +0200 Message-Id: <1559581843-3968-17-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 Subject: [Qemu-devel] [PULL 16/24] libqos: convert I2C to qgraph 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Create an i2c-bus interface, corresponding to the I2CAdapter struct. Wrap IMXI2C and OMAPI2C with a QOSGraphObject, and add the get_driver function to retrieve the I2CAdapter. The conversion is still not complete; for simplicity, i2c_recv and i2c_send (along with their wrappers) still take an adapter/address pair. Fixing that would be complicated until the tests are converted to qgraph, so it is left for after the conversion. Signed-off-by: Paolo Bonzini --- tests/Makefile.include | 2 ++ tests/libqos/i2c-imx.c | 20 ++++++++++++++++++++ tests/libqos/i2c-omap.c | 40 ++++++++++++++++++++++++++++++++-------- tests/libqos/i2c.c | 8 ++++++++ tests/libqos/i2c.h | 21 +++++++++++++++++++++ 5 files changed, 83 insertions(+), 8 deletions(-) diff --git a/tests/Makefile.include b/tests/Makefile.include index 1865f6b..63f646a 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -694,6 +694,8 @@ libqos-usb-obj-y =3D $(libqos-spapr-obj-y) $(libqos-pc-= obj-y) tests/libqos/usb.o qos-test-obj-y =3D tests/qos-test.o $(libqgraph-obj-y) qos-test-obj-y +=3D $(libqos-pc-obj-y) $(libqos-spapr-obj-y) qos-test-obj-y +=3D tests/libqos/e1000e.o +qos-test-obj-y +=3D $(libqos-imx-obj-y) +qos-test-obj-y +=3D $(libqos-omap-obj-y) qos-test-obj-y +=3D tests/libqos/sdhci.o qos-test-obj-y +=3D tests/libqos/tpci200.o qos-test-obj-y +=3D tests/libqos/virtio.o diff --git a/tests/libqos/i2c-imx.c b/tests/libqos/i2c-imx.c index 28289c5..86d84a7 100644 --- a/tests/libqos/i2c-imx.c +++ b/tests/libqos/i2c-imx.c @@ -186,10 +186,22 @@ static void imx_i2c_recv(I2CAdapter *i2c, uint8_t add= r, g_assert((status & I2SR_IBB) =3D=3D 0); } =20 +static void *imx_i2c_get_driver(void *obj, const char *interface) +{ + IMXI2C *s =3D obj; + if (!g_strcmp0(interface, "i2c-bus")) { + return &s->parent; + } + fprintf(stderr, "%s not present in imx-i2c\n", interface); + g_assert_not_reached(); +} + void imx_i2c_init(IMXI2C *s, QTestState *qts, uint64_t addr) { s->addr =3D addr; =20 + s->obj.get_driver =3D imx_i2c_get_driver; + s->parent.send =3D imx_i2c_send; s->parent.recv =3D imx_i2c_recv; s->parent.qts =3D qts; @@ -213,3 +225,11 @@ void imx_i2c_free(I2CAdapter *i2c) s =3D container_of(i2c, IMXI2C, parent); g_free(s); } + +static void imx_i2c_register_nodes(void) +{ + qos_node_create_driver("imx.i2c", NULL); + qos_node_produces("imx.i2c", "i2c-bus"); +} + +libqos_init(imx_i2c_register_nodes); diff --git a/tests/libqos/i2c-omap.c b/tests/libqos/i2c-omap.c index c7cbb9e..f949564 100644 --- a/tests/libqos/i2c-omap.c +++ b/tests/libqos/i2c-omap.c @@ -155,20 +155,36 @@ static void omap_i2c_recv(I2CAdapter *i2c, uint8_t ad= dr, g_assert((data & OMAP_I2C_CON_STP) =3D=3D 0); } =20 -void omap_i2c_init(OMAPI2C *s, QTestState *qts, uint64_t addr) +static void *omap_i2c_get_driver(void *obj, const char *interface) +{ + OMAPI2C *s =3D obj; + if (!g_strcmp0(interface, "i2c-bus")) { + return &s->parent; + } + fprintf(stderr, "%s not present in omap_i2c\n", interface); + g_assert_not_reached(); +} + +static void omap_i2c_start_hw(QOSGraphObject *object) { - I2CAdapter *i2c =3D (I2CAdapter *)s; + OMAPI2C *s =3D (OMAPI2C *) object; uint16_t data; =20 + /* verify the mmio address by looking for a known signature */ + data =3D qtest_readw(s->parent.qts, s->addr + OMAP_I2C_REV); + g_assert_cmphex(data, =3D=3D, 0x34); +} + +void omap_i2c_init(OMAPI2C *s, QTestState *qts, uint64_t addr) +{ s->addr =3D addr; =20 - i2c->send =3D omap_i2c_send; - i2c->recv =3D omap_i2c_recv; - i2c->qts =3D qts; + s->obj.get_driver =3D omap_i2c_get_driver; + s->obj.start_hw =3D omap_i2c_start_hw; =20 - /* verify the mmio address by looking for a known signature */ - data =3D qtest_readw(qts, addr + OMAP_I2C_REV); - g_assert_cmphex(data, =3D=3D, 0x34); + s->parent.send =3D omap_i2c_send; + s->parent.recv =3D omap_i2c_recv; + s->parent.qts =3D qts; } =20 I2CAdapter *omap_i2c_create(QTestState *qts, uint64_t addr) @@ -189,3 +205,11 @@ void omap_i2c_free(I2CAdapter *i2c) s =3D container_of(i2c, OMAPI2C, parent); g_free(s); } + +static void omap_i2c_register_nodes(void) +{ + qos_node_create_driver("omap_i2c", NULL); + qos_node_produces("omap_i2c", "i2c-bus"); +} + +libqos_init(omap_i2c_register_nodes); diff --git a/tests/libqos/i2c.c b/tests/libqos/i2c.c index daf9a96..8117d13 100644 --- a/tests/libqos/i2c.c +++ b/tests/libqos/i2c.c @@ -68,3 +68,11 @@ void i2c_set16(I2CAdapter *i2c, uint8_t addr, uint8_t re= g, data[1] =3D value & 255; i2c_write_block(i2c, addr, reg, data, sizeof(data)); } + +void *i2c_device_create(void *i2c_bus, QGuestAllocator *alloc, void *addr) +{ + QI2CDevice *i2cdev =3D g_new0(QI2CDevice, 1); + + i2cdev->bus =3D i2c_bus; + return &i2cdev->obj; +} diff --git a/tests/libqos/i2c.h b/tests/libqos/i2c.h index 877d2ab..0107cfc 100644 --- a/tests/libqos/i2c.h +++ b/tests/libqos/i2c.h @@ -10,6 +10,7 @@ #define LIBQOS_I2C_H =20 #include "libqtest.h" +#include "libqos/qgraph.h" =20 typedef struct I2CAdapter I2CAdapter; struct I2CAdapter { @@ -21,8 +22,26 @@ struct I2CAdapter { QTestState *qts; }; =20 +typedef struct QI2CDevice QI2CDevice; +struct QI2CDevice { + /* + * For now, all devices are simple enough that there is no need for + * them to define their own constructor and get_driver functions. + * Therefore, QOSGraphObject is included directly in QI2CDevice; + * the tests expect to get a QI2CDevice rather than doing something + * like obj->get_driver("i2c-device"). + * + * In fact there is no i2c-device interface even, because there are + * no generic I2C tests). + */ + QOSGraphObject obj; + I2CAdapter *bus; +}; + #define OMAP2_I2C_1_BASE 0x48070000 =20 +void *i2c_device_create(void *i2c_bus, QGuestAllocator *alloc, void *addr); + void i2c_send(I2CAdapter *i2c, uint8_t addr, const uint8_t *buf, uint16_t len); void i2c_recv(I2CAdapter *i2c, uint8_t addr, @@ -41,6 +60,7 @@ void i2c_set16(I2CAdapter *i2c, uint8_t addr, uint8_t reg, =20 /* i2c-omap.c */ typedef struct OMAPI2C { + QOSGraphObject obj; I2CAdapter parent; =20 uint64_t addr; @@ -52,6 +72,7 @@ void omap_i2c_free(I2CAdapter *i2c); =20 /* i2c-imx.c */ typedef struct IMXI2C { + QOSGraphObject obj; I2CAdapter parent; =20 uint64_t addr; --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582774; cv=none; d=zoho.com; s=zohoarc; b=EKS0g/yNwxTfJ//y9A8th3/QzbsjIhFdFmBS2qkypVfVGvByfSw7TImfCS3lvSyGfDy1NynLTaK+XkorjBVsQ34ViVE4bSidICc6386QD+PtngZU8AA/Ft7JVXmE/vDZbNdWSTGQqLErEwhqLYyoMYF7eB7uKCy6s7+zHRa7P9o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582774; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=nDOwMOkDnVXsENoUAAn5Ob4O9fod7r3TV9e2Rzz+xfU=; b=hbJa81Akt63thNRbrJwdy62tMq8FKM8hUyWzVJz1XPsSJfLAFxlMr1Wq4NpOv++23E1drmOEjuYuo4iSx/tcqNNsiMuqfpl7106h5Uc7Y/Zj44jztbAKHqA4H5oE+iDqllpKXWBdHwndPVioiAXlZMR2KKNL4eoSYT5TX2MmLcc= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582774030227.62814521408427; Mon, 3 Jun 2019 10:26:14 -0700 (PDT) Received: from localhost ([127.0.0.1]:38467 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqil-0001rD-3T for importer@patchew.org; Mon, 03 Jun 2019 13:26:07 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43338) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUN-0007Io-Pw for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUL-0004Oi-Qs for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:15 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:52019) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUK-000499-3g for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:13 -0400 Received: by mail-wm1-x344.google.com with SMTP id f10so12032579wmb.1 for ; Mon, 03 Jun 2019 10:11:04 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.11.02 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:11:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=nDOwMOkDnVXsENoUAAn5Ob4O9fod7r3TV9e2Rzz+xfU=; b=vhK/GsRnS31jrG7xXOjtYj6LDJFjkbtF2VbilF3JsXx7DLFAjoPQNQ0xXJYZ/P/AAh 3W1GrQAmrmtxaNcfnsLY3Vi+hhkimu0z2andbcCq5Z5zDVsWVjdIhQ/3raHOmsB39MIc bPDG665vign6jH/TTDDU46V0+/aq7NE+Br8+6VAjUx4G78n+nZx9uu5bKTjVnt667mVd GbhUFimtpGgEohkSCQcagQGjal+Ekg8OFGSFLXYQeMypRA9VC5G8rmSQkppX96hB30V2 0PauX4NH46HMmmXjNUyl7cOx9QlCa9w/nRnzW2tg73sav9UiM/5ZKIxKN5o/lRH4QdKX AixA== 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:subject:date:message-id :in-reply-to:references; bh=nDOwMOkDnVXsENoUAAn5Ob4O9fod7r3TV9e2Rzz+xfU=; b=HA0OJgmnHSzeNpaXEgWUG29IZu+tB3xP32+7erm3JUpDxIV3sk/KMJBeKMJTgfGtbx XSIahoYq8tMSTFszBJVaRzMbFt8+Kx8xnqOY3+hrVEK1+cSLCcVJc8GbKeg0QUah1Zso WGwLhR8+F8J5pyCUWjXcoWF2BgyW8rnjwNIweHfljY969l112X8nj/o3G8zmlocmSQQ4 HKGE0l0NkEZJkEu+VSTEvfWYXdtVBHgHCRJa+ta9q4NtQCzXmYzg+ekgi/6Pm9nxquP4 RdWsVapfesN0QEw/iWnP7uDlUJUrhyUb1SYl2HXr3rnuA0SbOBreM1hKw7YQejU4wi7S I4/Q== X-Gm-Message-State: APjAAAXO52HS/4U5dFORQNXBPmpIHzZ5e7ZraaSaUQHNTtWddywcwy1Y KnneZ/GXv62JvDem/N+r0B1ngGUv X-Google-Smtp-Source: APXvYqx9PyUIgpRBp96MJJ2/WzSbrvuoHuKxCrZy9hD4Us3gjMSXCnk0g2onLsKXc2ESxNlECGd5Aw== X-Received: by 2002:a1c:e3d7:: with SMTP id a206mr15593528wmh.7.1559581863670; Mon, 03 Jun 2019 10:11:03 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:36 +0200 Message-Id: <1559581843-3968-18-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 Subject: [Qemu-devel] [PULL 17/24] libqos: add ARM n800 machine object 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This is used to test omap_i2c. Signed-off-by: Paolo Bonzini --- tests/Makefile.include | 1 + tests/libqos/arm-n800-machine.c | 92 +++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 93 insertions(+) create mode 100644 tests/libqos/arm-n800-machine.c diff --git a/tests/Makefile.include b/tests/Makefile.include index 63f646a..03a6483 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -711,6 +711,7 @@ qos-test-obj-y +=3D tests/libqos/virtio-serial.o =20 # Machines qos-test-obj-y +=3D tests/libqos/aarch64-xlnx-zcu102-machine.o +qos-test-obj-y +=3D tests/libqos/arm-n800-machine.o qos-test-obj-y +=3D tests/libqos/arm-raspi2-machine.o qos-test-obj-y +=3D tests/libqos/arm-sabrelite-machine.o qos-test-obj-y +=3D tests/libqos/arm-smdkc210-machine.o diff --git a/tests/libqos/arm-n800-machine.c b/tests/libqos/arm-n800-machin= e.c new file mode 100644 index 0000000..87279bd --- /dev/null +++ b/tests/libqos/arm-n800-machine.c @@ -0,0 +1,92 @@ +/* + * libqos driver framework + * + * Copyright (c) 2019 Red Hat, Inc. + * + * Author: Paolo Bonzini + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see + */ + +#include "qemu/osdep.h" +#include "libqtest.h" +#include "libqos/malloc.h" +#include "libqos/qgraph.h" +#include "libqos/i2c.h" + +#define ARM_PAGE_SIZE 4096 +#define N800_RAM_START 0x80000000 +#define N800_RAM_END 0x88000000 + +typedef struct QN800Machine QN800Machine; + +struct QN800Machine { + QOSGraphObject obj; + QGuestAllocator alloc; + OMAPI2C i2c_1; +}; + +static void *n800_get_driver(void *object, const char *interface) +{ + QN800Machine *machine =3D object; + if (!g_strcmp0(interface, "memory")) { + return &machine->alloc; + } + + fprintf(stderr, "%s not present in arm/n800\n", interface); + g_assert_not_reached(); +} + +static QOSGraphObject *n800_get_device(void *obj, const char *device) +{ + QN800Machine *machine =3D obj; + if (!g_strcmp0(device, "omap_i2c")) { + return &machine->i2c_1.obj; + } + + fprintf(stderr, "%s not present in arm/n800\n", device); + g_assert_not_reached(); +} + +static void n800_destructor(QOSGraphObject *obj) +{ + QN800Machine *machine =3D (QN800Machine *) obj; + alloc_destroy(&machine->alloc); +} + +static void *qos_create_machine_arm_n800(QTestState *qts) +{ + QN800Machine *machine =3D g_new0(QN800Machine, 1); + + alloc_init(&machine->alloc, 0, + N800_RAM_START, + N800_RAM_END, + ARM_PAGE_SIZE); + machine->obj.get_device =3D n800_get_device; + machine->obj.get_driver =3D n800_get_driver; + machine->obj.destructor =3D n800_destructor; + + omap_i2c_init(&machine->i2c_1, qts, 0x48070000); + return &machine->obj; +} + +static void n800_register_nodes(void) +{ + QOSGraphEdgeOptions edge =3D { + .extra_device_opts =3D "bus=3Di2c-bus.0" + }; + qos_node_create_machine("arm/n800", qos_create_machine_arm_n800); + qos_node_contains("arm/n800", "omap_i2c", &edge, NULL); +} + +libqos_init(n800_register_nodes); --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582580; cv=none; d=zoho.com; s=zohoarc; b=ABd9Sqw2AkT8LDp91cCaKr74OTPe0oqrpTchNRgKMyRXIwqvPs149ggxh19LNNagYczW2QS+VyJTzjQP9DobDyBol5T/ExYX5CrRxmkuJeFsJ71tBC4mbyO3kFI+tedUFmMoEuxl+jQsc7/YQeil3DNLKXXAnXig1QFEn+ca9KQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582580; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=WUPOWQby9NyOWCL8EdgXH+awKj5mu9CtF/Idmcmf/vA=; b=FQKI5gSlyndTC4BmZfn7t/BXTb3D4q3fQfPpLJ20Nlhqgk0Xk7LxSi/sCz72Mhxh4kXfS+92JWoNOGmDj41ZqKnzhrMHN+vn82rj2TSV3ohX26YHz+e/aDv06HQAD9XDPi2k1r9ETClaq278rmU1Hv6J3NRVK0GKNczZ3BcPfVY= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582580241307.9290547849399; Mon, 3 Jun 2019 10:23:00 -0700 (PDT) Received: from localhost ([127.0.0.1]:38407 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqfb-0007fi-47 for importer@patchew.org; Mon, 03 Jun 2019 13:22:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43385) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUQ-0007LK-2I for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUN-0004SC-Rr for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:17 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:52018) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUL-0004AR-RQ for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:15 -0400 Received: by mail-wm1-x342.google.com with SMTP id f10so12032624wmb.1 for ; Mon, 03 Jun 2019 10:11:05 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.11.03 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:11:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=WUPOWQby9NyOWCL8EdgXH+awKj5mu9CtF/Idmcmf/vA=; b=pdQq65K+tzU/Uopn7teSy9MFNofoQvVKbRYJaK9m4QdhKIuMBm+oSvfN1isfe125PN h6R5yNxSr2oupR6Nu8CP1qKSc9WkseXMaEoloEy7lvJsxo7g4lEGdl7Y/TpWJroVbkbl WPnPijoq/yDWUClB3cIBN30w14CHBSySOKBQdvYzvIYrbKl9mJPiocqDpWcJs5FBWAne wZujnzkp10VpEDKEgkLJCN8ffaQiVQAPsq+s5RJVwHeU6+YxDshjMcIHF3tNuEOGsdu6 v5aB5xueHkF+cGrq1vYY1NiU213UE5xzm3N0R4vJKtzPZhaiJbktRmMgQiCQZrv3+5sE PXKA== 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:subject:date:message-id :in-reply-to:references; bh=WUPOWQby9NyOWCL8EdgXH+awKj5mu9CtF/Idmcmf/vA=; b=G2IEfGs/mOGNYDsTO3A3xIWbZkBPnPBSHKemUDpktceMQe2t/Tnocq0PEew8vunXMw PyZJZcpFZCPz24UnH60sO0tyeQm4XqpRSR9eJWmXM8Jf+H7H+12r0hW0o56Qw+v0uip3 NXdRqkMrYd18Lqkh22uOSzjjRLnCiAtWI6Wg7zTSZUp6OKNmw+/ArbVrb1W+raT5kzgO zhqN1MMJVUVehOqs7C6yl+WlTYi20vSJlUt8F65TPJLbwjqWs2AeEfRjLvZAtAba/ZLj knQt/aEeFL5X9VwmJZTfGm+5nNFj3lK2Dw1gXnrxAR+O9VGDg2ZIFDvY2/nVkkMhVJ5W ye4w== X-Gm-Message-State: APjAAAVzeBav0S3y2jXxwTM2AEDigELIpV2hLv77xDwSbAmMpJffc8FA 6gq+RIyjrbdLcbQEcAwZp+mpi8i2 X-Google-Smtp-Source: APXvYqy8K2jv9HSpzpY11JtpiAMoCkuViVJCwLY/E+dL9ry12eAEpxothmlo7j7Lq/FA3qOQAPQZww== X-Received: by 2002:a1c:4054:: with SMTP id n81mr15413787wma.78.1559581864650; Mon, 03 Jun 2019 10:11:04 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:37 +0200 Message-Id: <1559581843-3968-19-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 Subject: [Qemu-devel] [PULL 18/24] libqos: add ARM imx25-pdk machine object 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This is used to test imx_i2c. Signed-off-by: Paolo Bonzini --- tests/Makefile.include | 1 + tests/libqos/arm-imx25-pdk-machine.c | 92 ++++++++++++++++++++++++++++++++= ++++ 2 files changed, 93 insertions(+) create mode 100644 tests/libqos/arm-imx25-pdk-machine.c diff --git a/tests/Makefile.include b/tests/Makefile.include index 03a6483..506181e 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -711,6 +711,7 @@ qos-test-obj-y +=3D tests/libqos/virtio-serial.o =20 # Machines qos-test-obj-y +=3D tests/libqos/aarch64-xlnx-zcu102-machine.o +qos-test-obj-y +=3D tests/libqos/arm-imx25-pdk-machine.o qos-test-obj-y +=3D tests/libqos/arm-n800-machine.o qos-test-obj-y +=3D tests/libqos/arm-raspi2-machine.o qos-test-obj-y +=3D tests/libqos/arm-sabrelite-machine.o diff --git a/tests/libqos/arm-imx25-pdk-machine.c b/tests/libqos/arm-imx25-= pdk-machine.c new file mode 100644 index 0000000..25066fb --- /dev/null +++ b/tests/libqos/arm-imx25-pdk-machine.c @@ -0,0 +1,92 @@ +/* + * libqos driver framework + * + * Copyright (c) 2019 Red Hat, Inc. + * + * Author: Paolo Bonzini + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see + */ + +#include "qemu/osdep.h" +#include "libqtest.h" +#include "libqos/malloc.h" +#include "libqos/qgraph.h" +#include "libqos/i2c.h" + +#define ARM_PAGE_SIZE 4096 +#define IMX25_PDK_RAM_START 0x80000000 +#define IMX25_PDK_RAM_END 0x88000000 + +typedef struct QIMX25PDKMachine QIMX25PDKMachine; + +struct QIMX25PDKMachine { + QOSGraphObject obj; + QGuestAllocator alloc; + IMXI2C i2c_1; +}; + +static void *imx25_pdk_get_driver(void *object, const char *interface) +{ + QIMX25PDKMachine *machine =3D object; + if (!g_strcmp0(interface, "memory")) { + return &machine->alloc; + } + + fprintf(stderr, "%s not present in arm/imx25_pdk\n", interface); + g_assert_not_reached(); +} + +static QOSGraphObject *imx25_pdk_get_device(void *obj, const char *device) +{ + QIMX25PDKMachine *machine =3D obj; + if (!g_strcmp0(device, "imx.i2c")) { + return &machine->i2c_1.obj; + } + + fprintf(stderr, "%s not present in arm/imx25_pdk\n", device); + g_assert_not_reached(); +} + +static void imx25_pdk_destructor(QOSGraphObject *obj) +{ + QIMX25PDKMachine *machine =3D (QIMX25PDKMachine *) obj; + alloc_destroy(&machine->alloc); +} + +static void *qos_create_machine_arm_imx25_pdk(QTestState *qts) +{ + QIMX25PDKMachine *machine =3D g_new0(QIMX25PDKMachine, 1); + + alloc_init(&machine->alloc, 0, + IMX25_PDK_RAM_START, + IMX25_PDK_RAM_END, + ARM_PAGE_SIZE); + machine->obj.get_device =3D imx25_pdk_get_device; + machine->obj.get_driver =3D imx25_pdk_get_driver; + machine->obj.destructor =3D imx25_pdk_destructor; + + imx_i2c_init(&machine->i2c_1, qts, 0x43f80000); + return &machine->obj; +} + +static void imx25_pdk_register_nodes(void) +{ + QOSGraphEdgeOptions edge =3D { + .extra_device_opts =3D "bus=3Di2c-bus.0" + }; + qos_node_create_machine("arm/imx25-pdk", qos_create_machine_arm_imx25_= pdk); + qos_node_contains("arm/imx25-pdk", "imx.i2c", &edge, NULL); +} + +libqos_init(imx25_pdk_register_nodes); --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582397; cv=none; d=zoho.com; s=zohoarc; b=CsqeJo5UHfj62Ln8Ssqf6EETLjKbvoi+8qczMK7ztpxrLU05twM/BtS8d3QqXgdS2ws8gupdcTMCdsBNCLW/8lZagiuFEdCE0Rtdr0FMvXmf/euepCq752DfIX42I+tejINlvIiXs2bPXuZtvs5+mGmn6yHU1ZXJRhFtizlJwOk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582397; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=uTw9lui1K14b+YilUbfGl6zQd1d28dhhzntF+On8O/c=; b=e3lOijL34eovv2EWHApLs9MDlwYF/iqV2n8radSctIEKzFlrMFAMZSaG3cU3jfi3xF+8fMswLgfsWyCNqLZmIoJhJ+/XWd69ZBIVIZSAdV/Zf5kbFCZzmSF0N5OZkCsWfzjQiL0Wc6FSc0+7iNa+LEujhXVx6z4rAIFrY+ANxOQ= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582397073654.9477925981926; Mon, 3 Jun 2019 10:19:57 -0700 (PDT) Received: from localhost ([127.0.0.1]:38354 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqci-00054W-SS for importer@patchew.org; Mon, 03 Jun 2019 13:19:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43457) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUT-0007Sb-TS for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUQ-0004W8-0a for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:19 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:56171) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUN-0004CC-T8 for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:16 -0400 Received: by mail-wm1-x344.google.com with SMTP id 16so7593955wmg.5 for ; Mon, 03 Jun 2019 10:11:06 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.11.04 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:11:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=uTw9lui1K14b+YilUbfGl6zQd1d28dhhzntF+On8O/c=; b=UlXWP8xO2vUIdmfC2sswxQKXcuO2nlnAZqb1rUAuiNWVRijk3JVaODbH2HVLFGkT5u 7ST4Wvra7CakODk6l8whsONibxf+0jNpZrcc4v4YTWmZrAJNGYDsmMklN6El1Jwg0ZF3 2gm4/Wu/9gHMPRLOTkj5MRgbVr+3NaNLH7ctbBW81eiKjTtek2E9AqrbMM7hw65VjJrK XbvXMUWMVC09qv7S2jjo/pPV7D8wbiOl8qQwH3BFCtFGOHL+9l4mWtwdWcxqIdo1BNUQ vdJLTi0/lWEjYzswd+7IecNepfPut/SgZJwWJE4j4z72HT7WsoM5rCF6ThYTjkMHEoPC kwkQ== 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:subject:date:message-id :in-reply-to:references; bh=uTw9lui1K14b+YilUbfGl6zQd1d28dhhzntF+On8O/c=; b=Pb1a6q4U2pWb24rWHIcw2YM1mq1mmn4G6jgmoSEyCHHANeVhGeCUU0DEytSg4Ehf6c LvctofAsRYwquIssqGnuG9agoX8QtM7Srba1m7CmNwgf3QHoWk8gB/KpOiKLMjIMPM7F Vlsb+W4l1ha1zeL0Hjo6zfKerJcH572ABZ+HJ+x+Ci0DDecpNd/KXWgWF+YGCZ6gSjkJ xgOwJVz8J8C2eOUZ6qIg2YPri6AtRPE1gkE+GDZub/bt5JG1duS8e0axgdeUP8ecy0ld xBAETP2Dih8dvxR/H7bNODyJ+MTUA8+ykw5CErHpdc1yTlkbVaC81CAyxVxwBjDBJQ70 2gIA== X-Gm-Message-State: APjAAAVojzJM/gK+X/V91H6EGjME7U6zoM4EFVzYDYITN6poXJ6CUqtc xWOs2J8XLgDHUmj2lOLYXEi4Gw04 X-Google-Smtp-Source: APXvYqzfFP0+f1jKQ+ACsZNT4iEPE0P9vmroBNDA4hT/V4Pa6aJyHJmOTtYPvuO4UQ3NTjfkIuc8og== X-Received: by 2002:a1c:8017:: with SMTP id b23mr15024428wmd.117.1559581865678; Mon, 03 Jun 2019 10:11:05 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:38 +0200 Message-Id: <1559581843-3968-20-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 Subject: [Qemu-devel] [PULL 19/24] tests: convert OMAP i2c tests to qgraph 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This way, pca9952-test and tmp105-test will run for every machine that exposes an i2c-bus. Signed-off-by: Paolo Bonzini --- tests/Makefile.include | 9 +++------ tests/libqos/i2c-omap.c | 19 ------------------- tests/libqos/i2c.h | 4 ---- tests/pca9552-test.c | 44 +++++++++++++++++++------------------------- tests/tmp105-test.c | 32 ++++++++++++-------------------- 5 files changed, 34 insertions(+), 74 deletions(-) diff --git a/tests/Makefile.include b/tests/Makefile.include index 506181e..0f1ddde 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -255,8 +255,6 @@ check-qtest-sparc64-$(CONFIG_ISA_TESTDEV) =3D tests/end= ianness-test$(EXESUF) check-qtest-sparc64-y +=3D tests/prom-env-test$(EXESUF) check-qtest-sparc64-y +=3D tests/boot-serial-test$(EXESUF) =20 -check-qtest-arm-y +=3D tests/tmp105-test$(EXESUF) -check-qtest-arm-y +=3D tests/pca9552-test$(EXESUF) check-qtest-arm-y +=3D tests/ds1338-test$(EXESUF) check-qtest-arm-y +=3D tests/microbit-test$(EXESUF) check-qtest-arm-y +=3D tests/m25p80-test$(EXESUF) @@ -686,7 +684,6 @@ libqos-spapr-obj-y +=3D tests/libqos/pci-spapr.o libqos-pc-obj-y =3D $(libqos-obj-y) tests/libqos/pci-pc.o libqos-pc-obj-y +=3D tests/libqos/malloc-pc.o tests/libqos/libqos-pc.o libqos-pc-obj-y +=3D tests/libqos/ahci.o -libqos-omap-obj-y =3D $(libqos-obj-y) tests/libqos/i2c-omap.o libqos-imx-obj-y =3D $(libqos-obj-y) tests/libqos/i2c-imx.o libqos-usb-obj-y =3D $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/libqos= /usb.o =20 @@ -695,7 +692,7 @@ qos-test-obj-y =3D tests/qos-test.o $(libqgraph-obj-y) qos-test-obj-y +=3D $(libqos-pc-obj-y) $(libqos-spapr-obj-y) qos-test-obj-y +=3D tests/libqos/e1000e.o qos-test-obj-y +=3D $(libqos-imx-obj-y) -qos-test-obj-y +=3D $(libqos-omap-obj-y) +qos-test-obj-y +=3D tests/libqos/i2c-omap.o qos-test-obj-y +=3D tests/libqos/sdhci.o qos-test-obj-y +=3D tests/libqos/tpci200.o qos-test-obj-y +=3D tests/libqos/virtio.o @@ -731,10 +728,12 @@ qos-test-obj-y +=3D tests/ipoctal232-test.o qos-test-obj-y +=3D tests/megasas-test.o qos-test-obj-y +=3D tests/ne2000-test.o qos-test-obj-y +=3D tests/nvme-test.o +qos-test-obj-y +=3D tests/pca9552-test.o qos-test-obj-y +=3D tests/pci-test.o qos-test-obj-y +=3D tests/pcnet-test.o qos-test-obj-y +=3D tests/sdhci-test.o qos-test-obj-y +=3D tests/spapr-phb-test.o +qos-test-obj-y +=3D tests/tmp105-test.o qos-test-obj-y +=3D tests/usb-hcd-ohci-test.o $(libqos-usb-obj-y) qos-test-obj-$(CONFIG_VHOST_NET_USER) +=3D tests/vhost-user-test.o $(chard= ev-obj-y) $(test-io-obj-y) qos-test-obj-y +=3D tests/virtio-test.o @@ -772,8 +771,6 @@ tests/boot-serial-test$(EXESUF): tests/boot-serial-test= .o $(libqos-obj-y) tests/bios-tables-test$(EXESUF): tests/bios-tables-test.o \ tests/boot-sector.o tests/acpi-utils.o $(libqos-obj-y) tests/pxe-test$(EXESUF): tests/pxe-test.o tests/boot-sector.o $(libqos-obj= -y) -tests/tmp105-test$(EXESUF): tests/tmp105-test.o $(libqos-omap-obj-y) -tests/pca9552-test$(EXESUF): tests/pca9552-test.o $(libqos-omap-obj-y) tests/ds1338-test$(EXESUF): tests/ds1338-test.o $(libqos-imx-obj-y) tests/microbit-test$(EXESUF): tests/microbit-test.o tests/m25p80-test$(EXESUF): tests/m25p80-test.o diff --git a/tests/libqos/i2c-omap.c b/tests/libqos/i2c-omap.c index f949564..9ae8214 100644 --- a/tests/libqos/i2c-omap.c +++ b/tests/libqos/i2c-omap.c @@ -187,25 +187,6 @@ void omap_i2c_init(OMAPI2C *s, QTestState *qts, uint64= _t addr) s->parent.qts =3D qts; } =20 -I2CAdapter *omap_i2c_create(QTestState *qts, uint64_t addr) -{ - OMAPI2C *s =3D g_malloc0(sizeof(*s)); - - omap_i2c_init(s, qts, addr); - return &s->parent; -} - -void omap_i2c_free(I2CAdapter *i2c) -{ - OMAPI2C *s; - - if (!i2c) { - return; - } - s =3D container_of(i2c, OMAPI2C, parent); - g_free(s); -} - static void omap_i2c_register_nodes(void) { qos_node_create_driver("omap_i2c", NULL); diff --git a/tests/libqos/i2c.h b/tests/libqos/i2c.h index 0107cfc..66b0e0d 100644 --- a/tests/libqos/i2c.h +++ b/tests/libqos/i2c.h @@ -38,8 +38,6 @@ struct QI2CDevice { I2CAdapter *bus; }; =20 -#define OMAP2_I2C_1_BASE 0x48070000 - void *i2c_device_create(void *i2c_bus, QGuestAllocator *alloc, void *addr); =20 void i2c_send(I2CAdapter *i2c, uint8_t addr, @@ -67,8 +65,6 @@ typedef struct OMAPI2C { } OMAPI2C; =20 void omap_i2c_init(OMAPI2C *s, QTestState *qts, uint64_t addr); -I2CAdapter *omap_i2c_create(QTestState *qts, uint64_t addr); -void omap_i2c_free(I2CAdapter *i2c); =20 /* i2c-imx.c */ typedef struct IMXI2C { diff --git a/tests/pca9552-test.c b/tests/pca9552-test.c index f950932..0598d0b 100644 --- a/tests/pca9552-test.c +++ b/tests/pca9552-test.c @@ -10,23 +10,26 @@ #include "qemu/osdep.h" =20 #include "libqtest.h" +#include "libqos/qgraph.h" #include "libqos/i2c.h" #include "hw/misc/pca9552_regs.h" =20 #define PCA9552_TEST_ID "pca9552-test" #define PCA9552_TEST_ADDR 0x60 =20 -static I2CAdapter *i2c; - -static void pca9552_init(I2CAdapter *i2c) +static void pca9552_init(QI2CDevice *i2cdev) { + I2CAdapter *i2c =3D i2cdev->bus; + /* Switch on LEDs 0 and 12 */ i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0, 0x54); i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3, 0x54); } =20 -static void receive_autoinc(void) +static void receive_autoinc(void *obj, void *data, QGuestAllocator *alloc) { + QI2CDevice *i2cdev =3D (QI2CDevice *)obj; + I2CAdapter *i2c =3D i2cdev->bus; uint8_t resp; uint8_t reg =3D PCA9552_LS0 | PCA9552_AUTOINC; =20 @@ -51,8 +54,10 @@ static void receive_autoinc(void) g_assert_cmphex(resp, =3D=3D, 0x54); } =20 -static void send_and_receive(void) +static void send_and_receive(void *obj, void *data, QGuestAllocator *alloc) { + QI2CDevice *i2cdev =3D (QI2CDevice *)obj; + I2CAdapter *i2c =3D i2cdev->bus; uint8_t value; =20 value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0); @@ -76,27 +81,16 @@ static void send_and_receive(void) g_assert_cmphex(value, =3D=3D, 0x10); } =20 -int main(int argc, char **argv) +static void pca9552_register_nodes(void) { - QTestState *s =3D NULL; - int ret; - - g_test_init(&argc, &argv, NULL); - - s =3D qtest_start("-machine n800 " - "-device pca9552,bus=3Di2c-bus.0,id=3D" PCA9552_TEST_ID - ",address=3D0x60"); - i2c =3D omap_i2c_create(s, OMAP2_I2C_1_BASE); - - qtest_add_func("/pca9552/tx-rx", send_and_receive); - qtest_add_func("/pca9552/rx-autoinc", receive_autoinc); - - ret =3D g_test_run(); + QOSGraphEdgeOptions opts =3D { + .extra_device_opts =3D "address=3D0x60" + }; =20 - if (s) { - qtest_quit(s); - } - omap_i2c_free(i2c); + qos_node_create_driver("pca9552", i2c_device_create); + qos_node_consumes("pca9552", "i2c-bus", &opts); =20 - return ret; + qos_add_test("tx-rx", "pca9552", send_and_receive, NULL); + qos_add_test("rx-autoinc", "pca9552", receive_autoinc, NULL); } +libqos_init(pca9552_register_nodes); diff --git a/tests/tmp105-test.c b/tests/tmp105-test.c index 25ea05f..40318763 100644 --- a/tests/tmp105-test.c +++ b/tests/tmp105-test.c @@ -10,6 +10,7 @@ #include "qemu/osdep.h" =20 #include "libqtest.h" +#include "libqos/qgraph.h" #include "libqos/i2c.h" #include "qapi/qmp/qdict.h" #include "hw/misc/tmp105_regs.h" @@ -17,8 +18,6 @@ #define TMP105_TEST_ID "tmp105-test" #define TMP105_TEST_ADDR 0x49 =20 -static I2CAdapter *i2c; - static int qmp_tmp105_get_temperature(const char *id) { QDict *response; @@ -43,9 +42,11 @@ static void qmp_tmp105_set_temperature(const char *id, i= nt value) } =20 #define TMP105_PRECISION (1000/16) -static void send_and_receive(void) +static void send_and_receive(void *obj, void *data, QGuestAllocator *alloc) { uint16_t value; + QI2CDevice *i2cdev =3D (QI2CDevice *)obj; + I2CAdapter *i2c =3D i2cdev->bus; =20 value =3D qmp_tmp105_get_temperature(TMP105_TEST_ID); g_assert_cmpuint(value, =3D=3D, 0); @@ -105,24 +106,15 @@ static void send_and_receive(void) g_assert_cmphex(i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_T_HIGH), = =3D=3D, 0x4231); } =20 -int main(int argc, char **argv) +static void tmp105_register_nodes(void) { - QTestState *s =3D NULL; - int ret; - - g_test_init(&argc, &argv, NULL); - - s =3D qtest_start("-machine n800 " - "-device tmp105,bus=3Di2c-bus.0,id=3D" TMP105_TEST_ID - ",address=3D0x49"); - i2c =3D omap_i2c_create(s, OMAP2_I2C_1_BASE); + QOSGraphEdgeOptions opts =3D { + .extra_device_opts =3D "id=3D" TMP105_TEST_ID ",address=3D0x49" + }; =20 - qtest_add_func("/tmp105/tx-rx", send_and_receive); + qos_node_create_driver("tmp105", i2c_device_create); + qos_node_consumes("tmp105", "i2c-bus", &opts); =20 - ret =3D g_test_run(); - - qtest_quit(s); - omap_i2c_free(i2c); - - return ret; + qos_add_test("tx-rx", "tmp105", send_and_receive, NULL); } +libqos_init(tmp105_register_nodes); --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582467; cv=none; d=zoho.com; s=zohoarc; b=m+Y+BPXwLf+H5D1mGYZmrowTkNRUGXT6vmC/w4BmNrHSkhAsgs4N5Lxlo2D8Iw0t2sMvvg3KitWJLVYleONSwzTvZQqn3+laL3qCt14bNx0mqcAtmluz1PQEeoEEkqGqzlqn2NVjqFedEB0+ZbdnG9KSAt023wa/v6e5a80D8s0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582467; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=h9pzJqBxd1kk+NLb46bmp/qSs2GUDyrQqgzMDq+2xko=; b=E6UybTJQ/j4h+d32YhfrTXWoxAhHTkoHfKifbKfKzv08jwFyhtoGvpoeOa2l0HJZ/zR41qC2NmdcNgggqBf5xn3+L74NOR0UshXITP9UzP3x4JmFf5OaBQV5bRdmVD4tPArFHcaP1EBt7YNe6XzZkV0FIlxXuDhPqD38h+PEI0g= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582467750973.8277775937321; Mon, 3 Jun 2019 10:21:07 -0700 (PDT) Received: from localhost ([127.0.0.1]:38385 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqdo-0005rH-Jg for importer@patchew.org; Mon, 03 Jun 2019 13:21:00 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43337) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUN-0007In-Pv for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUL-0004Oo-RS for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:15 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:52202) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUK-0004Dk-3D for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:13 -0400 Received: by mail-wm1-x332.google.com with SMTP id f10so12032738wmb.1 for ; Mon, 03 Jun 2019 10:11:08 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.11.05 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:11:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=h9pzJqBxd1kk+NLb46bmp/qSs2GUDyrQqgzMDq+2xko=; b=hj7e8FEFqKcjeeUtbFPHKlavoi+VdSRPx1eo1J/nNba+Qu8/fm/x5fxagN5We+fnJG LFxGNQkYuc+uBCf6/ygC5CdaL4luMYIZbaghVEgsIiSoPiYMQVAlS6Xm9VnzfUfCAKr/ /9SYqLkbhuYNy6Pv6rdcZbrwiJvJw1fjJu4Rm3Fhjk7KaGaRi0adsuerJc3Zb6IbP5jQ d1qMoCTsazk57rxFjWs48LT8ufUvQAYjsR9pTElSPwvmg597F+4R8jRdYe01cynhzBLH F6I92gcGeG8FLkfg32Gc1NFBoJB/sauU+/mbu39xIPSLUzFEAuZBO+m2a4kfXM65DmTv xMOw== 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:subject:date:message-id :in-reply-to:references; bh=h9pzJqBxd1kk+NLb46bmp/qSs2GUDyrQqgzMDq+2xko=; b=SbUqemZEpIbkUudE9jSvkpTRkZpvYFpa1yjuAOxDWKCWFh8tnDngB7jS3hrlPfLHNe VbV5EQREmitAlRRVPKevCUXFL+XcbWrc+Gora9a2MOU0g7eCHlY6JNKyGf3DggjTalNN C/Ffd+iHkiq1B/wdwd1tIDcRZXTem0SdxsKa1uK29L8M3OiYNw4g15BWFBegUzwy08XC H8cY20d51P/vKMHqgpoE7/qt97nWzyO2cI0nKzL+gFLbYZWQsqjLhx+dbiQDbI5VMrW3 AUb9YdkUcNRsAlFM04LtFq2VfONgn2ASS/x/TG3THzaRJT2sOmzv5L7b8GaFTVGD2orY 2ugw== X-Gm-Message-State: APjAAAXKPkl2A8Z28NpCg9DKonX4RCzMm1WI6hC6GesIJ7Tz99nGb2Kh AuyrXgnqFietLQv0VqSUNZNXTWJg X-Google-Smtp-Source: APXvYqxffzkArju12RGf1wqQQhU3KLhy9sC8RcZGSHNDaOQrTt6BTvnoJzaXeS1AKWceb2y2pJhLhQ== X-Received: by 2002:a05:600c:2182:: with SMTP id e2mr11000461wme.55.1559581866680; Mon, 03 Jun 2019 10:11:06 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:39 +0200 Message-Id: <1559581843-3968-21-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::332 Subject: [Qemu-devel] [PULL 20/24] tests: convert ds1338-test to qtest 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This way, ds1338-test will run for every machine that exposes an i2c-bus. Signed-off-by: Paolo Bonzini --- tests/Makefile.include | 9 ++++----- tests/ds1338-test.c | 37 +++++++++++++------------------------ tests/libqos/i2c-imx.c | 19 ------------------- tests/libqos/i2c.h | 2 -- 4 files changed, 17 insertions(+), 50 deletions(-) diff --git a/tests/Makefile.include b/tests/Makefile.include index 0f1ddde..46a36c2 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -255,7 +255,6 @@ check-qtest-sparc64-$(CONFIG_ISA_TESTDEV) =3D tests/end= ianness-test$(EXESUF) check-qtest-sparc64-y +=3D tests/prom-env-test$(EXESUF) check-qtest-sparc64-y +=3D tests/boot-serial-test$(EXESUF) =20 -check-qtest-arm-y +=3D tests/ds1338-test$(EXESUF) check-qtest-arm-y +=3D tests/microbit-test$(EXESUF) check-qtest-arm-y +=3D tests/m25p80-test$(EXESUF) check-qtest-arm-y +=3D tests/test-arm-mptimer$(EXESUF) @@ -676,7 +675,7 @@ libqgraph-obj-y =3D tests/libqos/qgraph.o =20 libqos-obj-y =3D $(libqgraph-obj-y) tests/libqos/pci.o tests/libqos/fw_cfg= .o libqos-obj-y +=3D tests/libqos/malloc.o -libqos-obj-y +=3D tests/libqos/i2c.o tests/libqos/libqos.o +libqos-obj-y +=3D tests/libqos/libqos.o libqos-spapr-obj-y =3D $(libqos-obj-y) tests/libqos/malloc-spapr.o libqos-spapr-obj-y +=3D tests/libqos/libqos-spapr.o libqos-spapr-obj-y +=3D tests/libqos/rtas.o @@ -684,14 +683,14 @@ libqos-spapr-obj-y +=3D tests/libqos/pci-spapr.o libqos-pc-obj-y =3D $(libqos-obj-y) tests/libqos/pci-pc.o libqos-pc-obj-y +=3D tests/libqos/malloc-pc.o tests/libqos/libqos-pc.o libqos-pc-obj-y +=3D tests/libqos/ahci.o -libqos-imx-obj-y =3D $(libqos-obj-y) tests/libqos/i2c-imx.o libqos-usb-obj-y =3D $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/libqos= /usb.o =20 # Devices qos-test-obj-y =3D tests/qos-test.o $(libqgraph-obj-y) qos-test-obj-y +=3D $(libqos-pc-obj-y) $(libqos-spapr-obj-y) qos-test-obj-y +=3D tests/libqos/e1000e.o -qos-test-obj-y +=3D $(libqos-imx-obj-y) +qos-test-obj-y +=3D tests/libqos/i2c.o +qos-test-obj-y +=3D tests/libqos/i2c-imx.o qos-test-obj-y +=3D tests/libqos/i2c-omap.o qos-test-obj-y +=3D tests/libqos/sdhci.o qos-test-obj-y +=3D tests/libqos/tpci200.o @@ -720,6 +719,7 @@ qos-test-obj-y +=3D tests/libqos/x86_64_pc-machine.o =20 # Tests qos-test-obj-y +=3D tests/ac97-test.o +qos-test-obj-y +=3D tests/ds1338-test.o qos-test-obj-y +=3D tests/e1000-test.o qos-test-obj-y +=3D tests/e1000e-test.o qos-test-obj-y +=3D tests/eepro100-test.o @@ -771,7 +771,6 @@ tests/boot-serial-test$(EXESUF): tests/boot-serial-test= .o $(libqos-obj-y) tests/bios-tables-test$(EXESUF): tests/bios-tables-test.o \ tests/boot-sector.o tests/acpi-utils.o $(libqos-obj-y) tests/pxe-test$(EXESUF): tests/pxe-test.o tests/boot-sector.o $(libqos-obj= -y) -tests/ds1338-test$(EXESUF): tests/ds1338-test.o $(libqos-imx-obj-y) tests/microbit-test$(EXESUF): tests/microbit-test.o tests/m25p80-test$(EXESUF): tests/m25p80-test.o tests/i440fx-test$(EXESUF): tests/i440fx-test.o $(libqos-pc-obj-y) diff --git a/tests/ds1338-test.c b/tests/ds1338-test.c index bd72a15..fd8fbad 100644 --- a/tests/ds1338-test.c +++ b/tests/ds1338-test.c @@ -21,25 +21,23 @@ #include "libqtest.h" #include "libqos/i2c.h" =20 -#define IMX25_I2C_0_BASE 0x43F80000 - #define DS1338_ADDR 0x68 =20 -static I2CAdapter *i2c; -static uint8_t addr; - static inline uint8_t bcd2bin(uint8_t x) { return ((x) & 0x0f) + ((x) >> 4) * 10; } =20 -static void send_and_receive(void) +static void send_and_receive(void *obj, void *data, QGuestAllocator *alloc) { + QI2CDevice *i2cdev =3D (QI2CDevice *)obj; + I2CAdapter *i2c =3D i2cdev->bus; + uint8_t resp[7]; time_t now =3D time(NULL); struct tm *tm_ptr =3D gmtime(&now); =20 - i2c_read_block(i2c, addr, 0, resp, sizeof(resp)); + i2c_read_block(i2c, DS1338_ADDR, 0, resp, sizeof(resp)); =20 /* check retrieved time againt local time */ g_assert_cmpuint(bcd2bin(resp[4]), =3D=3D , tm_ptr->tm_mday); @@ -47,23 +45,14 @@ static void send_and_receive(void) g_assert_cmpuint(2000 + bcd2bin(resp[6]), =3D=3D , 1900 + tm_ptr->tm_y= ear); } =20 -int main(int argc, char **argv) +static void ds1338_register_nodes(void) { - QTestState *s =3D NULL; - int ret; - - g_test_init(&argc, &argv, NULL); - - s =3D qtest_start("-display none -machine imx25-pdk -device ds1338,add= ress=3D0x68"); - i2c =3D imx_i2c_create(s, IMX25_I2C_0_BASE); - addr =3D DS1338_ADDR; - - qtest_add_func("/ds1338/tx-rx", send_and_receive); - - ret =3D g_test_run(); - - qtest_quit(s); - g_free(i2c); + QOSGraphEdgeOptions opts =3D { + .extra_device_opts =3D "address=3D0x68" + }; =20 - return ret; + qos_node_create_driver("ds1338", i2c_device_create); + qos_node_consumes("ds1338", "i2c-bus", &opts); + qos_add_test("tx-rx", "ds1338", send_and_receive, NULL); } +libqos_init(ds1338_register_nodes); diff --git a/tests/libqos/i2c-imx.c b/tests/libqos/i2c-imx.c index 86d84a7..f33ece5 100644 --- a/tests/libqos/i2c-imx.c +++ b/tests/libqos/i2c-imx.c @@ -207,25 +207,6 @@ void imx_i2c_init(IMXI2C *s, QTestState *qts, uint64_t= addr) s->parent.qts =3D qts; } =20 -I2CAdapter *imx_i2c_create(QTestState *qts, uint64_t addr) -{ - IMXI2C *s =3D g_malloc0(sizeof(*s)); - - imx_i2c_init(s, qts, addr); - return &s->parent; -} - -void imx_i2c_free(I2CAdapter *i2c) -{ - IMXI2C *s; - - if (!i2c) { - return; - } - s =3D container_of(i2c, IMXI2C, parent); - g_free(s); -} - static void imx_i2c_register_nodes(void) { qos_node_create_driver("imx.i2c", NULL); diff --git a/tests/libqos/i2c.h b/tests/libqos/i2c.h index 66b0e0d..2c8cc3e 100644 --- a/tests/libqos/i2c.h +++ b/tests/libqos/i2c.h @@ -75,7 +75,5 @@ typedef struct IMXI2C { } IMXI2C; =20 void imx_i2c_init(IMXI2C *s, QTestState *qts, uint64_t addr); -I2CAdapter *imx_i2c_create(QTestState *qts, uint64_t addr); -void imx_i2c_free(I2CAdapter *i2c); =20 #endif --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582208; cv=none; d=zoho.com; s=zohoarc; b=Fpyqzy8AAgBcygbduuYkd88C6aL8rpxHZGSkqtBR8VlovkEFxNG4E4t6mMgq45oW9WD1qxJ+Xt6JWEMFndqFma793xmjyA63+TkA/IF0xF57YiODDR796dL504ZIpJVcXLRe7a03Hw9XuxK6DLtM3Hn5vW19HstHO2Budb+yEh8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582208; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=OCnCbQhO61/vRWDJ8AvVMz35F+DknibMXLjAc1BFL1E=; b=ADBctgpMRj3x86esKNnn4grDzHd9WmvGunpJLQQmSwe4+bQSNsG+GsbMXSgNVGwwfZhxntbrrEJmRBupgHqY4yUPvaYIz2DVCDx81ljsbZsyX0ynL5trJi/GY2/gFbD1jayq8Bw8Tgg388KDeQYHgy2DNI/LYBvF8d71a8w+ZlU= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 155958220800810.515905758612234; Mon, 3 Jun 2019 10:16:48 -0700 (PDT) Received: from localhost ([127.0.0.1]:38329 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqZG-0002Oh-4f for importer@patchew.org; Mon, 03 Jun 2019 13:16:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43386) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUQ-0007LL-2I for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUN-0004SK-ST for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:17 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:52020) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUL-0004Fd-Q2 for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:15 -0400 Received: by mail-wm1-x343.google.com with SMTP id f10so12032812wmb.1 for ; Mon, 03 Jun 2019 10:11:09 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.11.06 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:11:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=OCnCbQhO61/vRWDJ8AvVMz35F+DknibMXLjAc1BFL1E=; b=D81g9cSoyRGsISBVmg/BOqx7IMNsebeVQpAfm10fUneA3U6ZEjccJpy/yNFRqzSJuz 55QwGzKvUipmWUr9FeYO0s1jVnwbcwNpWN0Ab3EeOM8PYKWMKD8tR+5Kt7wLbN6i5Ic9 YL8PLL/F27rkGmUP171gMJ89Xi3jeCSv5Wqwfx0sS/DoJoxHvjVYqqCHcywelYDz4D8Z tH8ojA3xs0aHIbeJOjajPcfw2BQN/4NYqf9r/P2Tx1itiqYaeEtJNrvngiWtzDA0mWPT xjhHqK4XvWdiNDvxUGJvImgHN+eGFTn3Kci/BV1qWCa2QxL9KP7F8LRQO2bLfy2lslRv 9fzA== 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:subject:date:message-id :in-reply-to:references; bh=OCnCbQhO61/vRWDJ8AvVMz35F+DknibMXLjAc1BFL1E=; b=snPA3DRTKDabquqSQeHyuEdOIWsll8Z5j67hDADdp1orQ6zEh8OBX5jGORC3ojfAHI rLlTLk1lW0aAVxtpYqH9vgaW3u2D0xuWZaFiv/cVgP1saPLVwAFYGKYihzIM1TATL7FL VZiwnUsgQ5iIfS0quKxclCAxYmr+GQjiPFgtmUe4nxKRymhtaJsSQaUSNykTyIAp1fFa oOxBpttHvak+scn7FG4Gm1vbV8t6jlgZitD5hfu2DtJ5KRyvdmAEY9H7/0+KXGas1NcQ 0cOSrqBBH4c6+73BJb9N4k6+4zMqmGUfdxpeKf8UD5vvY7trhQfQROjREg0CdL4LSB1i ZkQg== X-Gm-Message-State: APjAAAWlBfXuwEfkICRyN+XBoa3bf0P1KAf+S7b6D9QRxOSYgyI7OWKd FnAKjsXIXm2I2fFn4/u6fH4+a/C6 X-Google-Smtp-Source: APXvYqwC7e4iB9ldoQOLWAmZva6erL6IMCtLdAIlGJ1ad4YOONh2REUuPrgX5WfaiFYlJdUbhVoSpw== X-Received: by 2002:a1c:ab42:: with SMTP id u63mr15546580wme.130.1559581867694; Mon, 03 Jun 2019 10:11:07 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:40 +0200 Message-Id: <1559581843-3968-22-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::343 Subject: [Qemu-devel] [PULL 21/24] libqos: i2c: move address into QI2CDevice 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This removes the hardcoded I2C address from the tests. The address is passed via QOSGraphEdgeOptions to i2c_device_create and stored in the QI2CDevice. The i2c_send and i2c_recv functions, along with their wrappers, therefore, can be changed to take a QI2CDevice rather than an adapter/address pair. Signed-off-by: Paolo Bonzini --- tests/ds1338-test.c | 4 ++-- tests/libqos/i2c.c | 51 +++++++++++++++++++++++++++++-------------------= --- tests/libqos/i2c.h | 27 +++++++++++++++------------ tests/pca9552-test.c | 31 ++++++++++++++----------------- tests/tmp105-test.c | 44 ++++++++++++++++++++++---------------------- 5 files changed, 82 insertions(+), 75 deletions(-) diff --git a/tests/ds1338-test.c b/tests/ds1338-test.c index fd8fbad..f6ade9a 100644 --- a/tests/ds1338-test.c +++ b/tests/ds1338-test.c @@ -31,13 +31,12 @@ static inline uint8_t bcd2bin(uint8_t x) static void send_and_receive(void *obj, void *data, QGuestAllocator *alloc) { QI2CDevice *i2cdev =3D (QI2CDevice *)obj; - I2CAdapter *i2c =3D i2cdev->bus; =20 uint8_t resp[7]; time_t now =3D time(NULL); struct tm *tm_ptr =3D gmtime(&now); =20 - i2c_read_block(i2c, DS1338_ADDR, 0, resp, sizeof(resp)); + i2c_read_block(i2cdev, 0, resp, sizeof(resp)); =20 /* check retrieved time againt local time */ g_assert_cmpuint(bcd2bin(resp[4]), =3D=3D , tm_ptr->tm_mday); @@ -50,6 +49,7 @@ static void ds1338_register_nodes(void) QOSGraphEdgeOptions opts =3D { .extra_device_opts =3D "address=3D0x68" }; + add_qi2c_address(&opts, &(QI2CAddress) { DS1338_ADDR }); =20 qos_node_create_driver("ds1338", i2c_device_create); qos_node_consumes("ds1338", "i2c-bus", &opts); diff --git a/tests/libqos/i2c.c b/tests/libqos/i2c.c index 8117d13..156114e 100644 --- a/tests/libqos/i2c.c +++ b/tests/libqos/i2c.c @@ -10,63 +10,59 @@ #include "libqos/i2c.h" #include "libqtest.h" =20 -void i2c_send(I2CAdapter *i2c, uint8_t addr, - const uint8_t *buf, uint16_t len) +void i2c_send(QI2CDevice *i2cdev, const uint8_t *buf, uint16_t len) { - i2c->send(i2c, addr, buf, len); + i2cdev->bus->send(i2cdev->bus, i2cdev->addr, buf, len); } =20 -void i2c_recv(I2CAdapter *i2c, uint8_t addr, - uint8_t *buf, uint16_t len) +void i2c_recv(QI2CDevice *i2cdev, uint8_t *buf, uint16_t len) { - i2c->recv(i2c, addr, buf, len); + i2cdev->bus->recv(i2cdev->bus, i2cdev->addr, buf, len); } =20 -void i2c_read_block(I2CAdapter *i2c, uint8_t addr, uint8_t reg, - uint8_t *buf, uint16_t len) +void i2c_read_block(QI2CDevice *i2cdev, uint8_t reg, + uint8_t *buf, uint16_t len) { - i2c_send(i2c, addr, ®, 1); - i2c_recv(i2c, addr, buf, len); + i2c_send(i2cdev, ®, 1); + i2c_recv(i2cdev, buf, len); } =20 -void i2c_write_block(I2CAdapter *i2c, uint8_t addr, uint8_t reg, +void i2c_write_block(QI2CDevice *i2cdev, uint8_t reg, const uint8_t *buf, uint16_t len) { uint8_t *cmd =3D g_malloc(len + 1); cmd[0] =3D reg; memcpy(&cmd[1], buf, len); - i2c_send(i2c, addr, cmd, len + 1); + i2c_send(i2cdev, cmd, len + 1); g_free(cmd); } =20 -uint8_t i2c_get8(I2CAdapter *i2c, uint8_t addr, uint8_t reg) +uint8_t i2c_get8(QI2CDevice *i2cdev, uint8_t reg) { uint8_t resp[1]; - i2c_read_block(i2c, addr, reg, resp, sizeof(resp)); + i2c_read_block(i2cdev, reg, resp, sizeof(resp)); return resp[0]; } =20 -uint16_t i2c_get16(I2CAdapter *i2c, uint8_t addr, uint8_t reg) +uint16_t i2c_get16(QI2CDevice *i2cdev, uint8_t reg) { uint8_t resp[2]; - i2c_read_block(i2c, addr, reg, resp, sizeof(resp)); + i2c_read_block(i2cdev, reg, resp, sizeof(resp)); return (resp[0] << 8) | resp[1]; } =20 -void i2c_set8(I2CAdapter *i2c, uint8_t addr, uint8_t reg, - uint8_t value) +void i2c_set8(QI2CDevice *i2cdev, uint8_t reg, uint8_t value) { - i2c_write_block(i2c, addr, reg, &value, 1); + i2c_write_block(i2cdev, reg, &value, 1); } =20 -void i2c_set16(I2CAdapter *i2c, uint8_t addr, uint8_t reg, - uint16_t value) +void i2c_set16(QI2CDevice *i2cdev, uint8_t reg, uint16_t value) { uint8_t data[2]; =20 data[0] =3D value >> 8; data[1] =3D value & 255; - i2c_write_block(i2c, addr, reg, data, sizeof(data)); + i2c_write_block(i2cdev, reg, data, sizeof(data)); } =20 void *i2c_device_create(void *i2c_bus, QGuestAllocator *alloc, void *addr) @@ -74,5 +70,16 @@ void *i2c_device_create(void *i2c_bus, QGuestAllocator *= alloc, void *addr) QI2CDevice *i2cdev =3D g_new0(QI2CDevice, 1); =20 i2cdev->bus =3D i2c_bus; + if (addr) { + i2cdev->addr =3D ((QI2CAddress *)addr)->addr; + } return &i2cdev->obj; } + +void add_qi2c_address(QOSGraphEdgeOptions *opts, QI2CAddress *addr) +{ + g_assert(addr); + + opts->arg =3D addr; + opts->size_arg =3D sizeof(QI2CAddress); +} diff --git a/tests/libqos/i2c.h b/tests/libqos/i2c.h index 2c8cc3e..945b65b 100644 --- a/tests/libqos/i2c.h +++ b/tests/libqos/i2c.h @@ -22,6 +22,11 @@ struct I2CAdapter { QTestState *qts; }; =20 +typedef struct QI2CAddress QI2CAddress; +struct QI2CAddress { + uint8_t addr; +}; + typedef struct QI2CDevice QI2CDevice; struct QI2CDevice { /* @@ -36,25 +41,23 @@ struct QI2CDevice { */ QOSGraphObject obj; I2CAdapter *bus; + uint8_t addr; }; =20 void *i2c_device_create(void *i2c_bus, QGuestAllocator *alloc, void *addr); +void add_qi2c_address(QOSGraphEdgeOptions *opts, QI2CAddress *addr); =20 -void i2c_send(I2CAdapter *i2c, uint8_t addr, - const uint8_t *buf, uint16_t len); -void i2c_recv(I2CAdapter *i2c, uint8_t addr, - uint8_t *buf, uint16_t len); +void i2c_send(QI2CDevice *dev, const uint8_t *buf, uint16_t len); +void i2c_recv(QI2CDevice *dev, uint8_t *buf, uint16_t len); =20 -void i2c_read_block(I2CAdapter *i2c, uint8_t addr, uint8_t reg, +void i2c_read_block(QI2CDevice *dev, uint8_t reg, uint8_t *buf, uint16_t len); -void i2c_write_block(I2CAdapter *i2c, uint8_t addr, uint8_t reg, +void i2c_write_block(QI2CDevice *dev, uint8_t reg, const uint8_t *buf, uint16_t len); -uint8_t i2c_get8(I2CAdapter *i2c, uint8_t addr, uint8_t reg); -uint16_t i2c_get16(I2CAdapter *i2c, uint8_t addr, uint8_t reg); -void i2c_set8(I2CAdapter *i2c, uint8_t addr, uint8_t reg, - uint8_t value); -void i2c_set16(I2CAdapter *i2c, uint8_t addr, uint8_t reg, - uint16_t value); +uint8_t i2c_get8(QI2CDevice *dev, uint8_t reg); +uint16_t i2c_get16(QI2CDevice *dev, uint8_t reg); +void i2c_set8(QI2CDevice *dev, uint8_t reg, uint8_t value); +void i2c_set16(QI2CDevice *dev, uint8_t reg, uint16_t value); =20 /* i2c-omap.c */ typedef struct OMAPI2C { diff --git a/tests/pca9552-test.c b/tests/pca9552-test.c index 0598d0b..4b800d3 100644 --- a/tests/pca9552-test.c +++ b/tests/pca9552-test.c @@ -19,65 +19,61 @@ =20 static void pca9552_init(QI2CDevice *i2cdev) { - I2CAdapter *i2c =3D i2cdev->bus; - /* Switch on LEDs 0 and 12 */ - i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0, 0x54); - i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3, 0x54); + i2c_set8(i2cdev, PCA9552_LS0, 0x54); + i2c_set8(i2cdev, PCA9552_LS3, 0x54); } =20 static void receive_autoinc(void *obj, void *data, QGuestAllocator *alloc) { QI2CDevice *i2cdev =3D (QI2CDevice *)obj; - I2CAdapter *i2c =3D i2cdev->bus; uint8_t resp; uint8_t reg =3D PCA9552_LS0 | PCA9552_AUTOINC; =20 pca9552_init(i2cdev); =20 - i2c_send(i2c, PCA9552_TEST_ADDR, ®, 1); + i2c_send(i2cdev, ®, 1); =20 /* PCA9552_LS0 */ - i2c_recv(i2c, PCA9552_TEST_ADDR, &resp, 1); + i2c_recv(i2cdev, &resp, 1); g_assert_cmphex(resp, =3D=3D, 0x54); =20 /* PCA9552_LS1 */ - i2c_recv(i2c, PCA9552_TEST_ADDR, &resp, 1); + i2c_recv(i2cdev, &resp, 1); g_assert_cmphex(resp, =3D=3D, 0x55); =20 /* PCA9552_LS2 */ - i2c_recv(i2c, PCA9552_TEST_ADDR, &resp, 1); + i2c_recv(i2cdev, &resp, 1); g_assert_cmphex(resp, =3D=3D, 0x55); =20 /* PCA9552_LS3 */ - i2c_recv(i2c, PCA9552_TEST_ADDR, &resp, 1); + i2c_recv(i2cdev, &resp, 1); g_assert_cmphex(resp, =3D=3D, 0x54); } =20 static void send_and_receive(void *obj, void *data, QGuestAllocator *alloc) { QI2CDevice *i2cdev =3D (QI2CDevice *)obj; - I2CAdapter *i2c =3D i2cdev->bus; uint8_t value; =20 - value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0); + value =3D i2c_get8(i2cdev, PCA9552_LS0); g_assert_cmphex(value, =3D=3D, 0x55); =20 - value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT0); + value =3D i2c_get8(i2cdev, PCA9552_INPUT0); g_assert_cmphex(value, =3D=3D, 0x0); =20 pca9552_init(i2cdev); =20 - value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0); + value =3D i2c_get8(i2cdev, PCA9552_LS0); g_assert_cmphex(value, =3D=3D, 0x54); =20 - value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT0); + value =3D i2c_get8(i2cdev, PCA9552_INPUT0); g_assert_cmphex(value, =3D=3D, 0x01); =20 - value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3); + value =3D i2c_get8(i2cdev, PCA9552_LS3); g_assert_cmphex(value, =3D=3D, 0x54); =20 - value =3D i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT1); + value =3D i2c_get8(i2cdev, PCA9552_INPUT1); g_assert_cmphex(value, =3D=3D, 0x10); } =20 @@ -86,6 +82,7 @@ static void pca9552_register_nodes(void) QOSGraphEdgeOptions opts =3D { .extra_device_opts =3D "address=3D0x60" }; + add_qi2c_address(&opts, &(QI2CAddress) { 0x60 }); =20 qos_node_create_driver("pca9552", i2c_device_create); qos_node_consumes("pca9552", "i2c-bus", &opts); diff --git a/tests/tmp105-test.c b/tests/tmp105-test.c index 40318763..f599309 100644 --- a/tests/tmp105-test.c +++ b/tests/tmp105-test.c @@ -46,19 +46,18 @@ static void send_and_receive(void *obj, void *data, QGu= estAllocator *alloc) { uint16_t value; QI2CDevice *i2cdev =3D (QI2CDevice *)obj; - I2CAdapter *i2c =3D i2cdev->bus; =20 value =3D qmp_tmp105_get_temperature(TMP105_TEST_ID); g_assert_cmpuint(value, =3D=3D, 0); =20 - value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + value =3D i2c_get16(i2cdev, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0); =20 qmp_tmp105_set_temperature(TMP105_TEST_ID, 20000); value =3D qmp_tmp105_get_temperature(TMP105_TEST_ID); g_assert_cmpuint(value, =3D=3D, 20000); =20 - value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + value =3D i2c_get16(i2cdev, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x1400); =20 qmp_tmp105_set_temperature(TMP105_TEST_ID, 20938); /* 20 + 15/16 */ @@ -67,27 +66,27 @@ static void send_and_receive(void *obj, void *data, QGu= estAllocator *alloc) g_assert_cmpuint(value, <, 20938 + TMP105_PRECISION/2); =20 /* Set config */ - i2c_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x60); - value =3D i2c_get8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG); + i2c_set8(i2cdev, TMP105_REG_CONFIG, 0x60); + value =3D i2c_get8(i2cdev, TMP105_REG_CONFIG); g_assert_cmphex(value, =3D=3D, 0x60); =20 - value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + value =3D i2c_get16(i2cdev, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x14f0); =20 /* Set precision to 9, 10, 11 bits. */ - i2c_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x00); - g_assert_cmphex(i2c_get8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG), = =3D=3D, 0x00); - value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + i2c_set8(i2cdev, TMP105_REG_CONFIG, 0x00); + g_assert_cmphex(i2c_get8(i2cdev, TMP105_REG_CONFIG), =3D=3D, 0x00); + value =3D i2c_get16(i2cdev, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x1480); =20 - i2c_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x20); - g_assert_cmphex(i2c_get8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG), = =3D=3D, 0x20); - value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + i2c_set8(i2cdev, TMP105_REG_CONFIG, 0x20); + g_assert_cmphex(i2c_get8(i2cdev, TMP105_REG_CONFIG), =3D=3D, 0x20); + value =3D i2c_get16(i2cdev, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x14c0); =20 - i2c_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x40); - g_assert_cmphex(i2c_get8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG), = =3D=3D, 0x40); - value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + i2c_set8(i2cdev, TMP105_REG_CONFIG, 0x40); + g_assert_cmphex(i2c_get8(i2cdev, TMP105_REG_CONFIG), =3D=3D, 0x40); + value =3D i2c_get16(i2cdev, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x14e0); =20 /* stored precision remains the same */ @@ -95,15 +94,15 @@ static void send_and_receive(void *obj, void *data, QGu= estAllocator *alloc) g_assert_cmpuint(value, >=3D, 20938 - TMP105_PRECISION/2); g_assert_cmpuint(value, <, 20938 + TMP105_PRECISION/2); =20 - i2c_set8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG, 0x60); - g_assert_cmphex(i2c_get8(i2c, TMP105_TEST_ADDR, TMP105_REG_CONFIG), = =3D=3D, 0x60); - value =3D i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_TEMPERATURE); + i2c_set8(i2cdev, TMP105_REG_CONFIG, 0x60); + g_assert_cmphex(i2c_get8(i2cdev, TMP105_REG_CONFIG), =3D=3D, 0x60); + value =3D i2c_get16(i2cdev, TMP105_REG_TEMPERATURE); g_assert_cmphex(value, =3D=3D, 0x14f0); =20 - i2c_set16(i2c, TMP105_TEST_ADDR, TMP105_REG_T_LOW, 0x1234); - g_assert_cmphex(i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_T_LOW), = =3D=3D, 0x1234); - i2c_set16(i2c, TMP105_TEST_ADDR, TMP105_REG_T_HIGH, 0x4231); - g_assert_cmphex(i2c_get16(i2c, TMP105_TEST_ADDR, TMP105_REG_T_HIGH), = =3D=3D, 0x4231); + i2c_set16(i2cdev, TMP105_REG_T_LOW, 0x1234); + g_assert_cmphex(i2c_get16(i2cdev, TMP105_REG_T_LOW), =3D=3D, 0x1234); + i2c_set16(i2cdev, TMP105_REG_T_HIGH, 0x4231); + g_assert_cmphex(i2c_get16(i2cdev, TMP105_REG_T_HIGH), =3D=3D, 0x4231); } =20 static void tmp105_register_nodes(void) @@ -111,6 +110,7 @@ static void tmp105_register_nodes(void) QOSGraphEdgeOptions opts =3D { .extra_device_opts =3D "id=3D" TMP105_TEST_ID ",address=3D0x49" }; + add_qi2c_address(&opts, &(QI2CAddress) { 0x49 }); =20 qos_node_create_driver("tmp105", i2c_device_create); qos_node_consumes("tmp105", "i2c-bus", &opts); --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559583176; cv=none; d=zoho.com; s=zohoarc; b=Qq9R+PfsK0jgwY8nDByjRkLRCU1C3MzvO8nwatu1euklrgECB93oEQehCNQHn8tDbVQf72S5FYegXD0/9zOqfIri/Md8SZ4lOi0knV2xrP/oBMFR89Mu6CNS9yabWjcYOVPfreDgBv3vT+80PkikOsocz4cG8lPCThIhmOwzyf4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559583176; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=jNpy9tHxPkSPZ/2Idn45uExjC/vMdFuinTQ1rueNmsI=; b=dc9/2WGs1c+18ANXsrJSkkjg7p8OvG+nbar6/3gSPwhjo4AlJohBqz7jIcl5L6kZEtnUC7oBPbPkm27W6JcyRYO/Zql8ZubEuWP5uuSOVbH/rNypeb9E5Wy64m+a0kzcFMyQv6BhEyicgKMkcoa0N+GjYkL93aFbFMWZyTKFTDE= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559583176659435.9904712767733; Mon, 3 Jun 2019 10:32:56 -0700 (PDT) Received: from localhost ([127.0.0.1]:38558 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqpE-0007iQ-Ct for importer@patchew.org; Mon, 03 Jun 2019 13:32:48 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43595) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUX-0007X5-81 for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUU-0004do-1O for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:25 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:33658) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUR-0004Gj-MR for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:20 -0400 Received: by mail-wr1-x435.google.com with SMTP id n9so477088wru.0 for ; Mon, 03 Jun 2019 10:11:09 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.11.07 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:11:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=jNpy9tHxPkSPZ/2Idn45uExjC/vMdFuinTQ1rueNmsI=; b=itYqi2QG9kgnCmMYxUNUa/dPTJAQCTevI79mPsAy0otbzHsh06+w7nZbcYhbFkkX+f D1lrcjiNv1JlVV2TwzRpYAkmc3uJZQl+07Yk+kLTwuQHGkd09dh9pKcChBvxdKus/ult 3rtqCLWetEiF4Zhtt8/U5+DvV7HKAlNfVisS83bOgytooERO0Kq6aCZrmO5yF2KZWszF LbW6IFj5ywh1iQLyYmnq6dFKOXeh9s8ql18gkVGmoAiia9TxQXTZxXnZ4f5Wnt+e2qXf dyt3nT++BGZ5oZ7lGaHY8TFpNvsa0/1rMqZCrJvW9j7mj7LJcayyB5GgXBVRMmK7Q+Ga s4rQ== 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:subject:date:message-id :in-reply-to:references; bh=jNpy9tHxPkSPZ/2Idn45uExjC/vMdFuinTQ1rueNmsI=; b=dB5TLH0ZgSzkYkp0jSaCHbvbLi99/o+7Z/YmNo8h1vUB//192gJ+l447fjlQHEDDJB T2X7I5sWpq0FzAKhyY2GUy6YrOCZqNXwLUBDcsvT0/XqTwJJRFz8aToAluJF9byR/rKW u37IcPO6Gie0RUydRancbJ6LEhM9zLP709TxQwiTEc4F4+w5KX75yuZBHJFD7tRVzE+0 Vlj5OaxGOKyzYrlGVXZkjiMg8h8rFaZmHEPgRp6Ml8MZVTcV4qCX4n6v4HbBzLLUf6TA vzqdu6W5p31k3gMvLhoh2mcxPu1LhnCs0sePjc7V94e/mPcBQKOTbXo41Crad6lLBtrW VtwA== X-Gm-Message-State: APjAAAUPwLb7lMhQHix8K3PbjbV6ytBBbcmyBIYfWOZ6VWBOSgvI9Syd 8PHxCyNRmd/fSuROGFCtG09md+Mv X-Google-Smtp-Source: APXvYqyeTRDUo1NPrvbpujwcDdsezWbYOWEK4OWW4D14kK36+Iv0eByLGXixlBFei6vex4FAR4vViw== X-Received: by 2002:adf:f14a:: with SMTP id y10mr3389310wro.183.1559581868403; Mon, 03 Jun 2019 10:11:08 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:41 +0200 Message-Id: <1559581843-3968-23-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::435 Subject: [Qemu-devel] [PULL 22/24] ci: store Patchew configuration in the tree 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Patchew cannot yet retrieve the configuration from the QEMU Git tree, but this is planned. In the meanwhile, let's start storing it as YAML so that the Patchew configuration (currently accessible only to administrat= ors) is public and documented. Signed-off-by: Paolo Bonzini --- .patchew.yml | 302 +++++++++++++++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 302 insertions(+) create mode 100644 .patchew.yml diff --git a/.patchew.yml b/.patchew.yml new file mode 100644 index 0000000..988c292 --- /dev/null +++ b/.patchew.yml @@ -0,0 +1,302 @@ +--- +# Note: this file is still unused. It serves as a documentation for the +# Patchew configuration in case patchew.org disappears or has to be +# reinstalled. +# +# Patchew configuration is available to project administrators at +# https://patchew.org/api/v1/projects/1/config/ and can be configured +# to YAML using the following Python script: +# +# import json +# import sys +# import ruamel.yaml +# +# json_str =3D sys.stdin.read() +# yaml =3D ruamel.yaml.YAML() +# yaml.explicit_start =3D True +# data =3D json.loads(json_str, object_pairs_hook=3Druamel.yaml.commen= ts.CommentedMap) +# ruamel.yaml.scalarstring.walk_tree(data) +# yaml.dump(data, sys.stdout) + +email: + notifications: + timeouts: + event: TestingReport + enabled: true + to_user: false + reply_subject: true + set_reply_to: true + in_reply_to: true + reply_to_all: false + subject_template: none + to: fam@euphon.net + cc: '' + body_template: | + {% if not is_timeout %} {{ cancel }} {% endif %} + + Test '{{ test }}' timeout, log: + + {{ log }} + ENOSPC: + event: TestingReport + enabled: true + to_user: false + reply_subject: false + set_reply_to: false + in_reply_to: true + reply_to_all: false + subject_template: Out of space error + to: fam@euphon.net + cc: '' + body_template: | + {% if passed %} + {{ cancel }} + {% endif %} + + {% if 'No space left on device' in log %} + Tester {{ tester }} out of space when running {{ test }} + + {{ log }} + {% else %} + {{ cancel }} + {% endif %} + FailureShort: + event: TestingReport + enabled: true + to_user: false + reply_subject: true + set_reply_to: true + in_reply_to: true + reply_to_all: true + subject_template: Testing failed + to: '' + cc: '' + body_template: | + {% if passed or not obj.message_id or is_timeout %} + {{ cancel }} + {% endif %} + {% if 'No space left on device' in log %} + {{ cancel }} + {% endif %} + Patchew URL: https://patchew.org/QEMU/{{ obj.message_id }}/ + + {% ansi2text log as logtext %} + {% if test =3D=3D "checkpatch" %} + Hi, + + This series seems to have some coding style problems. See output b= elow for + more information: + + {{ logtext }} + {% elif test =3D=3D "docker-mingw@fedora" or test =3D=3D "docker-q= uick@centos7" or test =3D=3D "asan" %} + Hi, + + This series failed the {{ test }} build test. Please find the test= ing commands and + their output below. If you have Docker installed, you can probably= reproduce it + locally. + + {% lines_between logtext start=3D"^=3D=3D=3D TEST SCRIPT BEGIN =3D= =3D=3D$" stop=3D"^=3D=3D=3D TEST SCRIPT END =3D=3D=3D$" %} + {% lines_between logtext start=3D"^=3D=3D=3D OUTPUT BEGIN =3D=3D= =3D$" stop=3D"=3D=3D=3D OUTPUT END =3D=3D=3D$" as output %} + {% grep_C output regex=3D"\b(FAIL|XPASS|ERROR|WARN|error:|warning:= )" n=3D3 %} + {% elif test =3D=3D "s390x" or test =3D=3D "FreeBSD" or test =3D= =3D "ppcle" or test =3D=3D "ppcbe" %} + Hi, + + This series failed build test on {{test}} host. Please find the de= tails below. + + {% lines_between logtext start=3D"^=3D=3D=3D TEST SCRIPT BEGIN =3D= =3D=3D$" stop=3D"^=3D=3D=3D TEST SCRIPT END =3D=3D=3D$" %} + {% lines_between logtext start=3D"^=3D=3D=3D OUTPUT BEGIN =3D=3D= =3D$" stop=3D"=3D=3D=3D OUTPUT END =3D=3D=3D$" as output %} + {% grep_C output regex=3D"\b(FAIL|XPASS|ERROR|WARN|error:|warning:= )" n=3D3 %} + {% else %} + {{ cancel }} + {% endif %} + + The full log is available at + {{ log_url }}. + --- + Email generated automatically by Patchew [https://patchew.org/]. + Please send your feedback to patchew-devel@redhat.com +testing: + tests: + asan: + enabled: true + requirements: docker + timeout: 3600 + script: | + #!/bin/bash + time make docker-test-debug@fedora TARGET_LIST=3Dx86_64-softmmu J= =3D14 NETWORK=3D1 + docker-quick@centos7: + enabled: false + requirements: docker,x86_64 + timeout: 3600 + script: | + #!/bin/bash + time make docker-test-quick@centos7 SHOW_ENV=3D1 J=3D14 NETWORK=3D1 + checkpatch: + enabled: true + requirements: '' + timeout: 600 + script: | + #!/bin/bash + git rev-parse base > /dev/null || exit 0 + git config --local diff.renamelimit 0 + git config --local diff.renames True + git config --local diff.algorithm histogram + ./scripts/checkpatch.pl --mailback base.. + docker-mingw@fedora: + enabled: true + requirements: docker,x86_64 + timeout: 3600 + script: | + #! /bin/bash + test "$(uname -m)" =3D "x86_64" + ppcle: + enabled: false + requirements: ppcle + timeout: 3600 + script: | + #!/bin/bash + # Testing script will be invoked under the git checkout with + # HEAD pointing to a commit that has the patches applied on top of= "base" + # branch + set -e + CC=3D$HOME/bin/cc + INSTALL=3D$PWD/install + BUILD=3D$PWD/build + mkdir -p $BUILD $INSTALL + SRC=3D$PWD + cd $BUILD + $SRC/configure --cc=3D$CC --prefix=3D$INSTALL + make -j4 + # XXX: we need reliable clean up + # make check -j4 V=3D1 + make install + + echo + echo "=3D=3D=3D ENV =3D=3D=3D" + env + + echo + echo "=3D=3D=3D PACKAGES =3D=3D=3D" + rpm -qa + ppcbe: + enabled: false + requirements: ppcbe + timeout: 3600 + script: | + #!/bin/bash + # Testing script will be invoked under the git checkout with + # HEAD pointing to a commit that has the patches applied on top of= "base" + # branch + set -e + CC=3D$HOME/bin/cc + INSTALL=3D$PWD/install + BUILD=3D$PWD/build + mkdir -p $BUILD $INSTALL + SRC=3D$PWD + cd $BUILD + $SRC/configure --cc=3D$CC --prefix=3D$INSTALL + make -j4 + # XXX: we need reliable clean up + # make check -j4 V=3D1 + make install + + echo + echo "=3D=3D=3D ENV =3D=3D=3D" + env + + echo + echo "=3D=3D=3D PACKAGES =3D=3D=3D" + rpm -qa + FreeBSD: + enabled: true + requirements: qemu-x86,x86_64,git + timeout: 3600 + script: | + #!/bin/bash + # Testing script will be invoked under the git checkout with + # HEAD pointing to a commit that has the patches applied on top of= "base" + # branch + if qemu-system-x86_64 --help >/dev/null 2>&1; then + QEMU=3Dqemu-system-x86_64 + elif /usr/libexec/qemu-kvm --help >/dev/null 2>&1; then + QEMU=3D/usr/libexec/qemu-kvm + else + exit 1 + fi + make vm-build-freebsd J=3D21 QEMU=3D$QEMU + exit 0 + docker-clang@ubuntu: + enabled: true + requirements: docker,x86_64 + timeout: 3600 + script: | + #!/bin/bash + time make docker-test-clang@ubuntu SHOW_ENV=3D1 J=3D14 NETWORK=3D1 + s390x: + enabled: true + requirements: s390x + timeout: 3600 + script: | + #!/bin/bash + # Testing script will be invoked under the git checkout with + # HEAD pointing to a commit that has the patches applied on top of= "base" + # branch + set -e + CC=3D$HOME/bin/cc + INSTALL=3D$PWD/install + BUILD=3D$PWD/build + mkdir -p $BUILD $INSTALL + SRC=3D$PWD + cd $BUILD + $SRC/configure --cc=3D$CC --prefix=3D$INSTALL + make -j4 + # XXX: we need reliable clean up + # make check -j4 V=3D1 + make install + + echo + echo "=3D=3D=3D ENV =3D=3D=3D" + env + + echo + echo "=3D=3D=3D PACKAGES =3D=3D=3D" + rpm -qa + requirements: + x86_64: + script: | + #! /bin/bash + test "$(uname -m)" =3D "x86_64" + qemu-x86: + script: | + #!/bin/bash + if qemu-system-x86_64 --help >/dev/null 2>&1; then + : + elif /usr/libexec/qemu-kvm --help >/dev/null 2>&1; then + : + else + exit 1 + fi + ppcle: + script: | + #!/bin/bash + test "$(uname -m)" =3D "ppc64le" + ppcbe: + script: | + #!/bin/bash + test "$(uname -m)" =3D "ppc64" + git: + script: | + #! /bin/bash + git config user.name > /dev/null 2>&1 + docker: + script: | + #!/bin/bash + docker ps || sudo -n docker ps + s390x: + script: | + #!/bin/bash + test "$(uname -m)" =3D "s390x" +git: + push_to: git@github.com:patchew-project/qemu + public_repo: https://github.com/patchew-project/qemu + url_template: https://github.com/patchew-project/qemu/tree/%t --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582922; cv=none; d=zoho.com; s=zohoarc; b=byu+eYVdl57789HkZ3wwnRn6s5eYByt2OjhsbmG751at0ns3f/P/hgHAcKSAeIsy4VXJVWvtRjUJbPreEy1/xmLKRNRSwH2YkSsQFUNvEI4hxOEqTSto6o35agyDgd8sABYrc7Te6rAa+3XCvqXTxItwk+8veGkY2jT6Fndf7vw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582922; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=/LqFWIj4+X0FRNeuxBBYQa+fju4V1g/lIpEfigt6J+8=; b=SuDu85WbVvmXely/ojuUHuoF6elDuCXsZ8J5pbw2ZYGnU0umb1+FeR5IfCTLSiwYC+d7+dOe48YSWP+WnBylBDHPv05oqV5V3CsVOhhT6xDhtFAMWvlj1cpR9R3dRDehzGjxUOrEe0K+FJeT9EjVqMeGnJAk38GTjR/Zv2nZ/eA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582922270106.02259816619369; Mon, 3 Jun 2019 10:28:42 -0700 (PDT) Received: from localhost ([127.0.0.1]:38492 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXql7-0004EY-3g for importer@patchew.org; Mon, 03 Jun 2019 13:28:33 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43553) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUW-0007X0-CC for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUU-0004fM-Ee for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:24 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:41320) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUU-0004K8-6n for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:22 -0400 Received: by mail-wr1-x42f.google.com with SMTP id c2so12909378wrm.8 for ; Mon, 03 Jun 2019 10:11:11 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.11.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:11:08 -0700 (PDT) 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=/LqFWIj4+X0FRNeuxBBYQa+fju4V1g/lIpEfigt6J+8=; b=WNjpck8xHI1HeoA5SlnkXwjgBQ2WeSt9lQj08VuAty5+O1hOxHU6T9Jmjd1fNZsPvO JCKpWYjGObtkgfMb2pRAH+j3bAnlf7Y45DkxQmP+ZZ9G9EX5/FQUnEU28Lp9hMxS1Pp+ 82rImiJxn++NGTOuSqCFiWgL04U5L1BRinrcgDXe1iVdTQaIgbtUOMprqu9P6N9ZvlSl Q0WX8TFf3swobpdqOY7efzQ5LKiU4eVE9VyXaxjUyXJn0IK6VZULEpv+kdIz2Paa3aGu CN44f2tQMQXDlYz8o9app8gt0tVRXYAaXWCxC1yOuZMin0OsXhKJfJLzeQHGGR7GB0sK VbWQ== 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=/LqFWIj4+X0FRNeuxBBYQa+fju4V1g/lIpEfigt6J+8=; b=g/FjJj+GkTol6BFaWYIYrkT72wUYkBvyarylvzo2807M8DxKvprmU4dbHQApbuC/YX Ww2o5TDG+fdmwpCdLbRP9zspHsw6mIFpFx0aLTUVZ5YBNfz59Kg2ZRQsiQjOKyxkWIeQ py8tVfFHE42qgVPPdBq1LsrimU++bznbmtCwmjI5KGoPG9zvzk25sTcuZZZGGl5uZxzy +CeKyNTuXaNBV7Ug6Ii3IwfzvusxXzaYwUrAFLP9MAywlqfpuTOtTOc+D0ij0Ms9R4VI qrX9qLHVlW+hv+qEV6PmS1HdK1t7PME/Bojkd/O9NJ4paI7kHVWgDlDI7vKUgfWelqE+ ZOxQ== X-Gm-Message-State: APjAAAVuDe5kZsQFH1y1M/CW3lLuyBko3VClfxvuVaKvPydj+jkl3OWS wKa9XSIfDAxCGfKqDq0cCKe5ck32 X-Google-Smtp-Source: APXvYqwx9TwSIK7MZ49pVSEd5g9DXggqeE/mXOUdvj6v5FDBYrji4elNEcxfS5hZ8l1XMPtyAaK2hg== X-Received: by 2002:adf:8367:: with SMTP id 94mr17655165wrd.179.1559581870361; Mon, 03 Jun 2019 10:11:10 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:42 +0200 Message-Id: <1559581843-3968-24-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> 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: 2a00:1450:4864:20::42f Subject: [Qemu-devel] [PULL 23/24] configure: remove tpm_passthrough & tpm_emulator 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: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau This is a left-over from commit 7aaa6a16373 "tpm: express dependencies with Kconfig". Signed-off-by: Marc-Andr=C3=A9 Lureau Message-Id: <20190524181411.8599-1-marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini --- configure | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/configure b/configure index 6cdcfb2..b091b82 100755 --- a/configure +++ b/configure @@ -6452,8 +6452,6 @@ echo "gcov $gcov_tool" echo "gcov enabled $gcov" echo "TPM support $tpm" echo "libssh2 support $libssh2" -echo "TPM passthrough $tpm_passthrough" -echo "TPM emulator $tpm_emulator" echo "QOM debugging $qom_cast_debug" echo "Live block migration $live_block_migration" echo "lzo support $lzo" @@ -7158,14 +7156,6 @@ fi =20 if test "$tpm" =3D "yes"; then echo 'CONFIG_TPM=3D$(CONFIG_SOFTMMU)' >> $config_host_mak - # TPM passthrough support? - if test "$tpm_passthrough" =3D "yes"; then - echo "CONFIG_TPM_PASSTHROUGH=3Dy" >> $config_host_mak - fi - # TPM emulator support? - if test "$tpm_emulator" =3D "yes"; then - echo "CONFIG_TPM_EMULATOR=3Dy" >> $config_host_mak - fi fi =20 echo "TRACE_BACKENDS=3D$trace_backends" >> $config_host_mak --=20 1.8.3.1 From nobody Thu May 16 16:58:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559582754; cv=none; d=zoho.com; s=zohoarc; b=Btq1kYPxxivRPTmyAMKV237OqCI6CKxAhj9EOahNNf5mikyLL3BF3eDRyio0zsEKKfEwD660pHddju+sBZyna0UvEMSOuYhYml2ALRZg1OuQsgXz9n841lNDb52wv6h4TEhtcNhz0VNn9JJioP2ZaJ0R0r8DWkIq26t91SE0Yxo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559582754; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=6lNgOMh83d+owFjOzMGpgB7V4MpxWZDFyB9agcLkI6o=; b=S8F45R89UWPkpFb4dmF68VH6cV8OzxRbcEhqJKFGklTXZ8oRa6DHtPXaYq8kgR+JDTnTyhSMmdofjAFeOAwE/J4LTyWkLLkEeJdVTeZzrROQO5kwt5+JgCVmvO8+VIX0IScV1nlT3rHX2ZWqtnZyI3+uOPulwi77Un2aqmAOJIA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1559582754026661.0250656114703; Mon, 3 Jun 2019 10:25:54 -0700 (PDT) Received: from localhost ([127.0.0.1]:38460 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqiQ-0001YW-M9 for importer@patchew.org; Mon, 03 Jun 2019 13:25:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43462) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hXqUT-0007Sd-Ur for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hXqUQ-0004Ww-56 for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:19 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:34651) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hXqUO-0004MJ-1L for qemu-devel@nongnu.org; Mon, 03 Jun 2019 13:11:18 -0400 Received: by mail-wr1-x431.google.com with SMTP id e16so4656460wrn.1 for ; Mon, 03 Jun 2019 10:11:12 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id r131sm3325045wmf.4.2019.06.03.10.11.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Jun 2019 10:11:10 -0700 (PDT) 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; bh=6lNgOMh83d+owFjOzMGpgB7V4MpxWZDFyB9agcLkI6o=; b=W6F7jAxuFJ0IytjGJ/MCkygD434A4TBTkxNE/31KtuKrLF2uw9D5r6rh4J4q0s7yL8 2CRZZoXP0J5aOCmIfC/gqSqCsSeiyhKk8+lG2epZY8eMypIbUBuoeZZQXNmsXFEunFdW KKlPEdj5hhJ2uTMFie4cq/+go6hzHfQ0TIsbachat4PqBxoYgEW1ZRfKXPzykAdhuDUq Oq3kXqS+h/bp+L5FXE9d9ODm422tF31vZKS34xu9/V5F+f1RSo/pFC8K0QyBpT1OTYYA WYQmVeKF9efIfid4XXgyWyY3IZxaRQHZmNsJ0NxxKKpXvsG1woesl4NNqru1R8a/Cl1C q7Sw== 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; bh=6lNgOMh83d+owFjOzMGpgB7V4MpxWZDFyB9agcLkI6o=; b=SPGGVAdbwbUmz+eCRCnPdjb7q74g1gN1JuUqhcmEzfJYjecomFoji4PXfsi49QSoHU K9B0dsoc7QaYwqUMmPrUVir60Z1AHDMeSksnTUvuUPF5JND3Dq1DO69m96gEgbSRm710 iadwL5CslGfGCDeTr/yXftEjIk2Wqn917D4vXHGxwU1/wYOoeUcUm0dXM6gRxuu7KK4Y gt45Yi15wF21j7ilpJpkV3O9wYwHkEJdnIj4QOacNEgI8QmN+IiK327sz7y2veTDfNhw TlOh53Bx2Ur/LGvrY9UFqcsL54TMfJ3O1Oja5baRzWWQwLYsstY03OtZG32Twhwnl2a+ lNIA== X-Gm-Message-State: APjAAAXgJKb7DnPXn4SeTsuH4g032iJhwhRjFI9tVf09IXozNJ5ddLyH q7/PH96N4L16ne6l6ChBeebCdJ8v X-Google-Smtp-Source: APXvYqyHwYcPi2dph6ZAi1NWsmYXE7z1y+3+pbOFYvb4mxADKj3IxLTKTFoF2IjiJ9KRRc+h9u3GcA== X-Received: by 2002:adf:dfc4:: with SMTP id q4mr3499660wrn.201.1559581871572; Mon, 03 Jun 2019 10:11:11 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 3 Jun 2019 19:10:43 +0200 Message-Id: <1559581843-3968-25-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> References: <1559581843-3968-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::431 Subject: [Qemu-devel] [PULL 24/24] q35: Revert to kernel irqchip 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: Alex Williamson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Alex Williamson Commit b2fc91db8447 ("q35: set split kernel irqchip as default") changed the default for the pc-q35-4.0 machine type to use split irqchip, which turned out to have disasterous effects on vfio-pci INTx support. KVM resampling irqfds are registered for handling these interrupts, but these are non-functional in split irqchip mode. We can't simply test for split irqchip in QEMU as userspace handling of this interrupt is a significant performance regression versus KVM handling (GeForce GPUs assigned to Windows VMs are non-functional without forcing MSI mode or re-enabling kernel irqchip). The resolution is to revert the change in default irqchip mode in the pc-q35-4.1 machine and create a pc-q35-4.0.1 machine for the 4.0-stable branch. The qemu-q35-4.0 machine type should not be used in vfio-pci configurations for devices requiring legacy INTx support without explicitly modifying the VM configuration to use kernel irqchip. Link: https://bugs.launchpad.net/qemu/+bug/1826422 Fixes: b2fc91db8447 ("q35: set split kernel irqchip as default") Signed-off-by: Alex Williamson Reviewed-by: Peter Xu Message-Id: <155786484688.13873.6037015630912983760.stgit@gimli.home> Signed-off-by: Paolo Bonzini --- hw/core/machine.c | 3 +++ hw/i386/pc.c | 3 +++ hw/i386/pc_q35.c | 16 ++++++++++++++-- include/hw/boards.h | 3 +++ include/hw/i386/pc.h | 3 +++ 5 files changed, 26 insertions(+), 2 deletions(-) diff --git a/hw/core/machine.c b/hw/core/machine.c index 16ba667..f1a0f45 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -24,6 +24,9 @@ #include "hw/pci/pci.h" #include "hw/mem/nvdimm.h" =20 +GlobalProperty hw_compat_4_0_1[] =3D {}; +const size_t hw_compat_4_0_1_len =3D G_N_ELEMENTS(hw_compat_4_0_1); + GlobalProperty hw_compat_4_0[] =3D {}; const size_t hw_compat_4_0_len =3D G_N_ELEMENTS(hw_compat_4_0); =20 diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 2632b73..edc240b 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -110,6 +110,9 @@ struct hpet_fw_config hpet_cfg =3D {.count =3D UINT8_MA= X}; /* Physical Address of PVH entry point read from kernel ELF NOTE */ static size_t pvh_start_addr; =20 +GlobalProperty pc_compat_4_0_1[] =3D {}; +const size_t pc_compat_4_0_1_len =3D G_N_ELEMENTS(pc_compat_4_0_1); + GlobalProperty pc_compat_4_0[] =3D {}; const size_t pc_compat_4_0_len =3D G_N_ELEMENTS(pc_compat_4_0); =20 diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 37dd350..dcddc64 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -357,7 +357,7 @@ static void pc_q35_machine_options(MachineClass *m) m->units_per_default_bus =3D 1; m->default_machine_opts =3D "firmware=3Dbios-256k.bin"; m->default_display =3D "std"; - m->default_kernel_irqchip_split =3D true; + m->default_kernel_irqchip_split =3D false; m->no_floppy =3D 1; machine_class_allow_dynamic_sysbus_dev(m, TYPE_AMD_IOMMU_DEVICE); machine_class_allow_dynamic_sysbus_dev(m, TYPE_INTEL_IOMMU_DEVICE); @@ -374,10 +374,22 @@ static void pc_q35_4_1_machine_options(MachineClass *= m) DEFINE_Q35_MACHINE(v4_1, "pc-q35-4.1", NULL, pc_q35_4_1_machine_options); =20 -static void pc_q35_4_0_machine_options(MachineClass *m) +static void pc_q35_4_0_1_machine_options(MachineClass *m) { pc_q35_4_1_machine_options(m); m->alias =3D NULL; + compat_props_add(m->compat_props, hw_compat_4_0_1, hw_compat_4_0_1_len= ); + compat_props_add(m->compat_props, pc_compat_4_0_1, pc_compat_4_0_1_len= ); +} + +DEFINE_Q35_MACHINE(v4_0_1, "pc-q35-4.0.1", NULL, + pc_q35_4_0_1_machine_options); + +static void pc_q35_4_0_machine_options(MachineClass *m) +{ + pc_q35_4_0_1_machine_options(m); + m->default_kernel_irqchip_split =3D true; + m->alias =3D NULL; compat_props_add(m->compat_props, hw_compat_4_0, hw_compat_4_0_len); compat_props_add(m->compat_props, pc_compat_4_0, pc_compat_4_0_len); } diff --git a/include/hw/boards.h b/include/hw/boards.h index 6f7916f..6ff02bf 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -292,6 +292,9 @@ struct MachineState { } \ type_init(machine_initfn##_register_types) =20 +extern GlobalProperty hw_compat_4_0_1[]; +extern const size_t hw_compat_4_0_1_len; + extern GlobalProperty hw_compat_4_0[]; extern const size_t hw_compat_4_0_len; =20 diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 43df723..5d56362 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -293,6 +293,9 @@ int e820_add_entry(uint64_t, uint64_t, uint32_t); int e820_get_num_entries(void); bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *); =20 +extern GlobalProperty pc_compat_4_0_1[]; +extern const size_t pc_compat_4_0_1_len; + extern GlobalProperty pc_compat_4_0[]; extern const size_t pc_compat_4_0_len; =20 --=20 1.8.3.1