From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513207423419885.2351045390637; Wed, 13 Dec 2017 15:23:43 -0800 (PST) Received: from localhost ([::1]:38232 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGN9-00064W-SE for importer@patchew.org; Wed, 13 Dec 2017 18:23:31 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60083) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGLI-0004za-Fl for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:21:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGLD-0006bI-Dh for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:21:36 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:41817) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGLD-0006b1-85 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:21:31 -0500 Received: by mail-qt0-x243.google.com with SMTP id i40so5847400qti.8 for ; Wed, 13 Dec 2017 15:21:31 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.20.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:21:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZaTlajUBqUdTpFUV3Gtk8h/iU4roK64pLjwvxpBN7Rg=; b=jdsyR2PVdwR6W3Tfv03Auq1gibjaLBexH0iOd545/k67OfeV8KD7Xv4MEiRd/D4u4x hjQyC8amcJ2n34AdfPU2ciV/8YoMkGGOsZIcGCioudddfwmEd1R1J6xzk74d0J1sHbNM nG4uxnpuUV2eM+kX8R9QtcMBAZhSuXLVWlsyPRHu0TYumG67gvnQxD3h07Lux6I1+57p RcgP+Ql+dWTwGu6BmxbFrRTdLqLytd7NCBZDrRF7iUxiA4M+feOImDOrZFVEvHuqLA9y j08BUL0bAjhyyztmy6AfXJTDHekualGl2FY/BFQLGUtYNnm1xHsMvQa5UKZJx/W7FHYQ rGSw== 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=ZaTlajUBqUdTpFUV3Gtk8h/iU4roK64pLjwvxpBN7Rg=; b=aMABhNACF0WnLIGWByNyal3BdBix1xi+5bJOVbb/XMbpwna8VvbOKtKN1LnwbGlrtf eljsDLkbpVp3z+dJVOintWMKumGGCmJKmEgKZEjPJIuU71lFstKMOB26qwafcG+GfwXi FBZHZYrcn8PfrAeF38k70EIAHggAwjHvS5JYnSkBMEPW+FC4rqlmGJ2hb4X/2oA3ZWFw MYCrPG12RAlRiVTeLFDBfB68vLyIx4COdclN9uMDMemh1wwpkXL9sTYxVbJew2JO6Gki HIXrLLD83tX5iTzp9vsTNalfT3z3arRGEvmU5c7muMeNT3LuNM+O7FHJEq9t7tSozIwi ogPA== X-Gm-Message-State: AKGB3mKB2RJF4cehCoX+vsHd0QKYym9TtNkJBd39cI3TbutajzDYrFpX wAJQpgpw8n3dpk2SNWKVN1F8AK2h6JQ= X-Google-Smtp-Source: ACJfBoumQ0b3tzkkLJoiEy1sL5MOOORjyHFfhMT++qKwyauw8/3rPBVvGSQy5O8zfEjfWh//kVTjmA== X-Received: by 10.237.61.181 with SMTP id i50mr14243218qtf.29.1513207290687; Wed, 13 Dec 2017 15:21:30 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Markus Armbruster , Michael Roth , Andrey Smirnov , Andrey Yurovsky , Eduardo Habkost , "Daniel P . Berrange" , Eric Blake , Fam Zheng , Thomas Huth , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini Date: Wed, 13 Dec 2017 20:20:00 -0300 Message-Id: <20171213232025.24503-2-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH 01/26] sdbus: add a QMP command to access a SDBus 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?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Use Base64 to serialize the binary blobs in JSON. So far at most 512 bytes will be transfered, which result in a 684 bytes payload. Since this command is intented for qtesting, this is acceptable. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- qapi-schema.json | 41 +++++++++++++++++++++++++++++++++++++++++ hw/sd/core.c | 43 +++++++++++++++++++++++++++++++++++++++++++ stubs/qmp_sdbus.c | 11 +++++++++++ stubs/Makefile.objs | 1 + 4 files changed, 96 insertions(+) create mode 100644 stubs/qmp_sdbus.c diff --git a/qapi-schema.json b/qapi-schema.json index 18457954a8..9b0fd90fed 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -3200,3 +3200,44 @@ # Since: 2.11 ## { 'command': 'watchdog-set-action', 'data' : {'action': 'WatchdogAction'} } + +## +# @SDBusCommandResponse: +# +# SD Bus command response. +# +# @base64: the command response encoded as a Base64 string, if any (option= al) +# +# Since: 2.11 +## +{ 'struct': 'SDBusCommandResponse', 'data': {'*base64': 'str'} } + +## +# @sdbus-command: +# +# Execute a command on a SD Bus return the response (if any). +# +# @qom-path: the SD Bus path +# @command: the SD protocol command to execute in the bus +# @arg: a 64-bit command argument (optional) +# @crc: the command/argument CRC (optional) +# +# Returns: the response of the command encoded as a Base64 string +# +# Since: 2.11 +# +# -> { "execute": "sdbus-command", +# "arguments": { "qom-path": "/machine/unattached/device[32]/sd.0", +# "command": 0x01 +# } +# } +# <- { "return": {'base64': 'A=3D'} } +# +## +{ 'command': 'sdbus-command', + 'data': { 'qom-path': 'str', + 'command': 'uint8', + '*arg': 'uint64', + '*crc': 'uint16' }, + 'returns': 'SDBusCommandResponse' +} diff --git a/hw/sd/core.c b/hw/sd/core.c index da3a7e0efa..c546db2b22 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -22,6 +22,7 @@ #include "qemu/osdep.h" #include "hw/sd/sd.h" #include "qemu/cutils.h" +#include "qmp-commands.h" #include "sd-internal.h" #include "trace.h" =20 @@ -220,3 +221,45 @@ SDBus *sdbus_create_bus(DeviceState *parent, const cha= r *name) { return SD_BUS(qbus_create(TYPE_SD_BUS, parent, name)); } + +SDBusCommandResponse *qmp_sdbus_command(const char *qom_path, + uint8_t command, + bool has_arg, uint64_t arg, + bool has_crc, uint16_t crc, + Error **errp) +{ + uint8_t response[16 + 1]; + SDBusCommandResponse *res; + bool ambiguous =3D false; + Object *obj; + SDBus *sdbus; + int sz; + + obj =3D object_resolve_path(qom_path, &ambiguous); + if (obj =3D=3D NULL) { + if (ambiguous) { + error_setg(errp, "Path '%s' is ambiguous", qom_path); + } else { + error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND, + "Device '%s' not found", qom_path); + } + return NULL; + } + sdbus =3D (SDBus *)object_dynamic_cast(obj, TYPE_SD_BUS); + if (sdbus =3D=3D NULL) { + error_set(errp, ERROR_CLASS_GENERIC_ERROR, + "Device '%s' not a sd-bus", qom_path); + return NULL; + } + + res =3D g_new0(SDBusCommandResponse, 1); + sz =3D sdbus_do_command(sdbus, + &(SDRequest){ command, arg, has_crc ? crc : -1 }, + response); + if (sz > 0) { + res->has_base64 =3D true; + res->base64 =3D g_base64_encode(response, sz); + } + + return res; +} diff --git a/stubs/qmp_sdbus.c b/stubs/qmp_sdbus.c new file mode 100644 index 0000000000..50f9f1410d --- /dev/null +++ b/stubs/qmp_sdbus.c @@ -0,0 +1,11 @@ +#include "qemu/osdep.h" +#include "qmp-commands.h" +#include "hw/sd/sd.h" + +SDBusCommandResponse *qmp_sdbus_command(const char *qom_path, uint8_t comm= and, + bool has_arg, uint64_t arg, + bool has_crc, uint16_t crc, + Error **errp) +{ + return NULL; +} diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs index 8cfe34328a..a46cb3b992 100644 --- a/stubs/Makefile.objs +++ b/stubs/Makefile.objs @@ -35,6 +35,7 @@ stub-obj-y +=3D vm-stop.o stub-obj-y +=3D vmstate.o stub-obj-$(CONFIG_WIN32) +=3D fd-register.o stub-obj-y +=3D qmp_pc_dimm.o +stub-obj-y +=3D qmp_sdbus.o stub-obj-y +=3D target-monitor-defs.o stub-obj-y +=3D target-get-monitor-def.o stub-obj-y +=3D pc_madt_cpu_entry.o --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513207590660994.0650512959395; Wed, 13 Dec 2017 15:26:30 -0800 (PST) Received: from localhost ([::1]:38251 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGPw-0000CZ-R3 for importer@patchew.org; Wed, 13 Dec 2017 18:26:24 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60298) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGLZ-0005Bl-87 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:21:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGLU-00076i-MR for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:21:53 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:41817) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGLU-00075q-HN for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:21:48 -0500 Received: by mail-qt0-x241.google.com with SMTP id i40so5848559qti.8 for ; Wed, 13 Dec 2017 15:21:48 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.21.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:21:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Izq5/rCuOh/CR+9rq/RTLZkrewinB7b8Gre3Sm4o1aM=; b=o6iL+GOUkZAG5rEEcjT40SwpMA8n4m6xD/R+w1fK9HszJCqs/W5t5hZAJDHN0WS1Ey rpnXZloScjsUS0n4yUHlu2dcT/8JfMCteGJWCl1L2SOaYnjnaig45wkp2iNogn9s54Hn 9e7ZiDQi9GPFE9Qts+ZlBGBXBYeOaXp/7EsQN4ASvEAAS47ZCRnyfmkblss4TIuxmRCK az8LLJ/GphkuA0ImhNhAhbc8EyiKMWSdxRFxleG71N6BrxmH6meVa4loorhV8JiEx/8f /cHDkUnUdsQKUVP3f3GcLX+RLhka3bophFRnJJ+0zT72TRCURSvnOSYSHypGxyQHvHVh k43A== 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=Izq5/rCuOh/CR+9rq/RTLZkrewinB7b8Gre3Sm4o1aM=; b=ssi0m+10i+BvTi6MEedlV3qgpRq7E8zQfXWPLx98RCK8w8tQ7FkrG3bwtaFSwjquN/ lNQ5GUbAYaCX0ZQRovDjJzmYPIipcY/zBDF9JjHxceinAiL40crKQmBk6Jm3raEFQfHo mRa/kZ6KDIEmQuKCVBR9RuGPkTfjEY/5lmGu+1sUShGJ4MMGsQ4ySj+h7I+/zd+4txg7 TidP75afMIDiT4jIANoOdq/GyCa87JqUO9jXZURSARbOLYjRYpa/UxTrguVYSpqlCwIZ LPPj9vHQz+cRZmtBpYDz0pr7ofJ0YL3+YdI4r4/yLbUdYNsrAT3Kemg2EglP7R9EADs7 JArA== X-Gm-Message-State: AKGB3mKabYnrAA1ycnEyScIRWJlPFcozeEb0gUTyNWISkqVj4EwDb91+ PcT0me+DZi1QqmJi9LU5nsI4Nl1h7a0= X-Google-Smtp-Source: ACJfBoszHaNLGGze4/HM21Dyl9YrR7FvzBY/dr+zbvyDON1v2xVDPpZThJRk9Ftrw4/kdnlLvg8N3Q== X-Received: by 10.200.11.203 with SMTP id p11mr13177003qti.124.1513207308020; Wed, 13 Dec 2017 15:21:48 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrey Smirnov , Andrey Yurovsky , Cleber Rosa , Kevin Wolf , Max Reitz , John Snow , Eduardo Habkost , =?UTF-8?q?Luk=C3=A1=C5=A1=20Doktor?= , "Daniel P . Berrange" , Eric Blake , Stefan Hajnoczi , Fam Zheng , Thomas Huth , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini Date: Wed, 13 Dec 2017 20:20:01 -0300 Message-Id: <20171213232025.24503-3-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [RFC PATCH 02/26] sdcard: add a Python 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: , Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Use Python to write high-level SD commands. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/Makefile.include | 2 + tests/sdcard_tests.py | 172 +++++++++++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 174 insertions(+) create mode 100755 tests/sdcard_tests.py diff --git a/tests/Makefile.include b/tests/Makefile.include index 13673f6d1d..4a1afcb499 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -355,8 +355,10 @@ check-qtest-arm-y +=3D tests/virtio-blk-test$(EXESUF) gcov-files-arm-y +=3D arm-softmmu/hw/block/virtio-blk.c check-qtest-arm-y +=3D tests/test-arm-mptimer$(EXESUF) gcov-files-arm-y +=3D hw/timer/arm_mptimer.c +check-qtest-arm-y +=3D tests/sdcard_tests.py =20 check-qtest-aarch64-y =3D tests/numa-test$(EXESUF) +check-qtest-aarch64-y +=3D tests/sdcard_tests.py =20 check-qtest-microblazeel-y =3D $(check-qtest-microblaze-y) =20 diff --git a/tests/sdcard_tests.py b/tests/sdcard_tests.py new file mode 100755 index 0000000000..033b756cf1 --- /dev/null +++ b/tests/sdcard_tests.py @@ -0,0 +1,172 @@ +#!/usr/bin/env python +# +# Tests for the SD-Bus protocol +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +import os +import base64 +import struct +import binascii +import logging + +import qtest + + +# CMD +(GO_IDLE_STATE, SEND_OP_CMD, ALL_SEND_CID, SEND_RELATIVE_ADDR, # 0 ... +SEND_DSR, CMD5, SWITCH_FUNCTION, CMD7, +SEND_IF_COND, SEND_CSD, SEND_CID, READ_DAT_UNTIL_STOP, # 8 ... +STOP_TRANSMISSION, SEND_STATUS, CMD14, GO_INACTIVE_STATE, +SET_BLOCKLEN, READ_SINGLE_BLOCK, READ_MULTIPLE_BLOCK, CMD19, # 16 ... +CMD20, CMD21, CMD22, SET_BLOCK_COUNT, +WRITE_SINGLE_BLOCK, WRITE_MULTIPLE_BLOCK, PROGRAM_CID, PROGRAM_CSD, # 24 = ... +SET_WRITE_PROT, CLR_WRITE_PROT, SEND_WRITE_PROT, CMD31, +ERASE_WR_BLK_START, ERASE_WR_BLK_END, CMD34, CMD35, # 32 ... +CMD36, CMD37, ERASE, CMD39, +CMD40, CMD41, LOCK_UNLOCK, CMD43, +CMD44, CMD45, CMD46, CMD47, +CMD48, CMD49, CMD50, CMD51, +CMD52, CMD53, CMD54, APP_CMD, +GEN_CMD,) =3D range(57) + +# ACMD +SET_BUS_WIDTH =3D 6 +SD_STATUS =3D 13 +SEND_NUM_WR_BLOCKS =3D 22 +SET_WR_BLK_ERASE_COUNT =3D 23 +SD_APP_OP_COND =3D 41 +SET_CLR_CARD_DETECT =3D 42 +SEND_SCR =3D 51 + + +class SDBus(object): + def __init__(self, vm, qom_path, verbose=3DFalse): + self.vm =3D vm + self.path =3D qom_path + self.verbose =3D verbose + + def do_cmd(self, command, arg=3D0, verbose=3DNone): + assert command < 64 + if verbose is None: + verbose =3D self.verbose + + data =3D self.vm.qmp('sdbus-command', qom_path=3Dself.path, comman= d=3Dcommand, + arg=3Darg)['return'] + if 'base64' in data: + data =3D base64.b64decode(data['base64']) + logging.info("CMD#%02d -> %s" % (command, binascii.hexlify(dat= a))) + else: + logging.info("CMD#%02d -> (none)" % (command)) + data =3D None + return data + + def do_acmd(self, command, arg=3D0, verbose=3DNone): + self.do_cmd(APP_CMD, verbose=3DFalse) + return self.do_cmd(command, arg, verbose if verbose else self.verb= ose) + + +def sdbus_get_qom_path(vm, bus=3D0): + qom_paths =3D [] + + result =3D vm.qmp('query-block') + for block in result['return']: + if not 'qdev' in block: + continue + d =3D vm.qmp('qom-get', path=3Dblock['qdev'], property=3D"pare= nt_bus") + qom_paths +=3D [d['return']] + assert len(qom_paths) > 0 + + return qom_paths[bus] + + +# dumb helper +def l(buf): + return struct.unpack("> 8) + + # get OCR + data =3D self.bus.do_acmd(SD_APP_OP_COND) + v =3D l(data) + ocr =3D (v >> 8) & 0xffff + s1_8 =3D (v >> 24) & 1 + uhs_ii =3D (v >> 29) & 1 + ccs =3D (v >> 30) & 1 + init =3D (v >> 31) & 1 + # all those are null for v2.00 + self.assertEqual(s1_8, 0) + self.assertEqual(uhs_ii, 0) + self.assertEqual(ccs, 0) + self.assertEqual(init, 0) + + # ocr << 8 + # 0 << 24 # use current voltage + # 0 << 28 # powersave + # 0 << 30 # SDSC + data =3D self.bus.do_acmd(SD_APP_OP_COND, ocr << 8) + v =3D l(data) + # check OCR accepted + self.assertEqual(ocr, v >> 8) + + # check CID + data =3D self.bus.do_cmd(ALL_SEND_CID) + oid, pnm, psn =3D struct.unpack(">x2s5sxLxxx", data) + self.assertEqual(oid, "XY") # QEMU default + self.assertEqual(pnm, "QEMU!") # QEMU default + self.assertEqual(psn, 0xdeadbeef) # QEMU default + + # check non null RCA + data =3D self.bus.do_cmd(SEND_RELATIVE_ADDR) + rca, =3D struct.unpack(">H", data[:2]) + self.assertNotEqual(rca, 0) + + self.assertEqual(rca, 0x4567) # QEMU default + + # check for new RCA + data =3D self.bus.do_cmd(SEND_RELATIVE_ADDR) + new_rca, =3D struct.unpack(">H", data[:2]) + self.assertNotEqual(new_rca, rca) + + +if __name__ =3D=3D '__main__': + qtest.main(supported_machines=3D['xilinx-zynq-a9']) --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513207443661696.1235221160073; Wed, 13 Dec 2017 15:24:03 -0800 (PST) Received: from localhost ([::1]:38235 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGNZ-0006X6-G9 for importer@patchew.org; Wed, 13 Dec 2017 18:23:57 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60311) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGLb-0005DE-Ar for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:21:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGLa-0007Et-5g for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:21:55 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:37583) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGLa-0007EX-10 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:21:54 -0500 Received: by mail-qk0-x242.google.com with SMTP id i130so4145715qke.4 for ; Wed, 13 Dec 2017 15:21:54 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.21.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:21:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=X/hsTCdfdxUK28Bg2aPbNxMCPx3gcatZBZp9AtrR2oQ=; b=W2y13KhLb8/d7p7MXB8WvvfSu3bQI1oqtQCPawxlvVUjGCd3JfQFCG8lmSIJATzSxW 8q4aEMAIjfmPZvJFemI5OJ7rHOrV8wzesnrVnYvgfjq6xSu7dqsFZnuCjySIv2u5mVpP xFRtGKZtNYTiV17DgrAfrP1s2ng5g2N7ZlCtbBu5ntjvCzAjdM8/wiOVsrJvK4NPT5qm 4Sr9qeIIWNMijBbSCH2Y0K6YxLGsJLza9FcVCIYSCP9vs+88JNP0xzZBC69FngcgSWm3 uHcg9+55ndStxh79tCXU8K4rcOhvq5FukBdmm3LqeLG6FNpn1g0LMnlrVb8/mLW9AjLK r9xA== 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=X/hsTCdfdxUK28Bg2aPbNxMCPx3gcatZBZp9AtrR2oQ=; b=hKk1ROeavQVQpZ8XqLKa56N1dl58Wae+wXu+b6kaBtLDW1xXwrzdELiykxEw3R953I umANcPD0kmlXkdBi9hliDjtEtfyLho+vQzkYIBXvPgqxHhNadAofdt6lG4URlZJHNEO6 8QqYSkVKqgXwG4Ap1UGLAOHTyaMhkzJWLQa4gHkvCD3DpT0ra2ypeE6kE7qXHRAsPmo5 NtedqW047Xg+gHqEekoX0VSPgwEr3L44ZQMNUyVyG7ucE4saqyDDxP3l6uYSBWK+u74k iDyXwnA261AhHz8v8V1TXjevWniJf0/Hhkv/CanQ58HyX6DQr+4YnXL1kCDUHRvW1owH LcgQ== X-Gm-Message-State: AKGB3mJ6HCdx1VAXiNvtIV4ruxnqipukX+79O2MqSkWZzOE7oDDRu3iM A6hvipbk1Qeq4ecknKC5OKA= X-Google-Smtp-Source: ACJfBoszBvappELlZhDPVxs/W1tAvn0alrymld0Z6/wlJXTDDWYjKRJqdlCgexVnO0DzFCYTyu8SGg== X-Received: by 10.55.7.132 with SMTP id 126mr13454999qkh.70.1513207313540; Wed, 13 Dec 2017 15:21:53 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps , Stefan Hajnoczi , Paolo Bonzini Date: Wed, 13 Dec 2017 20:20:02 -0300 Message-Id: <20171213232025.24503-4-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH 03/26] sdcard: use ldst API 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: Sai Pavan Boddu , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 To keep the code way easier to review! Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 51 ++++++++++++++------------------------------------- 1 file changed, 14 insertions(+), 37 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 8e12b07ee4..9b3745a019 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -352,10 +352,7 @@ static int sd_req_crc_validate(SDRequest *req) { uint8_t buffer[5]; buffer[0] =3D 0x40 | req->cmd; - buffer[1] =3D (req->arg >> 24) & 0xff; - buffer[2] =3D (req->arg >> 16) & 0xff; - buffer[3] =3D (req->arg >> 8) & 0xff; - buffer[4] =3D (req->arg >> 0) & 0xff; + stl_be_p(buffer + 1, req->arg); return 0; return sd_crc7(buffer, 5) !=3D req->crc; /* TODO */ } @@ -365,19 +362,12 @@ static void sd_response_r1_make(SDState *sd, uint8_t = *response) uint32_t status =3D sd->card_status; /* Clear the "clear on read" status bits */ sd->card_status &=3D ~CARD_STATUS_C; - - response[0] =3D (status >> 24) & 0xff; - response[1] =3D (status >> 16) & 0xff; - response[2] =3D (status >> 8) & 0xff; - response[3] =3D (status >> 0) & 0xff; + stl_be_p(response, status); } =20 static void sd_response_r3_make(SDState *sd, uint8_t *response) { - response[0] =3D (sd->ocr >> 24) & 0xff; - response[1] =3D (sd->ocr >> 16) & 0xff; - response[2] =3D (sd->ocr >> 8) & 0xff; - response[3] =3D (sd->ocr >> 0) & 0xff; + stl_be_p(response, sd->ocr); } =20 static void sd_response_r6_make(SDState *sd, uint8_t *response) @@ -390,19 +380,14 @@ static void sd_response_r6_make(SDState *sd, uint8_t = *response) ((sd->card_status >> 6) & 0x2000) | (sd->card_status & 0x1fff); sd->card_status &=3D ~(CARD_STATUS_C & 0xc81fff); + stw_be_p(response + 0, arg); + stw_be_p(response + 2, status); =20 - response[0] =3D (arg >> 8) & 0xff; - response[1] =3D arg & 0xff; - response[2] =3D (status >> 8) & 0xff; - response[3] =3D status & 0xff; } =20 static void sd_response_r7_make(SDState *sd, uint8_t *response) { - response[0] =3D (sd->vhs >> 24) & 0xff; - response[1] =3D (sd->vhs >> 16) & 0xff; - response[2] =3D (sd->vhs >> 8) & 0xff; - response[3] =3D (sd->vhs >> 0) & 0xff; + stl_be_p(response, sd->vhs); } =20 static inline uint64_t sd_addr_to_wpnum(uint64_t addr) @@ -644,20 +629,13 @@ static void sd_function_switch(SDState *sd, uint32_t = arg) int i, mode, new_func, crc; mode =3D !!(arg & 0x80000000); =20 - sd->data[0] =3D 0x00; /* Maximum current consumption */ - sd->data[1] =3D 0x01; - sd->data[2] =3D 0x80; /* Supported group 6 functions */ - sd->data[3] =3D 0x01; - sd->data[4] =3D 0x80; /* Supported group 5 functions */ - sd->data[5] =3D 0x01; - sd->data[6] =3D 0x80; /* Supported group 4 functions */ - sd->data[7] =3D 0x01; - sd->data[8] =3D 0x80; /* Supported group 3 functions */ - sd->data[9] =3D 0x01; - sd->data[10] =3D 0x80; /* Supported group 2 functions */ - sd->data[11] =3D 0x43; - sd->data[12] =3D 0x80; /* Supported group 1 functions */ - sd->data[13] =3D 0x03; + stw_be_p(sd->data + 0, 1); /* Maximum current consumption */ + stw_be_p(sd->data + 2, 0x8001); /* Supported group 6 functions */ + stw_be_p(sd->data + 4, 0x8001); /* Supported group 5 functions */ + stw_be_p(sd->data + 6, 0x8001); /* Supported group 4 functions */ + stw_be_p(sd->data + 8, 0x8001); /* Supported group 3 functions */ + stw_be_p(sd->data + 10, 0x8043); /* Supported group 2 functions */ + stw_be_p(sd->data + 12, 0x8003); /* Supported group 1 functions */ for (i =3D 0; i < 6; i ++) { new_func =3D (arg >> (i * 4)) & 0x0f; if (mode && new_func !=3D 0x0f) @@ -666,8 +644,7 @@ static void sd_function_switch(SDState *sd, uint32_t ar= g) } memset(&sd->data[17], 0, 47); crc =3D sd_crc16(sd->data, 64); - sd->data[65] =3D crc >> 8; - sd->data[66] =3D crc & 0xff; + stw_be_p(sd->data + 65, crc); } =20 static inline bool sd_wp_addr(SDState *sd, uint64_t addr) --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513207612705664.4588690232187; Wed, 13 Dec 2017 15:26:52 -0800 (PST) Received: from localhost ([::1]:38252 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGQJ-0000Uw-0O for importer@patchew.org; Wed, 13 Dec 2017 18:26:47 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60356) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGLe-0005GG-Vv for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGLe-0007Jt-0f for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:21:58 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:36223) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGLd-0007JE-S3 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:21:57 -0500 Received: by mail-qk0-x243.google.com with SMTP id 8so4145405qkj.3 for ; Wed, 13 Dec 2017 15:21:57 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.21.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:21:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ovLf7HCY9b95lq1yhyL2wtSfDJky1e1qPpOesk1c9H0=; b=GN887atq57NKPfDQiEiRwIvujNcezlJ9PpPhLfItyJg8pE4zSFm5lg9gNxLaljjpag Vv2Jf1emdrXOBeQccaK5qpmw9DsAcT6rv1pSJzdylbIqe83bmfvBJbQCdQTwsdiNG/m2 NTPYdK34YX3vwU1bMh2WzbmRp7fSw0uU/UQY4KrXXZxYcu17CuH2LhEX8tvIoopPpFCf DbJPZdqAvKCZhVsBtR4Wx0+nJGi7M8LZM27NbbD14kLpsG6uRo5QYQFgdgc8g6vnnJpu 2jj5u7TrVUYGnPKDB/S5Cd5jEjn0ovTfLWBECKhvMqITIQ2hoaHHaoSFvDcGV16/rTwC mubA== 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=ovLf7HCY9b95lq1yhyL2wtSfDJky1e1qPpOesk1c9H0=; b=ddkIJGcrJloYiYovl2XRcqo0aadcs0UAi6HxZluvtz0/MV5UwbzH69J66jZFrbqsQ3 6DZOTliwK08piJbyn+6+iuVqNO6cUtLDq2oKoAlmcP5pghIrhw7ENPaAaPI+T/GEMAlZ +4Vf62cA5tWYffx2HQirSBUxVVdHaC+80mNBEQA7NevclBofc1aC5/DJ+kVnBHzeDWDH QVFHoulo89xVmdRxFDkhdZ44mhga0WXRrMpSA/7q5i/y+QhvO5cWlHkrIu2aGm1IE7ff VMLwWTgL7N1UpJ/XVKN9CUWfCLtuH/eXo97YXoJ023YTUlGQj+mW7AMvTQeTijWfO/1z lTqA== X-Gm-Message-State: AKGB3mJfyWLGR6aNXtItbbILhy+X+/i6JwYz02HIYugO0DYleWLyhvin L5PfbjudNbjCE53G8iCv27njDcBsGHY= X-Google-Smtp-Source: ACJfBovza2IwZL98D+zsCmWZWn4GynWRcTLCuDirq+q7e9TIzm76f9yU7synEOETzs8RvXlxzTeBmA== X-Received: by 10.55.53.135 with SMTP id c129mr9464577qka.219.1513207317403; Wed, 13 Dec 2017 15:21:57 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:03 -0300 Message-Id: <20171213232025.24503-5-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::243 Subject: [Qemu-devel] [PATCH 04/26] sdcard: replace fprintf() -> qemu_log_mask() 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 9b3745a019..6227a3518b 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1557,14 +1557,16 @@ static void sd_blk_read(SDState *sd, uint64_t addr,= uint32_t len) DPRINTF("sd_blk_read: addr =3D 0x%08llx, len =3D %d\n", (unsigned long long) addr, len); if (!sd->blk || blk_pread(sd->blk, addr, sd->data, len) < 0) { - fprintf(stderr, "sd_blk_read: read error on host side\n"); + qemu_log_mask(LOG_GUEST_ERROR, + "sd_blk_read: read error on host side\n"); } } =20 static void sd_blk_write(SDState *sd, uint64_t addr, uint32_t len) { if (!sd->blk || blk_pwrite(sd->blk, addr, sd->data, len, 0) < 0) { - fprintf(stderr, "sd_blk_write: write error on host side\n"); + qemu_log_mask(LOG_GUEST_ERROR, + "sd_blk_write: write error on host side\n"); } } =20 --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 151320759006317.155322509911116; Wed, 13 Dec 2017 15:26:30 -0800 (PST) Received: from localhost ([::1]:38250 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGPw-0000CS-8Q for importer@patchew.org; Wed, 13 Dec 2017 18:26:24 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60414) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGLk-0005KG-2x for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGLi-0007Q8-3i for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:04 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:46523) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGLh-0007PZ-Vs for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:02 -0500 Received: by mail-qt0-x241.google.com with SMTP id r39so5823261qtr.13 for ; Wed, 13 Dec 2017 15:22:01 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.21.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mViIVDSk5Y9j270iZL+3Q9Iqu+XiE53xwMKRYX4d+w0=; b=GyAJgMenTbn0NtjL3//m9SyC0dhlPvH8j1fx1nUxScZU3ezv8ifEg1QTF8dyWAze1M mmBqmqX9zVOiU2bswJryDTNGv5Vd6bV6thVHmvLEykK/0ivm0TBIcOqNKLh/pJVXNa86 6nlg30df05GgDCJBVkEN5JjDSX6OqBLHHgNCbvLiO1nRJyCQyk08UEV3P14FsMgaNYJ/ hdUzVbFBFuyKd8DWkCeyPM8OfiGdgGn7bXWKhaW5Ubx+1+cMydmuChSzHpCwbLLFEYDt HNFOjExNg5URtrytqDSQbWeutk2CJlKUNYViJ4L9KJOYQ6d885WI7ILSCVaaUNVOlTec GY0w== 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=mViIVDSk5Y9j270iZL+3Q9Iqu+XiE53xwMKRYX4d+w0=; b=oCDif6RGGE21KtNLDF6RAddGenfzoFPj8wSRXd/ldj/ZWiMPzybK1XjWeHch8Wqq/R 7JXrq1E4Dv9hFsWN61+mwtvfeEI/BuqT3BpGTrFoqrAbLmXCRgz2G+oE43ykxvi2lHov ozAXACFvWYA3RVBioSpKiqEDabtjVDydry2uCCxld/vpouA7egBAL8D7YK+7exZQHX0g OeGx6l3QriYrCDhJ9aHiPfIjEtr85AmTuSYujnql+Jt+2j7+c41igg6a9s0MneXxek5N qBAR22ZC8PC863xNTZn9Ux2P2br183SLW5QAjDDb4lJHt18GYFpfzHWvXiO8QG8tNsyR lraA== X-Gm-Message-State: AKGB3mJjrKU7u+r3NL5QIxfIEqPWPXEF6iLIj1HtWtP2GEpChy9gmWin Rr4+orGaawT+5C+FYD/KpTU= X-Google-Smtp-Source: ACJfBovi0cWkCz8c1AQIhNoaOAy+YjHgyFi5lbRy4oGRabETd7h1w87fjqQIRXjdhhjil4ejZJbiGA== X-Received: by 10.200.38.6 with SMTP id u6mr13290185qtu.1.1513207321618; Wed, 13 Dec 2017 15:22:01 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:04 -0300 Message-Id: <20171213232025.24503-6-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH 05/26] sdcard: rename sd_set_mode() -> sd_update_mode() 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 This will ease to trace mode changes (in the following patchs). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 6227a3518b..f63459d2c0 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -128,7 +128,7 @@ struct SDState { bool enable; }; =20 -static void sd_set_mode(SDState *sd) +static void sd_update_mode(SDState *sd) { switch (sd->state) { case sd_inactive_state: @@ -1470,7 +1470,7 @@ int sd_do_command(SDState *sd, SDRequest *req, uint8_= t *response) } =20 last_state =3D sd->state; - sd_set_mode(sd); + sd_update_mode(sd); =20 if (sd->expecting_acmd) { sd->expecting_acmd =3D false; --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513207463052966.2207824168732; Wed, 13 Dec 2017 15:24:23 -0800 (PST) Received: from localhost ([::1]:38236 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGNo-0006m3-3g for importer@patchew.org; Wed, 13 Dec 2017 18:24:12 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60445) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGLo-0005Nq-06 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGLn-0007XX-1s for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:07 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:37583) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGLm-0007X3-Ub for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:07 -0500 Received: by mail-qk0-x241.google.com with SMTP id i130so4146162qke.4 for ; Wed, 13 Dec 2017 15:22:06 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FdWmbprb0y2lU5BWygL0w3lVxP9Fvf1RNEwOsayHnc4=; b=PxZDHdxnxYQoMHbItOgMsjwr7D7wqVTn8gKbhkTS56mlUvKgGmxMQf034b5CaKK6+u dZ2ZSQZXmpU432I26oywN3SV7rQL3KE+7BSnlhF1Ixpscui6LweAYaJLBBtkn1oqH2jC zfwbB2LANcz7dDXXsF31sLJt3KzGPGUoJDT7wVqaVf69VdPsGvFcvuf2XbkSq8gceU23 Ux41qTTFReuxolPsQ55Y+/Fjev56skP4fGG5UeL0U0gn72QuHDQ3yDLr4sxypQ8GpRm/ HkV4A3DTNtXwZH7cOjTOgSAGNZTwM+pEUNTLClQbdrp/6RQWZxhi2TFgdJV4HLt38knH Dxww== 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=FdWmbprb0y2lU5BWygL0w3lVxP9Fvf1RNEwOsayHnc4=; b=CfToAlO2reEI4QEkyFUyFwSXcFDxqPjZjTo3N/VFV1zLlymA2w8Ibx3eiU9kHAmYyu nuHjYv+F8jWzGFUWbdfUDahzNxGK9KIdlCfYePuYqJtTFp8EqxI5VNn7xCLZzVcpnblV 4kRzH0yABK6aW2ddRrTxd02cHPbzK8j91/J4cN5Q2y58UV1W285bN3hIdvL9j+Jpl+aF JmDwyXWQ3CgBjWWEr7kqmh3nbieOMw2On9uF2I5XRPrXvzTLg94p4EUY4TaXiHsZKJHV 2ChgJUcQHPIPVo2m5a7qdFdWNhTX+t79dJtWoY4HU/oBoR5UdooL/C2+Ubf//Klqa0+v 40PA== X-Gm-Message-State: AKGB3mJ8of4HgJd1C2NK6LNgZZzp45u/q4KE4zVoujTLxs/WbvB+F1Qn sAHAYu3elgQmdzNcQJmeRrQ= X-Google-Smtp-Source: ACJfBosmXnyeOH3+bQHiDHvTA4P6hM4CkZ1sWdyxkxaTR6BNgyZ82v1GciRH5hIYLIE+jQ+7N4NTQw== X-Received: by 10.55.158.82 with SMTP id h79mr13669351qke.22.1513207326489; Wed, 13 Dec 2017 15:22:06 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:05 -0300 Message-Id: <20171213232025.24503-7-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::241 Subject: [Qemu-devel] [PATCH 06/26] sdcard: add sd_set_mode() 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 This will ease to trace mode changes (in the following patch). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index f63459d2c0..2c0f8a7dbd 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -128,17 +128,22 @@ struct SDState { bool enable; }; =20 +static void sd_set_mode(SDState *sd, enum SDCardModes mode) +{ + sd->mode =3D mode; +} + static void sd_update_mode(SDState *sd) { switch (sd->state) { case sd_inactive_state: - sd->mode =3D sd_inactive; + sd_set_mode(sd, sd_inactive); break; =20 case sd_idle_state: case sd_ready_state: case sd_identification_state: - sd->mode =3D sd_card_identification_mode; + sd_set_mode(sd, sd_card_identification_mode); break; =20 case sd_standby_state: @@ -147,7 +152,7 @@ static void sd_update_mode(SDState *sd) case sd_receivingdata_state: case sd_programming_state: case sd_disconnect_state: - sd->mode =3D sd_data_transfer_mode; + sd_set_mode(sd, sd_data_transfer_mode); break; } } --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 151320794312666.43699650786061; Wed, 13 Dec 2017 15:32:23 -0800 (PST) Received: from localhost ([::1]:38283 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGVT-0004u7-8S for importer@patchew.org; Wed, 13 Dec 2017 18:32:07 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60525) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGLw-0005Si-4B for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGLr-0007d6-3X for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:16 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:43003) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGLq-0007ch-Vo for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:11 -0500 Received: by mail-qk0-x242.google.com with SMTP id a71so4148448qkc.9 for ; Wed, 13 Dec 2017 15:22:10 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=EuiNyvn9W/kX/s2TpobPCV/3cwZxrl9uzsBg4WGB7ZY=; b=svhOXqLKb9sx4bNlTNIwEqVNxxcUM89bLIXAXQF4sIr3Dxh8ZLNHzsNJDuQyN/KnsF Qi84z0jMfhZPB36fIUJvVseUXwi6eXTd+ozpxtYp5G4UxbbsPB+UUWYeZfiwhChy9lUD b/UIs/8KHkH2F3K7fvDvQvhMVoIhK2S2O/i6ph+rMIuxXPOUv8sVsWcBIwpwF2rKPWFO T22OeZ87b8LKkztYASs7dLOJRxNi7Y6CPzTjpnqkCyFzG7M2qJav0L7sdZn2YMryt+sN 3q4iQUBVr8BOQX+IKe7WUIdfrvJL06ckntZGCGU5lzuzIDKF2zyIOjjyTDFQtuQYWxJr xPxA== 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=EuiNyvn9W/kX/s2TpobPCV/3cwZxrl9uzsBg4WGB7ZY=; b=aZNDI8DjETgPJXsb0/3coKSKzgDrYenDpBbMmiAr8PeRFdABnoxwMRb61XwDecGSkE 52OVf9PmlnzSU0EGNimRlzoE8+W/VuUWTOsBpk/gbrwSV4BDGMVH4mRpPPfyNLpQmDpQ piaDG5JrLSFwWfZI2U0C3RG6RKw8ojVypw4brSM8DMMp6DKUMxXkGd80hHh1DE2WJeKq 7AINqSxxa9kWgBddVTnZJV2ToNUKaRyWM3fgdVoi5Ray3xP6de1rl5EKGWJeti8U6S1v NSZEAI30DvOpZPSHWHKHtE5136bRcScZ17Hzf804GTVvvhEsKWql0eWoOLq8LNLRHNW0 6Dlg== X-Gm-Message-State: AKGB3mLWpgEn/5GtWSFNwt+UyifRe76qRAoqoJEzeTN2HYpu1j9SlEOd dO1fzvPr+4FJzFKUsH3V8Y0= X-Google-Smtp-Source: ACJfBos/jA21aP4fDyzLMJ06A+yCVNZ845iOno/u7j8XYkL92C+tfS0MmXmKxpGx7TSbTarUlbc+8A== X-Received: by 10.55.73.87 with SMTP id w84mr13668189qka.215.1513207330577; Wed, 13 Dec 2017 15:22:10 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:06 -0300 Message-Id: <20171213232025.24503-8-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH 07/26] sdcard: add sdcard_set_mode() trace event 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Use sd_mode_name() to pretty-print the SDCardMode. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 16 +++++++++++++++- hw/sd/trace-events | 3 +++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 2c0f8a7dbd..465d254f2e 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -40,6 +40,7 @@ #include "qemu/timer.h" #include "qemu/log.h" #include "sd-internal.h" +#include "trace.h" =20 //#define DEBUG_SD 1 =20 @@ -128,9 +129,22 @@ struct SDState { bool enable; }; =20 +static const char *sd_mode_name(enum SDCardModes mode) +{ + static const char *mode_name[] =3D { + [sd_inactive] =3D "inactive", + [sd_card_identification_mode] =3D "card_identification", + [sd_data_transfer_mode] =3D "data_transfer", + }; + return mode_name[mode]; +} + static void sd_set_mode(SDState *sd, enum SDCardModes mode) { - sd->mode =3D mode; + if (sd->mode !=3D mode) { + trace_sdcard_set_mode(sd_mode_name(sd->mode), sd_mode_name(mode)); + sd->mode =3D mode; + } } =20 static void sd_update_mode(SDState *sd) diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 6b1dc7380f..369d258d10 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -21,6 +21,9 @@ sdhci_read_dataport(uint16_t data_count) "all %u bytes of= data have been read fr sdhci_write_dataport(uint16_t data_count) "write buffer filled with %u byt= es of data" sdhci_led(bool state) "LED: %u" =20 +# hw/sd/sd.c +sdcard_set_mode(const char *current_mode, const char *new_mode) "%s -> %s" + # hw/sd/milkymist-memcard.c milkymist_memcard_memory_read(uint32_t addr, uint32_t value) "addr 0x%08x = value 0x%08x" milkymist_memcard_memory_write(uint32_t addr, uint32_t value) "addr 0x%08x= value 0x%08x" --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513207769153233.06190359497737; Wed, 13 Dec 2017 15:29:29 -0800 (PST) Received: from localhost ([::1]:38265 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGSg-0002fU-Fx for importer@patchew.org; Wed, 13 Dec 2017 18:29:14 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGM3-0005Yd-Oi for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGM1-0007oh-Mr for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:23 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:36226) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGM1-0007o6-IA for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:21 -0500 Received: by mail-qk0-x243.google.com with SMTP id 8so4146278qkj.3 for ; Wed, 13 Dec 2017 15:22:21 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FCi5ZTRPd6JcXkuz0I2a0cvqFahVEln2csNgHbGgjtw=; b=tozJ/hAHUZGH1nEWqMo7BjeBlVy73MoNttl9ukpuy9uBxLJKSM5MgnKY4OrFvogc9S vAO1AOXUJft1NMwk8Jm3uzl6hgmi+VZgtdOc9R/Fu2WwVSGXQ3ei/pU+5TO6nQHIhKnG fE6B9Kr59mxoT0/akbCl3es4/FM+uPhJdZ2BdThVSdafJPm/BFj7LrnPDLnqcRPv3EE4 /aNP1y7AYcE+rP+AUQ1yIjdngi/NjzpHGCxmqMzZ1x3Sfulzkf/8LvlTg2gFZRAdIRVS V5enIanulNtXZQAoliUrvEkmNk9h8koOikPjK5vUqYUS6M4CeeEb98cXmxEo9KafIjx6 q8wA== 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=FCi5ZTRPd6JcXkuz0I2a0cvqFahVEln2csNgHbGgjtw=; b=P7FVFV+iyJ1l4JxL+wrYnVzWTHWSAgJvP2bGHN2sunZ2485gSGgA5XudtG0pexxt1h SE31fb3uBhv17MRf7v+CUnWnsrg72Xt8Oznxwd8FLzjSiGrhDUYaHyZMncU69EEESR3S HeMzOWZ+ht4jOgcPZzUnJOOktVLJEc+cz7zShWhoRAxYqdcrMDkm7o96BC5aXJxbAwWh Vw174A2HUG8OuQZPgeujHsZoJg3ju63Ncuk3lxkfo1BoM5c3n4YwKX30XOsmXwDmywlP UaMGXa9fRZkkUbNwu2MZf7/gZ6TOuAd40cqTnH3CIsaYMnS+DNBYXNMOa4LT7gcjpGk/ VNow== X-Gm-Message-State: AKGB3mKGtVQJsKW0X3fcilJAIWPEyaSxNEzFEXpH1tRV+pmKb6VpLC6b 0K5N0z+PSmMp8Ar1Fu7iUzA= X-Google-Smtp-Source: ACJfBot9flt4K4AOZMOOiN5sOsI0YayIJRBY8q4o6kxRZRTiRjK1CRkLyCzhOE7voh/GvDV2PvKL5w== X-Received: by 10.55.16.80 with SMTP id a77mr13108490qkh.250.1513207340973; Wed, 13 Dec 2017 15:22:20 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:07 -0300 Message-Id: <20171213232025.24503-9-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::243 Subject: [Qemu-devel] [PATCH 08/26] sdcard: add sd_set_state() 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 This will ease to trace state changes (in the following patchs). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 128 ++++++++++++++++++++++++++++++++-------------------------= ---- 1 file changed, 67 insertions(+), 61 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 465d254f2e..f67c9ff49c 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -171,6 +171,11 @@ static void sd_update_mode(SDState *sd) } } =20 +static void sd_set_state(SDState *sd, enum SDCardStates state) +{ + sd->state =3D state; +} + static const sd_cmd_type_t sd_cmd_type[64] =3D { sd_bc, sd_none, sd_bcr, sd_bcr, sd_none, sd_none, sd_none, sd_ac, sd_bcr, sd_ac, sd_ac, sd_adtc, sd_ac, sd_ac, sd_none, sd_ac, @@ -429,7 +434,7 @@ static void sd_reset(DeviceState *dev) =20 sect =3D sd_addr_to_wpnum(size) + 1; =20 - sd->state =3D sd_idle_state; + sd_set_state(sd, sd_idle_state); sd->rca =3D 0x0000; sd_set_ocr(sd); sd_set_scr(sd); @@ -767,7 +772,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, return sd->spi ? sd_r1 : sd_r0; =20 default: - sd->state =3D sd_idle_state; + sd_set_state(sd, sd_idle_state); sd_reset(DEVICE(sd)); return sd->spi ? sd_r1 : sd_r0; } @@ -777,7 +782,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, if (!sd->spi) goto bad_cmd; =20 - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); return sd_r1; =20 case 2: /* CMD2: ALL_SEND_CID */ @@ -785,7 +790,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, goto bad_cmd; switch (sd->state) { case sd_ready_state: - sd->state =3D sd_identification_state; + sd_set_state(sd, sd_identification_state); return sd_r2_i; =20 default: @@ -799,7 +804,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, switch (sd->state) { case sd_identification_state: case sd_standby_state: - sd->state =3D sd_standby_state; + sd_set_state(sd, sd_standby_state); sd_set_rca(sd); return sd_r6; =20 @@ -829,7 +834,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, switch (sd->mode) { case sd_data_transfer_mode: sd_function_switch(sd, req.arg); - sd->state =3D sd_sendingdata_state; + sd_set_state(sd, sd_sendingdata_state); sd->data_start =3D 0; sd->data_offset =3D 0; return sd_r1; @@ -847,7 +852,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, if (sd->rca !=3D rca) return sd_r0; =20 - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); return sd_r1b; =20 case sd_transfer_state: @@ -855,21 +860,21 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, if (sd->rca =3D=3D rca) break; =20 - sd->state =3D sd_standby_state; + sd_set_state(sd, sd_standby_state); return sd_r1b; =20 case sd_disconnect_state: if (sd->rca !=3D rca) return sd_r0; =20 - sd->state =3D sd_programming_state; + sd_set_state(sd, sd_programming_state); return sd_r1b; =20 case sd_programming_state: if (sd->rca =3D=3D rca) break; =20 - sd->state =3D sd_disconnect_state; + sd_set_state(sd, sd_disconnect_state); return sd_r1b; =20 default: @@ -908,7 +913,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, case sd_transfer_state: if (!sd->spi) break; - sd->state =3D sd_sendingdata_state; + sd_set_state(sd, sd_sendingdata_state); memcpy(sd->data, sd->csd, 16); sd->data_start =3D addr; sd->data_offset =3D 0; @@ -930,7 +935,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, case sd_transfer_state: if (!sd->spi) break; - sd->state =3D sd_sendingdata_state; + sd_set_state(sd, sd_sendingdata_state); memcpy(sd->data, sd->cid, 16); sd->data_start =3D addr; sd->data_offset =3D 0; @@ -946,7 +951,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, goto bad_cmd; switch (sd->state) { case sd_transfer_state: - sd->state =3D sd_sendingdata_state; + sd_set_state(sd, sd_sendingdata_state); sd->data_start =3D req.arg; sd->data_offset =3D 0; =20 @@ -962,13 +967,13 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, case 12: /* CMD12: STOP_TRANSMISSION */ switch (sd->state) { case sd_sendingdata_state: - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); return sd_r1b; =20 case sd_receivingdata_state: - sd->state =3D sd_programming_state; + sd_set_state(sd, sd_programming_state); /* Bzzzzzzztt .... Operation complete. */ - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); return sd_r1b; =20 default: @@ -997,7 +1002,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, if (sd->rca !=3D rca) return sd_r0; =20 - sd->state =3D sd_inactive_state; + sd_set_state(sd, sd_inactive_state); return sd_r0; =20 default: @@ -1024,7 +1029,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, case 17: /* CMD17: READ_SINGLE_BLOCK */ switch (sd->state) { case sd_transfer_state: - sd->state =3D sd_sendingdata_state; + sd_set_state(sd, sd_sendingdata_state); sd->data_start =3D addr; sd->data_offset =3D 0; =20 @@ -1040,7 +1045,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, case 18: /* CMD18: READ_MULTIPLE_BLOCK */ switch (sd->state) { case sd_transfer_state: - sd->state =3D sd_sendingdata_state; + sd_set_state(sd, sd_sendingdata_state); sd->data_start =3D addr; sd->data_offset =3D 0; =20 @@ -1073,7 +1078,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, /* Writing in SPI mode not implemented. */ if (sd->spi) break; - sd->state =3D sd_receivingdata_state; + sd_set_state(sd, sd_receivingdata_state); sd->data_start =3D addr; sd->data_offset =3D 0; sd->blk_written =3D 0; @@ -1099,7 +1104,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, /* Writing in SPI mode not implemented. */ if (sd->spi) break; - sd->state =3D sd_receivingdata_state; + sd_set_state(sd, sd_receivingdata_state); sd->data_start =3D addr; sd->data_offset =3D 0; sd->blk_written =3D 0; @@ -1122,7 +1127,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, goto bad_cmd; switch (sd->state) { case sd_transfer_state: - sd->state =3D sd_receivingdata_state; + sd_set_state(sd, sd_receivingdata_state); sd->data_start =3D 0; sd->data_offset =3D 0; return sd_r1; @@ -1137,7 +1142,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, goto unimplemented_cmd; switch (sd->state) { case sd_transfer_state: - sd->state =3D sd_receivingdata_state; + sd_set_state(sd, sd_receivingdata_state); sd->data_start =3D 0; sd->data_offset =3D 0; return sd_r1; @@ -1156,10 +1161,10 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, return sd_r1b; } =20 - sd->state =3D sd_programming_state; + sd_set_state(sd, sd_programming_state); set_bit(sd_addr_to_wpnum(addr), sd->wp_groups); /* Bzzzzzzztt .... Operation complete. */ - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); return sd_r1b; =20 default: @@ -1175,10 +1180,10 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, return sd_r1b; } =20 - sd->state =3D sd_programming_state; + sd_set_state(sd, sd_programming_state); clear_bit(sd_addr_to_wpnum(addr), sd->wp_groups); /* Bzzzzzzztt .... Operation complete. */ - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); return sd_r1b; =20 default: @@ -1189,7 +1194,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, case 30: /* CMD30: SEND_WRITE_PROT */ switch (sd->state) { case sd_transfer_state: - sd->state =3D sd_sendingdata_state; + sd_set_state(sd, sd_sendingdata_state); *(uint32_t *) sd->data =3D sd_wpbits(sd, req.arg); sd->data_start =3D addr; sd->data_offset =3D 0; @@ -1231,10 +1236,10 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, return sd_r1b; } =20 - sd->state =3D sd_programming_state; + sd_set_state(sd, sd_programming_state); sd_erase(sd); /* Bzzzzzzztt .... Operation complete. */ - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); return sd_r1b; =20 default: @@ -1248,7 +1253,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, goto unimplemented_cmd; switch (sd->state) { case sd_transfer_state: - sd->state =3D sd_receivingdata_state; + sd_set_state(sd, sd_receivingdata_state); sd->data_start =3D 0; sd->data_offset =3D 0; return sd_r1; @@ -1283,10 +1288,11 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, switch (sd->state) { case sd_transfer_state: sd->data_offset =3D 0; - if (req.arg & 1) - sd->state =3D sd_sendingdata_state; - else - sd->state =3D sd_receivingdata_state; + if (req.arg & 1) { + sd_set_state(sd, sd_sendingdata_state); + } else { + sd_set_state(sd, sd_receivingdata_state); + } return sd_r1; =20 default: @@ -1331,7 +1337,7 @@ static sd_rsp_type_t sd_app_command(SDState *sd, case 13: /* ACMD13: SD_STATUS */ switch (sd->state) { case sd_transfer_state: - sd->state =3D sd_sendingdata_state; + sd_set_state(sd, sd_sendingdata_state); sd->data_start =3D 0; sd->data_offset =3D 0; return sd_r1; @@ -1346,7 +1352,7 @@ static sd_rsp_type_t sd_app_command(SDState *sd, case sd_transfer_state: *(uint32_t *) sd->data =3D sd->blk_written; =20 - sd->state =3D sd_sendingdata_state; + sd_set_state(sd, sd_sendingdata_state); sd->data_start =3D 0; sd->data_offset =3D 0; return sd_r1; @@ -1369,7 +1375,7 @@ static sd_rsp_type_t sd_app_command(SDState *sd, case 41: /* ACMD41: SD_APP_OP_COND */ if (sd->spi) { /* SEND_OP_CMD */ - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); return sd_r1; } switch (sd->state) { @@ -1399,7 +1405,7 @@ static sd_rsp_type_t sd_app_command(SDState *sd, * unless it's an enquiry ACMD41 (bits 23:0 =3D=3D 0). */ if (req.arg & ACMD41_ENQUIRY_MASK) { - sd->state =3D sd_ready_state; + sd_set_state(sd, sd_ready_state); } =20 return sd_r3; @@ -1423,7 +1429,7 @@ static sd_rsp_type_t sd_app_command(SDState *sd, case 51: /* ACMD51: SEND_SCR */ switch (sd->state) { case sd_transfer_state: - sd->state =3D sd_sendingdata_state; + sd_set_state(sd, sd_sendingdata_state); sd->data_start =3D 0; sd->data_offset =3D 0; return sd_r1; @@ -1615,12 +1621,12 @@ void sd_write_data(SDState *sd, uint8_t value) sd->data[sd->data_offset ++] =3D value; if (sd->data_offset >=3D sd->blk_len) { /* TODO: Check CRC before committing */ - sd->state =3D sd_programming_state; + sd_set_state(sd, sd_programming_state); BLK_WRITE_BLOCK(sd->data_start, sd->data_offset); sd->blk_written ++; sd->csd[14] |=3D 0x40; /* Bzzzzzzztt .... Operation complete. */ - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); } break; =20 @@ -1639,7 +1645,7 @@ void sd_write_data(SDState *sd, uint8_t value) sd->data[sd->data_offset++] =3D value; if (sd->data_offset >=3D sd->blk_len) { /* TODO: Check CRC before committing */ - sd->state =3D sd_programming_state; + sd_set_state(sd, sd_programming_state); BLK_WRITE_BLOCK(sd->data_start, sd->data_offset); sd->blk_written++; sd->data_start +=3D sd->blk_len; @@ -1650,12 +1656,12 @@ void sd_write_data(SDState *sd, uint8_t value) if (sd->multi_blk_cnt !=3D 0) { if (--sd->multi_blk_cnt =3D=3D 0) { /* Stop! */ - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); break; } } =20 - sd->state =3D sd_receivingdata_state; + sd_set_state(sd, sd_receivingdata_state); } break; =20 @@ -1663,7 +1669,7 @@ void sd_write_data(SDState *sd, uint8_t value) sd->data[sd->data_offset ++] =3D value; if (sd->data_offset >=3D sizeof(sd->cid)) { /* TODO: Check CRC before committing */ - sd->state =3D sd_programming_state; + sd_set_state(sd, sd_programming_state); for (i =3D 0; i < sizeof(sd->cid); i ++) if ((sd->cid[i] | 0x00) !=3D sd->data[i]) sd->card_status |=3D CID_CSD_OVERWRITE; @@ -1674,7 +1680,7 @@ void sd_write_data(SDState *sd, uint8_t value) sd->cid[i] &=3D sd->data[i]; } /* Bzzzzzzztt .... Operation complete. */ - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); } break; =20 @@ -1682,7 +1688,7 @@ void sd_write_data(SDState *sd, uint8_t value) sd->data[sd->data_offset ++] =3D value; if (sd->data_offset >=3D sizeof(sd->csd)) { /* TODO: Check CRC before committing */ - sd->state =3D sd_programming_state; + sd_set_state(sd, sd_programming_state); for (i =3D 0; i < sizeof(sd->csd); i ++) if ((sd->csd[i] | sd_csd_rw_mask[i]) !=3D (sd->data[i] | sd_csd_rw_mask[i])) @@ -1698,7 +1704,7 @@ void sd_write_data(SDState *sd, uint8_t value) sd->csd[i] &=3D sd->data[i]; } /* Bzzzzzzztt .... Operation complete. */ - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); } break; =20 @@ -1706,10 +1712,10 @@ void sd_write_data(SDState *sd, uint8_t value) sd->data[sd->data_offset ++] =3D value; if (sd->data_offset >=3D sd->blk_len) { /* TODO: Check CRC before committing */ - sd->state =3D sd_programming_state; + sd_set_state(sd, sd_programming_state); sd_lock_command(sd); /* Bzzzzzzztt .... Operation complete. */ - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); } break; =20 @@ -1717,7 +1723,7 @@ void sd_write_data(SDState *sd, uint8_t value) sd->data[sd->data_offset ++] =3D value; if (sd->data_offset >=3D sd->blk_len) { APP_WRITE_BLOCK(sd->data_start, sd->data_offset); - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); } break; =20 @@ -1752,7 +1758,7 @@ uint8_t sd_read_data(SDState *sd) ret =3D sd->data[sd->data_offset ++]; =20 if (sd->data_offset >=3D 64) - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); break; =20 case 9: /* CMD9: SEND_CSD */ @@ -1760,7 +1766,7 @@ uint8_t sd_read_data(SDState *sd) ret =3D sd->data[sd->data_offset ++]; =20 if (sd->data_offset >=3D 16) - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); break; =20 case 11: /* CMD11: READ_DAT_UNTIL_STOP */ @@ -1782,7 +1788,7 @@ uint8_t sd_read_data(SDState *sd) ret =3D sd->sd_status[sd->data_offset ++]; =20 if (sd->data_offset >=3D sizeof(sd->sd_status)) - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); break; =20 case 17: /* CMD17: READ_SINGLE_BLOCK */ @@ -1791,7 +1797,7 @@ uint8_t sd_read_data(SDState *sd) ret =3D sd->data[sd->data_offset ++]; =20 if (sd->data_offset >=3D io_len) - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); break; =20 case 18: /* CMD18: READ_MULTIPLE_BLOCK */ @@ -1811,7 +1817,7 @@ uint8_t sd_read_data(SDState *sd) if (sd->multi_blk_cnt !=3D 0) { if (--sd->multi_blk_cnt =3D=3D 0) { /* Stop! */ - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); break; } } @@ -1822,21 +1828,21 @@ uint8_t sd_read_data(SDState *sd) ret =3D sd->data[sd->data_offset ++]; =20 if (sd->data_offset >=3D 4) - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); break; =20 case 30: /* CMD30: SEND_WRITE_PROT */ ret =3D sd->data[sd->data_offset ++]; =20 if (sd->data_offset >=3D 4) - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); break; =20 case 51: /* ACMD51: SEND_SCR */ ret =3D sd->scr[sd->data_offset ++]; =20 if (sd->data_offset >=3D sizeof(sd->scr)) - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); break; =20 case 56: /* CMD56: GEN_CMD */ @@ -1845,7 +1851,7 @@ uint8_t sd_read_data(SDState *sd) ret =3D sd->data[sd->data_offset ++]; =20 if (sd->data_offset >=3D sd->blk_len) - sd->state =3D sd_transfer_state; + sd_set_state(sd, sd_transfer_state); break; =20 default: --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513207626296412.2023795433248; Wed, 13 Dec 2017 15:27:06 -0800 (PST) Received: from localhost ([::1]:38253 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGQW-0000gh-Cq for importer@patchew.org; Wed, 13 Dec 2017 18:27:00 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60680) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGM9-0005cv-0i for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGM5-0007sj-Lt for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:28 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:44701) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGM5-0007sJ-I9 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:25 -0500 Received: by mail-qt0-x243.google.com with SMTP id m59so5831582qte.11 for ; Wed, 13 Dec 2017 15:22:25 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=EOWmD6u+KUk4K2TmGHLkHBYuqz/39tGG/uedEFPJ0wk=; b=CVj+QOUpjrIzh0Yx4hnp6FcJywo6XMX2/HnNY98+kUlfNxFHd/JToLwLMbyo5sIeFr fQEJffJo9DkHbWrBNsuAyf0E1DVUMVAWX3kDJmi7wx4Q1IuIdbbSX0oixm5YpbCvpqN0 s76jfAMpJHkmycLDAigLvIhF8qoDZo3uO9fgWJL7OhEoMkUBi2J7JeTM1rEI1Ez/263q HtF8IrkQDweT/R9q5aacaTxlYC7xxTQ5f3sGHsu9SK9v2/Q7gy00x4sqhhbmMIcUn/v4 WvLNskO5q0hpEJUYvS/A9mFQ3Q6rcF1V5Tp9R+Zm4iPMr1wJiiWvwqHsRshUPPd2O7wc 6CAA== 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=EOWmD6u+KUk4K2TmGHLkHBYuqz/39tGG/uedEFPJ0wk=; b=kR+S48I3wLi88ErZuWQQTCsxqCfO4WmT97SPMfUEEGlvC+W0XboRwVYmywvGKe17fA VCjBU7JARA0SkeP3B3r9KhOt577saJ6PSIpbjtft+3DwfiWZlLs7DCBWcl1+wlRDxlDI li2fYFGE8NtUxErLKPeoGjBYj1VVNnwWflCf7LPj0bUXTUOFqptlgL/A2IXHu8oazIzN OjvcfK2yMno1RUR7aKMUUU9/fZNWdgj6O57Ggtsx7cQiMuUkIyeV3KCqeUoYnPjIDrfC 6a/r7a7iFyC+5WoGBJTmGPa2rmivzGXJKJ3Ay76lpxRkbaY1qsYbYF2+DFRPMPqIceNa zrYQ== X-Gm-Message-State: AKGB3mJTv3MU2tlljiF5wx8WInYRrVCeEi/lG+i8foZseyjLRlEhfwPy /NZq6ebQUQoTpuZaU8IkoSw= X-Google-Smtp-Source: ACJfBosDpyR1C+ksuRRqFHED5lUMftNP115qfGh+JK4cQaGdPPPdjraglvk6vV4gS8J+hvecgwQsEA== X-Received: by 10.200.40.66 with SMTP id 2mr13604941qtr.177.1513207345182; Wed, 13 Dec 2017 15:22:25 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:08 -0300 Message-Id: <20171213232025.24503-10-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH 09/26] sdcard: add a sdcard_set_state() trace event 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 and his sd_state_name() companion to pretty-print the SDCardState. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 24 +++++++++++++++++++++++- hw/sd/trace-events | 1 + 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index f67c9ff49c..bd4a896cba 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -139,6 +139,25 @@ static const char *sd_mode_name(enum SDCardModes mode) return mode_name[mode]; } =20 +static const char *sd_state_name(enum SDCardStates state) +{ + static const char *state_name[] =3D { + [sd_idle_state] =3D "idle", + [sd_ready_state] =3D "ready", + [sd_identification_state] =3D "identification", + [sd_standby_state] =3D "standby", + [sd_transfer_state] =3D "transfer", + [sd_sendingdata_state] =3D "sendingdata", + [sd_receivingdata_state] =3D "receivingdata", + [sd_programming_state] =3D "programming", + [sd_disconnect_state] =3D "disconnect", + }; + if (state =3D=3D sd_inactive_state) { + return "inactive"; + } + return state_name[state]; +} + static void sd_set_mode(SDState *sd, enum SDCardModes mode) { if (sd->mode !=3D mode) { @@ -173,7 +192,10 @@ static void sd_update_mode(SDState *sd) =20 static void sd_set_state(SDState *sd, enum SDCardStates state) { - sd->state =3D state; + if (sd->state !=3D state) { + trace_sdcard_set_state(sd_state_name(sd->state), sd_state_name(sta= te)); + sd->state =3D state; + } } =20 static const sd_cmd_type_t sd_cmd_type[64] =3D { diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 369d258d10..2677c2195d 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -23,6 +23,7 @@ sdhci_led(bool state) "LED: %u" =20 # hw/sd/sd.c sdcard_set_mode(const char *current_mode, const char *new_mode) "%s -> %s" +sdcard_set_state(const char *current_state, const char *new_state) "%s -> = %s" =20 # hw/sd/milkymist-memcard.c milkymist_memcard_memory_read(uint32_t addr, uint32_t value) "addr 0x%08x = value 0x%08x" --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208011016387.7997094762153; Wed, 13 Dec 2017 15:33:31 -0800 (PST) Received: from localhost ([::1]:38286 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGWj-0005tV-3z for importer@patchew.org; Wed, 13 Dec 2017 18:33:25 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60701) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMA-0005ga-VG for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMA-0007xB-3R for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:30 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:34849) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGM9-0007wq-Vx for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:30 -0500 Received: by mail-qk0-x241.google.com with SMTP id c13so4150591qke.2 for ; Wed, 13 Dec 2017 15:22:29 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=A8QkXOfxR5bue/gWaC4JAJCk8ySWAFUHjqLaW+JRgok=; b=NVkqoRr/rynUEky8ZDiy2VI2NB0tDI7GRGlSSDpXFbV0UzSGWVXVRrM06w3ajEoynv mGCkoaFqo7QAK+R5OX4lLSCjRHbRktSW4NZoue8VwyXgnhWRcgCoGmGO3A+GiQLNLMif ErJV11oHdjXzRNEhoG9dd7U3EOTNxUwegUPVgH8DXCJOcpW4B8aDfi+rQw3wzVWIt0mB PTTjjlJ1cIPhTtl6mwNMPughzW+83K9wDLbOEygFfHZbgIF08ljnVfr1gpcVgoDLhBqa osNeulg5yLuoIbCO3Jk+n69KcFjpemPqHpxFCD+XSsvcX7E1M4Heo0CrxpAtNtc+VbCi Sh8A== 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=A8QkXOfxR5bue/gWaC4JAJCk8ySWAFUHjqLaW+JRgok=; b=q5nKRmTASUaP2K44nHqV7HupJeMx8sSl5kg91PITrWdpVwkHXh1+2ge/LQ9adtNdI+ o8Ug89l7Vgigb5YGw1EVeR7B1vIOazKxA+1nKB1QjR9UoidmF/LMSs0zBZ+o17IsH30U 6lii7Cpp5ggiFtsm5I/pB/PFpo9HYt6woi0YyZ74LQYxDKo5b6/czHaeNMpGA+oLFlok Q+El2TCV5DgIX4StgfKBnRahyxFCpQ7fcZBNRS8Iep+Kzy+Ze62iKaRy6uqNoKitkURm 0mWrgHrnIPwZDw617ciPSWBC/ZLLDI+1nGWcu5R+4tWVj5gNF2dvaUAw2vu1KYnmyuHp rWIw== X-Gm-Message-State: AKGB3mIg0Jk9k+RwFyCSonPSudGh6NAQfRGo7d8gzzVhw4E/+zghWcdI yUNNABKvRmZN3iASx8pxOs4= X-Google-Smtp-Source: ACJfBotHfSyXzN+WzBJw64jwccA66TfuJlyJyXPLhz6EFcS9uysDGNmnSiJ6KlrUiuUsY1NLi9nPIQ== X-Received: by 10.55.76.193 with SMTP id z184mr13567709qka.346.1513207349614; Wed, 13 Dec 2017 15:22:29 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:09 -0300 Message-Id: <20171213232025.24503-11-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::241 Subject: [Qemu-devel] [PATCH 10/26] sdcard: use more detailled state/mode trace events 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 sd_set_mode() can now use sd_state_name(), and sd_set_state() use sd_mode_name(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 6 ++++-- hw/sd/trace-events | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index bd4a896cba..c1ed7b59f1 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -161,7 +161,8 @@ static const char *sd_state_name(enum SDCardStates stat= e) static void sd_set_mode(SDState *sd, enum SDCardModes mode) { if (sd->mode !=3D mode) { - trace_sdcard_set_mode(sd_mode_name(sd->mode), sd_mode_name(mode)); + trace_sdcard_set_mode(sd_mode_name(sd->mode), sd_mode_name(mode), + sd_state_name(sd->state)); sd->mode =3D mode; } } @@ -193,7 +194,8 @@ static void sd_update_mode(SDState *sd) static void sd_set_state(SDState *sd, enum SDCardStates state) { if (sd->state !=3D state) { - trace_sdcard_set_state(sd_state_name(sd->state), sd_state_name(sta= te)); + trace_sdcard_set_state(sd_state_name(sd->state), sd_state_name(sta= te), + sd_mode_name(sd->mode)); sd->state =3D state; } } diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 2677c2195d..db5a5e62f2 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -22,8 +22,8 @@ sdhci_write_dataport(uint16_t data_count) "write buffer f= illed with %u bytes of sdhci_led(bool state) "LED: %u" =20 # hw/sd/sd.c -sdcard_set_mode(const char *current_mode, const char *new_mode) "%s -> %s" -sdcard_set_state(const char *current_state, const char *new_state) "%s -> = %s" +sdcard_set_mode(const char *current_mode, const char *new_mode, const char= *state) "%s -> %s (state: %s)" +sdcard_set_state(const char *current_state, const char *new_state, const c= har *mode) "%s -> %s (mode: %s)" =20 # hw/sd/milkymist-memcard.c milkymist_memcard_memory_read(uint32_t addr, uint32_t value) "addr 0x%08x = value 0x%08x" --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513207776860163.39021711105102; Wed, 13 Dec 2017 15:29:36 -0800 (PST) Received: from localhost ([::1]:38266 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGSx-0002tn-5I for importer@patchew.org; Wed, 13 Dec 2017 18:29:31 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60781) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMJ-0005qU-5j for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGME-00082P-FH for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:39 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:38354) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGME-00081r-B0 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:34 -0500 Received: by mail-qt0-x243.google.com with SMTP id d4so5880792qtj.5 for ; Wed, 13 Dec 2017 15:22:34 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dCb+OGZ7pnL1wo1zzNgBRznK8dVGKyUSNfkUo7nL0uk=; b=CVPrKKQ+ArRx7kwjNLxBPlF4YAQwkAnt33uGHlOS3LNRBxRGu5hUXUwFOWUq+SC5OT ljpi24lNykUjrKBti+pD0Gbzo5yr0nEuUS+p0gIE9+YFyrxAnn0Yb7tV4a7fYtjax95h 5NEjUtDnC2P6NrIYImHH8RaJEKnVfl8JkLA7cKTSXh6cxXYVPssB8SzJds+DNNvC7zk7 X6Gc7rffy7WCx5m1L9QeVOt2WMKZk/dgGZheAW3ASap8x3JsMqz++fRGIbGbS2IFYfL9 pzvyoEwyXDZvhuH3E3QUVV5yLpchsUU7LCnUmhNYE/eJcxa5wAKXI+irNi+8x1VjLjZf NMfw== 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=dCb+OGZ7pnL1wo1zzNgBRznK8dVGKyUSNfkUo7nL0uk=; b=OcaeRbbtCS/z6Ddz1XAtjwhX0znT2DZ4AOI6rg3KbSNNG7OUgxsWiSl+DfOGtEmvDn EfZ64f7pXonKNrR74fafor63l4l51o+JDmw3Vyy/BTDTZ4lPCRHNaM/DkJfKaeFZTqn6 Ger3Ck4a8sLb2gehRj7nyUw/PEar8cKMgwmj0iurH0124OB39eiOHMIyaY71oHIithqH 2wUr3PzWsGTZw82EDt7eY2pbca0tt8HSIKV1aj8tNK/H3O/d6Q2YfNizW1dqSw0I+FZs F50ZlKF0RY0XUPjUSa+lNiZ//ti8vXl82m15x0851yKvsmOlTpYJKNd+9dTMICPsMEk9 6KTw== X-Gm-Message-State: AKGB3mI8pRptF+GtDa1UztdKRmvWw+PZkVbUv9kS/MrDHqAqwbIAbXcO DT4pJ/FKQ1Bk1hZwYLANpkQ= X-Google-Smtp-Source: ACJfBotgiFfED+OBMipv4K0gbTpRzuTErEcdnJ0bCLypKNMnmZrvDjJJ4+hmyhL1RAYIjnLD+IlH5Q== X-Received: by 10.200.37.133 with SMTP id e5mr13480873qte.35.1513207353859; Wed, 13 Dec 2017 15:22:33 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:10 -0300 Message-Id: <20171213232025.24503-12-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH 11/26] sdcard: use warn_report() instead of fprintf() 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index c1ed7b59f1..2fa05f42b7 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -725,7 +725,7 @@ static void sd_lock_command(SDState *sd) sd->card_status &=3D ~CARD_IS_LOCKED; sd->pwd_len =3D 0; /* Erasing the entire card here! */ - fprintf(stderr, "SD: Card force-erased by CMD42\n"); + warn_report("SD: Card force-erased by CMD42"); return; } =20 --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208180344231.53431472871; Wed, 13 Dec 2017 15:36:20 -0800 (PST) Received: from localhost ([::1]:38303 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGZI-0007y1-IS for importer@patchew.org; Wed, 13 Dec 2017 18:36:04 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60800) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMJ-0005qu-Lk for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMI-00085h-MM for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:39 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:46527) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGMI-00085M-H9 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:38 -0500 Received: by mail-qt0-x241.google.com with SMTP id r39so5824702qtr.13 for ; Wed, 13 Dec 2017 15:22:38 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0IZpuw6jEfFtsAjlshRTa5inemC5XHSJqrzpr+/bsUE=; b=MNNIM2OUuVObdFwe+FoIQNWTVYBTE3q9QD5hD7YQLDvnU6l3cg1aerif6+d076IzLC RzDZlqB4XUYAfk22gtd26qCUyknvUHFj5zp97CHi/p9fpclU8FmPtCSNHXkDnUmNvjq/ lS4kzP3ZbujHWivBMVVxUhOn/xfLkx5DXWzdai7sglgnJFsbjLybkElVlLFKLcsLl5p7 3h0wLwLQs8foEpl8hYfeZVnjvUwMU6TI/WTrn+hecmSJxa/HYCUCwbUsyZfWUSYRci5K YBG2KWgVkZ6nx7q0umFyZqMYl9MOeYkhRUYFvZVF/5hHEWs9LaSABkjeMTWLatDgZ0wB zuzA== 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=0IZpuw6jEfFtsAjlshRTa5inemC5XHSJqrzpr+/bsUE=; b=FKcZpxhnm3LZUN4Iy42aKEpSDbnDwK5Z7DYcC3O6RSy4SleF+AlcmgbFB7OUr0xDxt HqTDjt5X5cJKEii4Te0N7KcDJFkSuHp3TLD+Jfa3+/qQaNtcLsOcAUR+PV2RoU50329K CnoaCsWKMu9IH3NxvrWWt8wpscivR3V1lo0z+Rd9N22BJBN3xBfdMWGIo5hqLWJVg5Wz hnFgNBY/whz4akl6SH+euWyQUowjquUsVI5TJP1E4gNRK7aJK8RRh+XUkd1HVu8Vqiy/ GESPIi9hnLlNOO1+hLFeURZ/4dfZEdOguDRnovTzp1iOMz7kBJZS03QakY7A5gxhYZY6 rk1g== X-Gm-Message-State: AKGB3mIq65oZgii8gMPPYmFRQSGzjpFsT6YLbDiWUWbf8qqu8k4ZB2AB DPylEWe8bgPCbrNO7FxcjZc= X-Google-Smtp-Source: ACJfBouYBzdsXVKW6RvT5BWl7eLwJkTN9NsLKFf+k+KReoxIPEGDkkdpCAtopur9cqYglascLk/APg== X-Received: by 10.200.27.225 with SMTP id m30mr14381427qtk.260.1513207358128; Wed, 13 Dec 2017 15:22:38 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:11 -0300 Message-Id: <20171213232025.24503-13-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH 12/26] sdcard: replace DPRINTF() by trace events 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_6 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 11 +++++------ hw/sd/trace-events | 4 ++++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 2fa05f42b7..bd583be835 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -773,6 +773,8 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, uint32_t rca =3D 0x0000; uint64_t addr =3D (sd->ocr & (1 << 30)) ? (uint64_t) req.arg << 9 : re= q.arg; =20 + trace_sdcard_normal_command(req.cmd, req.arg, sd_state_name(sd->state)= ); + /* Not interpreting this as an app command */ sd->card_status &=3D ~APP_CMD; =20 @@ -787,7 +789,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, sd->multi_blk_cnt =3D 0; } =20 - DPRINTF("CMD%d 0x%08x state %d\n", req.cmd, req.arg, sd->state); switch (req.cmd) { /* Basic commands (Class 0 and Class 1) */ case 0: /* CMD0: GO_IDLE_STATE */ @@ -1307,8 +1308,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, return sd_r1; =20 case 56: /* CMD56: GEN_CMD */ - fprintf(stderr, "SD: GEN_CMD 0x%08x\n", req.arg); - switch (sd->state) { case sd_transfer_state: sd->data_offset =3D 0; @@ -1343,7 +1342,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, static sd_rsp_type_t sd_app_command(SDState *sd, SDRequest req) { - DPRINTF("ACMD%d 0x%08x\n", req.cmd, req.arg); + trace_sdcard_app_command(req.cmd, req.arg); sd->card_status |=3D APP_CMD; switch (req.cmd) { case 6: /* ACMD6: SET_BUS_WIDTH */ @@ -1603,8 +1602,7 @@ send_response: =20 static void sd_blk_read(SDState *sd, uint64_t addr, uint32_t len) { - DPRINTF("sd_blk_read: addr =3D 0x%08llx, len =3D %d\n", - (unsigned long long) addr, len); + trace_sdcard_read_block(addr, len); if (!sd->blk || blk_pread(sd->blk, addr, sd->data, len) < 0) { qemu_log_mask(LOG_GUEST_ERROR, "sd_blk_read: read error on host side\n"); @@ -1613,6 +1611,7 @@ static void sd_blk_read(SDState *sd, uint64_t addr, u= int32_t len) =20 static void sd_blk_write(SDState *sd, uint64_t addr, uint32_t len) { + trace_sdcard_write_block(addr, len); if (!sd->blk || blk_pwrite(sd->blk, addr, sd->data, len, 0) < 0) { qemu_log_mask(LOG_GUEST_ERROR, "sd_blk_write: write error on host side\n"); diff --git a/hw/sd/trace-events b/hw/sd/trace-events index db5a5e62f2..117da83014 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -24,6 +24,10 @@ sdhci_led(bool state) "LED: %u" # hw/sd/sd.c sdcard_set_mode(const char *current_mode, const char *new_mode, const char= *state) "%s -> %s (state: %s)" sdcard_set_state(const char *current_state, const char *new_state, const c= har *mode) "%s -> %s (mode: %s)" +sdcard_normal_command(uint8_t cmd, uint32_t arg, const char *state) "CMD%d= arg 0x%08x (state %s)" +sdcard_app_command(uint8_t acmd, uint32_t arg) "ACMD%d arg 0x%08x" +sdcard_read_block(uint64_t addr, uint32_t len) "addr 0x%08lx size 0x%x" +sdcard_write_block(uint64_t addr, uint32_t len) "addr 0x%08lx size 0x%x" =20 # hw/sd/milkymist-memcard.c milkymist_memcard_memory_read(uint32_t addr, uint32_t value) "addr 0x%08x = value 0x%08x" --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 151320828773860.94472874404846; Wed, 13 Dec 2017 15:38:07 -0800 (PST) Received: from localhost ([::1]:38315 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGbH-0000wd-1I for importer@patchew.org; Wed, 13 Dec 2017 18:38:07 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60849) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMO-0005vH-KK for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMN-0008Ay-Ei for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:44 -0500 Received: from mail-qk0-x22e.google.com ([2607:f8b0:400d:c09::22e]:40608) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGMN-0008AC-AK for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:43 -0500 Received: by mail-qk0-x22e.google.com with SMTP id b123so4156126qkg.7 for ; Wed, 13 Dec 2017 15:22:43 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0Juk9CrzOR2btKuOgiMVVKX6OBu4mfQ17MIIsJ4vs68=; b=BlDRc6g0Q8SPRlTPRstG8guyEUaPkAIgzeLz5ImaZZMxP7GWluGJAiFFdCEPsVJQfy l0uyEUoV+StFCeMKKvs4WlmXts00asVrqMaey8MNVQdJiAeGkK+bnw5+CVUgBtPpc4hW hZkqRjG2zTj0XevzSHPqf+sT/BVyaMZ7G6InywF1k39Y4l1TFxptEm4OHw3cy03QIrHl +Ts5xuRomyh7XgnvIcd1pARIdDQYLWWxK+xHc08m+qM14Gjr5m/uT5vRCT7jdwgTl9HH E265ySGC2p8H9fq8OsBe4xEol2aZN377G1s0Fp6RfsqCrD99ssO9GlqHQUoOq7gG19pz mv0Q== 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=0Juk9CrzOR2btKuOgiMVVKX6OBu4mfQ17MIIsJ4vs68=; b=rPksb7H2cQ69PEmA72qok+8ltG/9LzqSjNL/r5c766QlTTSNIY9yp+DKAol8Ok+LMU CiMU+vagw6oeelfW2uLSLXkmYcBp4jlQkDOlwK+KGiiIZ5vbWUAgRP9gVSiXch3Ztl7r +PHj2vRDjxRl8BOVygyINH3Pz6KbKi8VjZDnRCNPclp9oDfCPPtVeKQPHxzHUrqz5NEe z9K+u+XLClBZ/oFQjhw/AbrD7w9WTHu6eBV9NesYsULMX2vbSE6RyGLcpeKofyQ0kYuA V20wPymuN6rFbWLOrhaiSE7axo5C3hRgX7Z1L+7evqVxZhj+m06DtFptoK2sb9N5HOyO /biw== X-Gm-Message-State: AKGB3mJDVoj+izQZfXu6hiyuwN1pUI/Ga+DyUS9BT6ASrvZ0Oj7MtYLu WyN9ZRRcRLwNHAFjoqxcKoSSYhA/Jjg= X-Google-Smtp-Source: ACJfBovB2V3ulJ63kfE9OMpWYxS1cyVREJ8Ye3zQNk1MUkSTl+AV+9DEO6A57HUt2bMfL+Nxbt4sVA== X-Received: by 10.55.7.132 with SMTP id 126mr13457927qkh.70.1513207362847; Wed, 13 Dec 2017 15:22:42 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:12 -0300 Message-Id: <20171213232025.24503-14-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::22e Subject: [Qemu-devel] [PATCH 13/26] sdcard: add more trace events 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 12 ++++++++++++ hw/sd/trace-events | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index bd583be835..84e02745f1 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -449,6 +449,7 @@ static void sd_reset(DeviceState *dev) uint64_t size; uint64_t sect; =20 + trace_sdcard_reset(); if (sd->blk) { blk_get_geometry(sd->blk, §); } else { @@ -500,7 +501,10 @@ static void sd_cardchange(void *opaque, bool load, Err= or **errp) bool readonly =3D sd_get_readonly(sd); =20 if (inserted) { + trace_sdcard_inserted(readonly); sd_reset(dev); + } else { + trace_sdcard_ejected(); } =20 /* The IRQ notification is for legacy non-QOM SD controller devices; @@ -632,6 +636,7 @@ static void sd_erase(SDState *sd) uint64_t erase_start =3D sd->erase_start; uint64_t erase_end =3D sd->erase_end; =20 + trace_sdcard_erase(); if (!sd->erase_start || !sd->erase_end) { sd->card_status |=3D ERASE_SEQ_ERROR; return; @@ -713,6 +718,11 @@ static void sd_lock_command(SDState *sd) else pwd_len =3D 0; =20 + if (lock) { + trace_sdcard_lock(); + } else { + trace_sdcard_unlock(); + } if (erase) { if (!(sd->card_status & CARD_IS_LOCKED) || sd->blk_len > 1 || set_pwd || clr_pwd || lock || sd->wp_switch || @@ -1639,6 +1649,7 @@ void sd_write_data(SDState *sd, uint8_t value) if (sd->card_status & (ADDRESS_ERROR | WP_VIOLATION)) return; =20 + trace_sdcard_write_data(value); switch (sd->current_cmd) { case 24: /* CMD24: WRITE_SINGLE_BLOCK */ sd->data[sd->data_offset ++] =3D value; @@ -1776,6 +1787,7 @@ uint8_t sd_read_data(SDState *sd) =20 io_len =3D (sd->ocr & (1 << 30)) ? 512 : sd->blk_len; =20 + trace_sdcard_read_data(io_len); switch (sd->current_cmd) { case 6: /* CMD6: SWITCH_FUNCTION */ ret =3D sd->data[sd->data_offset ++]; diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 117da83014..0e78f980de 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -26,8 +26,16 @@ sdcard_set_mode(const char *current_mode, const char *ne= w_mode, const char *stat sdcard_set_state(const char *current_state, const char *new_state, const c= har *mode) "%s -> %s (mode: %s)" sdcard_normal_command(uint8_t cmd, uint32_t arg, const char *state) "CMD%d= arg 0x%08x (state %s)" sdcard_app_command(uint8_t acmd, uint32_t arg) "ACMD%d arg 0x%08x" +sdcard_reset(void) "" +sdcard_inserted(bool readonly) "read_only: %d" +sdcard_ejected(void) "" +sdcard_erase(void) "" +sdcard_lock(void) "" +sdcard_unlock(void) "" sdcard_read_block(uint64_t addr, uint32_t len) "addr 0x%08lx size 0x%x" sdcard_write_block(uint64_t addr, uint32_t len) "addr 0x%08lx size 0x%x" +sdcard_write_data(uint8_t value) "value 0x%02x" +sdcard_read_data(int length) "len %d" =20 # hw/sd/milkymist-memcard.c milkymist_memcard_memory_read(uint32_t addr, uint32_t value) "addr 0x%08x = value 0x%08x" --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208120392499.29926171182353; Wed, 13 Dec 2017 15:35:20 -0800 (PST) Received: from localhost ([::1]:38295 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGYF-0007C2-IJ for importer@patchew.org; Wed, 13 Dec 2017 18:34:59 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60931) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMX-00061M-Ja for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMS-0008G8-Iw for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:53 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:33050) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGMS-0008Fm-F0 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:48 -0500 Received: by mail-qt0-x243.google.com with SMTP id e2so5921792qti.0 for ; Wed, 13 Dec 2017 15:22:48 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nwxkoCkahqCUkzRdPXbkwE3pdZ2d+NZQNuRFkeqweNk=; b=cpbRwvZmakrXpc93f7OeXvkQtxKH8temADnWjanNZJpJoFBDZE1+g3q3C57ZLmmAbh 1xxO0czOejxVCcyOj98jmwmKw/GkQfHYxLQ1l4ovmdrkF4/3VBoWY+Ep2B8AyFWVdE62 p0q2lQliOc2Bi5c9z/hOrW2FCSFyDiAxCTTiAEQu+zl2t1rIk0+G+/og9cTlOZfaIxXi dNHbtuEFAXK7m3jgXEhfTs88QL7MhTdDnl7ER10VwXU1dpXmRzwMPOlSZI2fUEMQRdNl zTYXrvL2617uq70BQfNSThbUwbA+fitrf5sYeNvUVSGbcznpgaV2laZ/WYZMMJ/Gy8sR MCpQ== 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=nwxkoCkahqCUkzRdPXbkwE3pdZ2d+NZQNuRFkeqweNk=; b=OOnG44zx9w5l26Mt/2GwrckDWZBKIf8R0XE9xDi7k06HuQX1H7OiSaHrgDv5hJW+SS 2XjUODE+I049tZMQYaWuM973NYq3echpqWjBliaJbqLXDrwQla8i+gevF2wDn6D1pEPq 4quODdaK+0KvJKZQ49sfMUiSsUcY0WpQ2wP7Ypb1q9tqTWd29cA6kTp0sKiv4E5nSeH+ 7MMnHlOqTuP9DHl0msCehrhAWmIptmvAS60vIEKgwAxWqJYQRfXiyGAraDqoM0GPXP97 llX11ekrTWGega8qGNC40KPXPJSNZGWTxU8EnBG7BXmLoiuFNFFa7Tqhorm9J2YwPUFw jMrQ== X-Gm-Message-State: AKGB3mKWlVzytvdRkv4TXj1Z17/59I1rIIeZSJ1OQxocQnI/ayXOPnvI QaUDA1M09iNc+di2rUSi6JE= X-Google-Smtp-Source: ACJfBov/cGVNNG5KCJaCXMykRCvXFGZw86tGF+W0nvfqQUyG+MX1Xo48c5/4+dcdqc9RXaeOg82Png== X-Received: by 10.200.51.249 with SMTP id d54mr13669249qtb.168.1513207368060; Wed, 13 Dec 2017 15:22:48 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps , Isaac Lozano <109lozanoi@gmail.com>, Thomas Huth , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Eduardo Habkost Date: Wed, 13 Dec 2017 20:20:13 -0300 Message-Id: <20171213232025.24503-15-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [RFC PATCH 14/26] sdcard: use qemu_hexbuf_strdup() to trace command response 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 26 +++++++------------------- hw/sd/trace-events | 1 + 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 84e02745f1..2a249b1612 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -35,6 +35,7 @@ #include "hw/sd/sd.h" #include "qapi/error.h" #include "qemu/bitmap.h" +#include "qemu/cutils.h" #include "hw/qdev-properties.h" #include "qemu/error-report.h" #include "qemu/timer.h" @@ -42,15 +43,6 @@ #include "sd-internal.h" #include "trace.h" =20 -//#define DEBUG_SD 1 - -#ifdef DEBUG_SD -#define DPRINTF(fmt, ...) \ -do { fprintf(stderr, "SD: " fmt , ## __VA_ARGS__); } while (0) -#else -#define DPRINTF(fmt, ...) do {} while(0) -#endif - #define ACMD41_ENQUIRY_MASK 0x00ffffff #define OCR_POWER_UP 0x80000000 #define OCR_POWER_DELAY_NS 500000 /* 0.5ms */ @@ -1595,17 +1587,13 @@ send_response: sd->card_status &=3D ~CARD_STATUS_B; } =20 -#ifdef DEBUG_SD - if (rsplen) { - int i; - DPRINTF("Response:"); - for (i =3D 0; i < rsplen; i++) - fprintf(stderr, " %02x", response[i]); - fprintf(stderr, " state %d\n", sd->state); - } else { - DPRINTF("No response %d\n", sd->state); + if (trace_event_get_state_backends(TRACE_SDCARD_COMMAND_RESPONSE)) { + char *hexbuf; + + hexbuf =3D qemu_hexbuf_strdup(response, rsplen, NULL, "(no respons= e)"); + trace_sdcard_command_response(hexbuf, sd_state_name(sd->state)); + g_free(hexbuf); } -#endif =20 return rsplen; } diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 0e78f980de..01f94c4b54 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -26,6 +26,7 @@ sdcard_set_mode(const char *current_mode, const char *new= _mode, const char *stat sdcard_set_state(const char *current_state, const char *new_state, const c= har *mode) "%s -> %s (mode: %s)" sdcard_normal_command(uint8_t cmd, uint32_t arg, const char *state) "CMD%d= arg 0x%08x (state %s)" sdcard_app_command(uint8_t acmd, uint32_t arg) "ACMD%d arg 0x%08x" +sdcard_command_response(const char *hexdump, const char *state) "%s (state= %s)" sdcard_reset(void) "" sdcard_inserted(bool readonly) "read_only: %d" sdcard_ejected(void) "" --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513207796885360.9326870901101; Wed, 13 Dec 2017 15:29:56 -0800 (PST) Received: from localhost ([::1]:38267 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGTB-00036T-UR for importer@patchew.org; Wed, 13 Dec 2017 18:29:45 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60930) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMX-00061L-JO for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMW-0008JP-H4 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:53 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:44703) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGMW-0008J0-DJ for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:52 -0500 Received: by mail-qt0-x242.google.com with SMTP id m59so5832588qte.11 for ; Wed, 13 Dec 2017 15:22:52 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=76Vd//NOS6V/WyUxeRWjjnWWrxazhDkGbMhRrH2B2xg=; b=Nu69qDTe9kLZEHh1fqFdVZ/c1hbDPlRicE+NUbHgh63I9bxN0ILYfJdpH6qS2YE6Sx /GGx4gxiGeixuRwq9cy9hWArXqsB9Pq37MgMElLdRrTT/RGPRz1Prypc3KW4kl7dzSQq Y0L9TWoqSgoPs07ece6cVjcRfOVbH5dIYdeStJ+z027knGFkvXFrBJtnXrRUOKXhpyVB yL3ca7AGn7lIVOyNlS88ONfTRwlDhrz2UiVnEt/qZ3Ulu/D2ffh7N5Fc9uknul57u60K tbPx+QiPIdRboJApKvn85CxChwPEOAOvuE1R08CQJmKl1O1KgC3sMHox4vtT07GXlwMW Myyw== 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=76Vd//NOS6V/WyUxeRWjjnWWrxazhDkGbMhRrH2B2xg=; b=pEHwW8xEzJdc2WAyuEa14oCjFMCKQhnX5Y9tXHJDN/R1G1ABD8M5xxw3WxfdxJfGbS 8ChlDf5lVcy+BGpH2LgVuDH+Ujex89/N0SLUhkB2asc3avlhGK3AC1bpTChEEgYFEoV+ L4m0w2yCHec/vjknYTp0Z0ZiMUXH6fzCQ165gBCotE13IQFyNUuF2CO9U+nz8KqU/GSp CX4sdHowMebSN2mXLG5JWnOBcs+2T0mSF5u77p5Y2wUMH2xmS+bExJG/x5o2daq9bkfh StVePLLwBxC3tQv/LwfTFb3hYmMiwGBqPbYCShBMiVRkCRVXcFdsb0q2wxFX882WzP/P pwEQ== X-Gm-Message-State: AKGB3mKYoH1Z/xXmqBcXP2eCzZUTqMjV5PmH7igIMW6+AblZDmWu1MXT eRFFtCFJ9Sju7Jp3AHsx3PE= X-Google-Smtp-Source: ACJfBotIkiQrQevtj4W8Ej4b0A9AibJCVai146wIyplss9PXAOCYpvozAsd7kyKLtNtQ9qchi/Y4ZQ== X-Received: by 10.200.22.91 with SMTP id x27mr13392636qtk.226.1513207371975; Wed, 13 Dec 2017 15:22:51 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:14 -0300 Message-Id: <20171213232025.24503-16-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH 15/26] sdcard: use PW_LEN define instead of '16' magic 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 2a249b1612..542170c3ec 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -47,6 +47,8 @@ #define OCR_POWER_UP 0x80000000 #define OCR_POWER_DELAY_NS 500000 /* 0.5ms */ =20 +#define PW_LEN 16 + typedef enum { sd_r0 =3D 0, /* no response */ sd_r1, /* normal response command */ @@ -100,7 +102,7 @@ struct SDState { uint32_t multi_blk_cnt; uint32_t erase_start; uint32_t erase_end; - uint8_t pwd[16]; + uint8_t pwd[PW_LEN]; uint32_t pwd_len; uint8_t function_group[6]; =20 @@ -571,7 +573,7 @@ static const VMStateDescription sd_vmstate =3D { VMSTATE_UINT32(multi_blk_cnt, SDState), VMSTATE_UINT32(erase_start, SDState), VMSTATE_UINT32(erase_end, SDState), - VMSTATE_UINT8_ARRAY(pwd, SDState, 16), + VMSTATE_UINT8_ARRAY(pwd, SDState, PW_LEN), VMSTATE_UINT32(pwd_len, SDState), VMSTATE_UINT8_ARRAY(function_group, SDState, 6), VMSTATE_UINT8(current_cmd, SDState), @@ -733,7 +735,7 @@ static void sd_lock_command(SDState *sd) =20 if (sd->blk_len < 2 + pwd_len || pwd_len <=3D sd->pwd_len || - pwd_len > sd->pwd_len + 16) { + pwd_len > sd->pwd_len + sizeof(sd->pwd)) { sd->card_status |=3D LOCK_UNLOCK_FAILED; return; } --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513207975416668.8787279780712; Wed, 13 Dec 2017 15:32:55 -0800 (PST) Received: from localhost ([::1]:38285 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGW7-0005R6-ML for importer@patchew.org; Wed, 13 Dec 2017 18:32:49 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60982) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMb-00064x-Ty for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMb-0008Nf-2K for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:57 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:41082) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGMa-0008N4-V1 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:22:57 -0500 Received: by mail-qk0-x242.google.com with SMTP id 84so4156613qks.8 for ; Wed, 13 Dec 2017 15:22:56 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:22:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=F+7m6nxDfRXebDA4MvHkkZ9tZUDVWL4XykvLn1RONC8=; b=THPBKPs0h9ffgS0oOgK8VlPN4g3JJwOO0PcXjTU/YCAUdGEbKP8t+sYmaoatM8fXpR apo/6bpDYq51QEFqCf+aI+dxt2bcIkqOJ0ZBCV9UOCnQ2SxTSLNbnZBMTGtEP0tJJZ+g 8PfCxUx0G1QAxqH+7wq2pq+RB6Zpshgg1W1Tsa48Nb0jTO+hWQR9K6kKmh9r0XMJDBAo LAZ1FsTClgnw9Y5Di1sWbvyjSgMAhMzlZi/CJmFlbH8Z9M5Cvkq/B1m863CBxtAU9GLn AKIlnI25Rmf5qym2G+NLlQWF+vgtc7cPuTn2vc55j777QiPcYg6+x3KbC1j8lN5NOxXe vJUQ== 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=F+7m6nxDfRXebDA4MvHkkZ9tZUDVWL4XykvLn1RONC8=; b=HRdasnonTGO1ncRo6eXipUD/+GDzkaXA4sIy1P3lMSk5GY9ELUz8K4xUZEFcP6flQ/ wO+OU6lJL3l+o/KURRM7KkP9IjfSGxdRX3XCpRJ26286P5kDHUvJoWdfTSNSJ6Qyouc4 dYNbNaTxYCoXEu73i+jhtbU3F++1sFwviflXQDffF8cJoGWlUVvuOJADy1jD3URTW9ak 4iC2HPMeEJDIXjFKsjmfb1qtCKTl+CPFhaVvxo9P51V6JZblVACI15S8GZtbay0U3y3B 1Hw4wHJcb8VyjjLS2DGHuCnlYoQsD1O/HjdN+MHAt75UKafoXpZry4PBsUz3PBaYL1yn VK7w== X-Gm-Message-State: AKGB3mJjBF2ulmwk1l2cN5tRtKlfflzLR5G0KpLSb1ueELAh7e9ZCQNC jIa1deW6tuoAJi4xmstXXzY= X-Google-Smtp-Source: ACJfBotJYPVXBuEprIjsuXIVLo9LmMCbIkju9sB7IArH9o0sFdLLGEk4LBvgS06dCrAuFFgBEi4+Cg== X-Received: by 10.55.128.129 with SMTP id b123mr13568963qkd.1.1513207376582; Wed, 13 Dec 2017 15:22:56 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:15 -0300 Message-Id: <20171213232025.24503-17-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH 16/26] sdcard: let cmd_valid_while_locked() returns a bool 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 542170c3ec..b231411108 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1475,7 +1475,7 @@ static sd_rsp_type_t sd_app_command(SDState *sd, return sd_illegal; } =20 -static int cmd_valid_while_locked(SDState *sd, SDRequest *req) +static bool cmd_valid_while_locked(SDState *sd, SDRequest *req) { /* Valid commands in locked state: * basic class (0) @@ -1489,7 +1489,7 @@ static int cmd_valid_while_locked(SDState *sd, SDRequ= est *req) return req->cmd =3D=3D 41 || req->cmd =3D=3D 42; } if (req->cmd =3D=3D 16 || req->cmd =3D=3D 55) { - return 1; + return true; } return sd_cmd_class[req->cmd & 0x3F] =3D=3D 0 || sd_cmd_class[req->cmd & 0x3F] =3D=3D 7; --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208394275718.5986928305372; Wed, 13 Dec 2017 15:39:54 -0800 (PST) Received: from localhost ([::1]:38321 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGcz-0002H4-JH for importer@patchew.org; Wed, 13 Dec 2017 18:39:53 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32822) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMj-0006Bf-5s for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMg-0008Su-Fy for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:05 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:39926) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGMg-0008SY-CJ for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:02 -0500 Received: by mail-qk0-x242.google.com with SMTP id u184so4146786qkd.6 for ; Wed, 13 Dec 2017 15:23:02 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.22.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:23:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SQJlUxgXRbh/Mwbu004FR983AuN3aRxwFYq86BJ4820=; b=L8DVM8RGX0/UNO2D10pnimU/zRV01SmNlS1f2fA8KHsDi8IXkGkV+U4g0eNe9Kelua Y7iepcdkukSSSm6Rdzy0UPUGjlOKdT7bWpSDwV8Q8gStxFHU5Ys5Z33HS355jGaPbTsw iKDV6R0q0S0RvUN8FBvTq9uyMC353N+fprFiY162jdsAk3969I0AkCaHBuoM5wce4Pjk P4givOY3ksvbCUW9piUxVJlsq8lZerrV3N3BHpbDYbQaFQFWC4KtFZtWrDQqqPy2FjKF cgvQY+3kBObTnyjruDuWF8OLkj1hl90DBvYL9TpL1fbgJg5aDciPhNuXYX/RUezbdnRe 4XVw== 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=SQJlUxgXRbh/Mwbu004FR983AuN3aRxwFYq86BJ4820=; b=f1/iahz2cM7u0hb5w4huD0BGw1PRr0Rqr+73KoRreafEylewxn6cpb1wzizazRLXme S9sLVi7VhapizNuLZ5BuATsmhimh0N5Utd5I89wWmMw0xSg10Y8A4FVa7sVXQX8pCEW/ DqneNMiSDfUh05NxwNLGYip0zaqXT8hSOVKEOPjkoRkkYS2ev7leZWsGUJmpvKfJH3T5 95Kkor6eRVROyB1FQT1/NWG0ClpmBpIdIUlKyxl1epUmC/aTlrg6TMaRdJBrF391NSjw kxvGP2DAzSk1ClXx5To5OKutEAZkRPJYEzcV1PqCG5dr4TkkmZGCTB56nLCElpM6Twfq J/Pg== X-Gm-Message-State: AKGB3mJT2uemgyJhSl9Jc/asXTt0WK4bvQ9kWQbGS/GFG5qvt68nSJSL DkwibV+RDZyJ+hN5CJPumMI= X-Google-Smtp-Source: ACJfBosdTWOV6BLJuJIZDSuhGDPuWTt95hlRNw155dSRqx52LzX0OXinpNox9sVFenyTcIfHMDzucQ== X-Received: by 10.55.200.90 with SMTP id c87mr12257385qkj.132.1513207381921; Wed, 13 Dec 2017 15:23:01 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:16 -0300 Message-Id: <20171213232025.24503-18-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH 17/26] sdcard: rename sd_set_REG() functions called by sd_reset() as sd_reset_REG() 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 They are only called once, during reset :) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index b231411108..d8e3f60536 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -245,7 +245,7 @@ static uint16_t sd_crc16(void *message, size_t width) return shift_reg; } =20 -static void sd_set_ocr(SDState *sd) +static void sd_reset_ocr(SDState *sd) { /* All voltages OK, Standard Capacity SD Memory Card, not yet powered = up */ sd->ocr =3D 0x00ffff00; @@ -260,7 +260,7 @@ static void sd_ocr_powerup(void *opaque) sd->ocr |=3D OCR_POWER_UP; } =20 -static void sd_set_scr(SDState *sd) +static void sd_reset_scr(SDState *sd) { sd->scr[0] =3D 0x00; /* SCR Structure */ sd->scr[1] =3D 0x2f; /* SD Security Support */ @@ -279,7 +279,7 @@ static void sd_set_scr(SDState *sd) #define MDT_YR 2006 #define MDT_MON 2 =20 -static void sd_set_cid(SDState *sd) +static void sd_reset_cid(SDState *sd) { sd->cid[0] =3D MID; /* Fake card manufacturer ID (MID) */ sd->cid[1] =3D OID[0]; /* OEM/Application ID (OID) */ @@ -311,7 +311,7 @@ static const uint8_t sd_csd_rw_mask[16] =3D { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, }; =20 -static void sd_set_csd(SDState *sd, uint64_t size) +static void sd_reset_csd(SDState *sd, uint64_t size) { uint32_t csize =3D (size >> (CMULT_SHIFT + HWBLOCK_SHIFT)) - 1; uint32_t sectsize =3D (1 << (SECTOR_SHIFT + 1)) - 1; @@ -380,12 +380,12 @@ static void sd_set_rca(SDState *sd) #define CARD_STATUS_B 0x00c01e00 #define CARD_STATUS_C 0xfd39a028 =20 -static void sd_set_cardstatus(SDState *sd) +static void sd_reset_cardstatus(SDState *sd) { sd->card_status =3D 0x00000100; } =20 -static void sd_set_sdstatus(SDState *sd) +static void sd_reset_sdstatus(SDState *sd) { memset(sd->sd_status, 0, 64); } @@ -455,12 +455,12 @@ static void sd_reset(DeviceState *dev) =20 sd_set_state(sd, sd_idle_state); sd->rca =3D 0x0000; - sd_set_ocr(sd); - sd_set_scr(sd); - sd_set_cid(sd); - sd_set_csd(sd, size); - sd_set_cardstatus(sd); - sd_set_sdstatus(sd); + sd_reset_ocr(sd); + sd_reset_scr(sd); + sd_reset_cid(sd); + sd_reset_csd(sd, size); + sd_reset_cardstatus(sd); + sd_reset_sdstatus(sd); =20 g_free(sd->wp_groups); sd->wp_switch =3D sd->blk ? blk_is_read_only(sd->blk) : false; --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208526849309.8880120467421; Wed, 13 Dec 2017 15:42:06 -0800 (PST) Received: from localhost ([::1]:38338 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGez-0003nF-0D for importer@patchew.org; Wed, 13 Dec 2017 18:41:57 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32852) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMl-0006D2-J4 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMk-00004w-JA for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:07 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:44704) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGMk-0008WM-EL for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:06 -0500 Received: by mail-qt0-x241.google.com with SMTP id m59so5833149qte.11 for ; Wed, 13 Dec 2017 15:23:06 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.23.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:23:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tX31OcXS7Drbe9tKzbdZdIUHcFVQLJqeVGAjVvWuxas=; b=EbW7pcO8MRZyAclXWjB8APzcSvtaw7Z/MaonA9Sag2bWbfiVS8m75hictL8BG+5HEj yUPw0Sa1blPRzCw9jk+KNRLNN6Cz78llahFgIE2eey8dYQ2PtYk1jSxyWtQKtxkFSqam zCYNSAr/YfGO7W8huoO+qijYPodpoGNzKPl9py5Gl7sTU+Z6xZagPs21nK+W6owY71Xa MziDVy0imXlk4em4k6gNZj0oRH+7Ggw6/5nIfxdqBH/3NtEmueAk3gPsosk0M3HYD27a 1AHgY7fZQ7ohen8ZSu2C3jOFd2ESugzo+vCf1MiB/3z2gObQlEXlgOb2zATaHecUm8+7 0MSw== 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=tX31OcXS7Drbe9tKzbdZdIUHcFVQLJqeVGAjVvWuxas=; b=iq5adZSZCdfOJ3nTFyPScvUjmupYhUR4PCzTOWo7S/7129+aISyTL0iE7BKM1oivHz 1q43zqfW9Hoq3fOc3W9hSkcEWvWzSxhCxH+lUVqOxHV+gPUU7KqgOdPBgQVgg6H41SQY BJZ30I7hlU65qeH0QFGgtOP9SqCFI5i8foGjQZJNsI6T6fJ+rQpkdQ7obWM9L6nkY4aX g4vptsQzshz48BlS8yttzX/ivFqwztXD2fKykZaq1gu2nXSM/VEv+Xus2B+ix+5Ul/FN 0Ps84aTLA5XTOe6hKOC7ozmYFx4+W/L9aoKH1sTrtrB5spZqaFI4RoPA7dcHWpqmcrt7 ywdQ== X-Gm-Message-State: AKGB3mKUwKM9/diBVarRPigbGUat4tSgwMSXgj8ol3yhEf4VHQSaPixB J+YbdnIy4rfvLDkythwxVZhkCEq7BXk= X-Google-Smtp-Source: ACJfBovW2wBoHgny4ZyO2GYaLpoeXms5EzyAAGkp0D5XKveEn3fwBSN0slrF40NK2SnzYZyizXMkDg== X-Received: by 10.200.38.133 with SMTP id 5mr14144500qto.317.1513207386072; Wed, 13 Dec 2017 15:23:06 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:17 -0300 Message-Id: <20171213232025.24503-19-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH 18/26] sdcard: move Memory Card registers together 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Aesthetic, but ease review. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index d8e3f60536..992236df75 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -85,14 +85,17 @@ struct SDState { =20 uint32_t mode; /* current card mode, one of SDCardModes */ int32_t state; /* current card state, one of SDCardStates */ - uint32_t ocr; QEMUTimer *ocr_power_timer; - uint8_t scr[8]; - uint8_t cid[16]; - uint8_t csd[16]; - uint16_t rca; - uint32_t card_status; - uint8_t sd_status[64]; + + /* SD Memory Card Registers */ + uint8_t cid[128 / BITS_PER_BYTE]; /* Card Identification Number = */ + uint16_t rca; /* Relative Card Address */ + uint8_t csd[128 / BITS_PER_BYTE]; /* Card Specific Data */ + uint8_t scr[64 / BITS_PER_BYTE]; /* SD Configuration */ + uint32_t ocr; /* Operation Conditions */ + uint8_t sd_status[512 / BITS_PER_BYTE]; /* SD Status */ + uint32_t card_status; /* Card Status */ + uint32_t vhs; bool wp_switch; unsigned long *wp_groups; --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513207959273427.87971948209224; Wed, 13 Dec 2017 15:32:39 -0800 (PST) Received: from localhost ([::1]:38284 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGVt-0005Ee-Cw for importer@patchew.org; Wed, 13 Dec 2017 18:32:33 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32876) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMp-0006GW-5U for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMo-00008r-7e for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:11 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:36616) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGMo-00008Z-48 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:10 -0500 Received: by mail-qt0-x243.google.com with SMTP id a16so5894273qtj.3 for ; Wed, 13 Dec 2017 15:23:10 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.23.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:23:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Tl07zxwS9y1JGp7inYdmpmthHYCIgWLtkndcLqh1HGU=; b=HWdRymznc10J94uDkLHPx17mLtmFR9ebRgxae0XLvBJuP9fDrKr5lnMvVl/qMPfPL9 sN94i8Faql5QElBMQil3JA5twBriSGhgquBGl4hJ9TIBR1ofpyEuzXlCnouUmh4YyTeH aSgr/mtmbBbDy0GSt0qP1hDRz4zQLHSWHXqEi4xk7sO8sgWuaj8Z6gdc3ObzKCTAGXmZ bDfaSpBgaEUQvCjgAzqP6Iz06HNXUtdV8DrePmtX/8G5hxFwnSS0QzECyUfyYhK3d8CF qzThQeicVmeAgwht4eQGDmucq/zJhxkxqN1GshLEWlSw8bE/sfySkw5dqqZxb8QQxVIs NYHQ== 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=Tl07zxwS9y1JGp7inYdmpmthHYCIgWLtkndcLqh1HGU=; b=JsxxwFzCBFZlXnKQTwrCSQJqNWQaRQa+OIJMC47/UigW3vRiTDh6eHxJrvUsxr8IEk 4+lckouc7UckwkYEV2bkmgtP5Z+APu4JHl14vOTO46KaNQnYbulA3y7hnX5zhr1m9mCV fyleoN834nXZHH+VbFj2/8iYjixqDxL99rSrDFqP6OGWZ7cT+PSDFqfJJAuBxfzyOcOD Ja75tmJmYBLkAz1vgBxLe1PAfAa+mc+vAIg2TgJo++9UHJNwsMDMqmILqTXYxQhqW5Cc FMMNdX72mQdtuq2YTKeDAy0+YiUsNYALXmFPdUX/VD96g1U8BoUtZJDa+cKdRhPDyZ7o htJQ== X-Gm-Message-State: AKGB3mKkdEwPVxC2PegqMG9I4UUEdLJ8+qKdCI0v10cerq1pRTKfcKd6 NWTI8+0KQ58tTSoHpdpxGt4= X-Google-Smtp-Source: ACJfBovkwWXL8Px6AJwf65KYQK90xYKk7mMh7f0UfCSes3taoe+Z1vqB7UWlo56YexLJw8jIFd3nCQ== X-Received: by 10.200.27.225 with SMTP id m30mr14383389qtk.260.1513207389735; Wed, 13 Dec 2017 15:23:09 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:18 -0300 Message-Id: <20171213232025.24503-20-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH 19/26] sdcard: add DSR register 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 992236df75..8a10e28080 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -90,6 +90,7 @@ struct SDState { /* SD Memory Card Registers */ uint8_t cid[128 / BITS_PER_BYTE]; /* Card Identification Number = */ uint16_t rca; /* Relative Card Address */ + uint16_t dsr; /* Driver Stage */ uint8_t csd[128 / BITS_PER_BYTE]; /* Card Specific Data */ uint8_t scr[64 / BITS_PER_BYTE]; /* SD Configuration */ uint32_t ocr; /* Operation Conditions */ @@ -458,6 +459,7 @@ static void sd_reset(DeviceState *dev) =20 sd_set_state(sd, sd_idle_state); sd->rca =3D 0x0000; + sd->dsr =3D 0x0404; sd_reset_ocr(sd); sd_reset_scr(sd); sd_reset_cid(sd); --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208130359177.9032155495803; Wed, 13 Dec 2017 15:35:30 -0800 (PST) Received: from localhost ([::1]:38296 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGYe-0007QL-Fa for importer@patchew.org; Wed, 13 Dec 2017 18:35:24 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32916) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMu-0006NK-9l for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMs-0000ET-D7 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:16 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:39845) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGMs-0000EA-8N for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:14 -0500 Received: by mail-qt0-x243.google.com with SMTP id k19so5863481qtj.6 for ; Wed, 13 Dec 2017 15:23:14 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.23.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:23:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eAXvnQctkY8+ZAy/eGcOTV+eDcpgmFTMiKQtvPUm9mY=; b=HJiXTpPcep40AnJPCAXWqfd1JAEUT/qZLxflgwA4dj/r4atNgQjCxFar3eDek23Oss 1d3Le31K9aBNRYSqnxMkJdcoR61XQgvtJoRJdj4HgS3WYr0vezV7BiWRZGXko0mMOZ64 T+a+LcNR4lnIhiiyXbqc5ohJtFwRtQnM98nqlg1sRShP1Ml6Pwdy4V5PTnPE0CeLs4e1 ytuZ1uGWN3w3i6xluQVcJcalGfYG+Yeezu6Kuz/bRFBDPW50LyUN5m/LuD/bAh6Jhxl3 FYIlzKQ37YIUfRQpBcrpHUSsZGuHKpwFgFrj7q8LF1NsYnL5JLkUk00scvTbWchTInPH ljZQ== 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=eAXvnQctkY8+ZAy/eGcOTV+eDcpgmFTMiKQtvPUm9mY=; b=SkSpHk07uC8o6haEigtQTPKtfosURki8zytuJR/6Q0ilbMafFKbv1oHYNHt0K10qLT xok2/Njt6GIvkigfpIWPT8megZaxg9yPbpIm7oXZEK+xSD9JABaIJHcWVBEmPCFlpGav sq5Kafq59VBBM7OHc8A1IV6PSgcx3uRIXsH46Y8M4qnzoA0CsBFn3j6HfsaREac5M8dn 2HNnUaBjByOTfNxbwPw14usyJsadYv8BcbCmQES6NSPDjxPsEWjZoqLrtYebqg0wpPKQ aG4V0y+5k5I1rojtR0xTaiBN+0f4d918vEhe1XMK1eNzWPlBCigJEyN09Yzy1Xkg6bb7 BidQ== X-Gm-Message-State: AKGB3mLawiAsC2lm+sytTL7cfJbEMAfD6C5A/btwZJ9cWSdj2BC+nKq3 PR9X2iPpotPqVl/oMzAJ0qc= X-Google-Smtp-Source: ACJfBou0gWTn2VZWiYWBjGwTgjm6oQiDqG+qbBsFttQ0Fg1O3wW4Ed6oupXjDw3kq0vpxSzXvgdxyg== X-Received: by 10.200.51.46 with SMTP id t43mr13950485qta.75.1513207393846; Wed, 13 Dec 2017 15:23:13 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:19 -0300 Message-Id: <20171213232025.24503-21-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH 20/26] sdcard: add/use SD_CMD_MAX to check valid SD commands 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 We check once in sd_do_command() if the command is valid (and remove duplicate checks in sd_normal_command() and cmd_valid_while_locked()). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 8a10e28080..99678c89d5 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -198,18 +198,23 @@ static void sd_set_state(SDState *sd, enum SDCardStat= es state) } } =20 -static const sd_cmd_type_t sd_cmd_type[64] =3D { +#define SD_CMD_MAX 64 + +static const sd_cmd_type_t sd_cmd_type[SD_CMD_MAX] =3D { sd_bc, sd_none, sd_bcr, sd_bcr, sd_none, sd_none, sd_none, sd_ac, sd_bcr, sd_ac, sd_ac, sd_adtc, sd_ac, sd_ac, sd_none, sd_ac, + /* 16 */ sd_ac, sd_adtc, sd_adtc, sd_none, sd_none, sd_none, sd_none, sd_none, sd_adtc, sd_adtc, sd_adtc, sd_adtc, sd_ac, sd_ac, sd_adtc, sd_none, + /* 32 */ sd_ac, sd_ac, sd_none, sd_none, sd_none, sd_none, sd_ac, sd_none, sd_none, sd_none, sd_bc, sd_none, sd_none, sd_none, sd_none, sd_none, + /* 48 */ sd_none, sd_none, sd_none, sd_none, sd_none, sd_none, sd_none, sd_ac, sd_adtc, sd_none, sd_none, sd_none, sd_none, sd_none, sd_none, sd_none, }; =20 -static const int sd_cmd_class[64] =3D { +static const int sd_cmd_class[SD_CMD_MAX] =3D { 0, 0, 0, 0, 0, 9, 10, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 6, 6, 6, 6, 5, 5, 10, 10, 10, 10, 5, 9, 9, 9, 7, 7, 7, 7, 7, 7, @@ -787,8 +792,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, /* Not interpreting this as an app command */ sd->card_status &=3D ~APP_CMD; =20 - if (sd_cmd_type[req.cmd & 0x3F] =3D=3D sd_ac - || sd_cmd_type[req.cmd & 0x3F] =3D=3D sd_adtc) { + if (sd_cmd_type[req.cmd] & sd_ac || sd_cmd_type[req.cmd] & sd_adtc) { rca =3D req.arg >> 16; } =20 @@ -1496,8 +1500,8 @@ static bool cmd_valid_while_locked(SDState *sd, SDReq= uest *req) if (req->cmd =3D=3D 16 || req->cmd =3D=3D 55) { return true; } - return sd_cmd_class[req->cmd & 0x3F] =3D=3D 0 - || sd_cmd_class[req->cmd & 0x3F] =3D=3D 7; + return sd_cmd_class[req->cmd] =3D=3D 0 + || sd_cmd_class[req->cmd] =3D=3D 7; } =20 int sd_do_command(SDState *sd, SDRequest *req, uint8_t *response) @@ -1509,6 +1513,11 @@ int sd_do_command(SDState *sd, SDRequest *req, uint8= _t *response) if (!sd->blk || !blk_is_inserted(sd->blk) || !sd->enable) { return 0; } + if (req->cmd > SD_CMD_MAX) { + qemu_log_mask(LOG_GUEST_ERROR, "SD: incorrect command 0x%02x\n", + req->cmd); + req->cmd &=3D 0x3f; + } =20 if (sd_req_crc_validate(req)) { sd->card_status |=3D COM_CRC_ERROR; --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208260262870.6891218200302; Wed, 13 Dec 2017 15:37:40 -0800 (PST) Received: from localhost ([::1]:38314 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGak-0000bz-G9 for importer@patchew.org; Wed, 13 Dec 2017 18:37:34 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32936) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGMx-0006Qq-Cs for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMw-0000HS-8f for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:19 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:41083) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGMw-0000HG-2y for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:18 -0500 Received: by mail-qk0-x241.google.com with SMTP id 84so4157590qks.8 for ; Wed, 13 Dec 2017 15:23:18 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.23.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:23:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+/Gl9Rv3zvEsevVd6dOFu9jPbiOVo4Y5pcc5lFPHfoA=; b=hLPHbCWYL1AYlaWt27w1J3KSOQp6/Ofpx/11v65sSKSAWqf7qZ+V5iVWgKvV0JyEtx HcEWmY1I7omAmeXIB4xbieb4J0EyyyptphNeVW9tkm9qq/32swgtasoO3jw7rSTndLrr m8jsWlaIwFy5LYFpItHLlHiUW0bIcDrbIQObixjFFLTvZuWqIe2Ys+btwzmNgtgYFPbP oxP6Dq4aBDld98suhnVxjSEsdGrKbnYF5wYWF6BRO7LmNnMOvLHVXpWOpHPCHuvuyLhs 9rxPl6fjWOeEeMkgWs6fPx+FKcUJH75sIB+qYJLyXuybeRKKYMP459LAPzzEEqZvGvgk 4+Jw== 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=+/Gl9Rv3zvEsevVd6dOFu9jPbiOVo4Y5pcc5lFPHfoA=; b=Syxs8GcDYf8yyG0LB/u9LV/tlIor0pH4vXFM0krtKmhw/QmrwpqPhb1fZXelg7Gblx SAbKx0HFfNtsGAl2lvSqs2F4Ii0gQRQ6pp3P7KT1799E+Jymc0gdtYazfnT2YHJ//AiF dB1/WH93aUjejdMIw0qTSxWyf2/Dqt1xcFW3uSCu2xB5DDlFPTk4CEx7MqufsgUYEUuJ XgyBE83NRIDJYCihF9qaEdFExPW7ms/FyIxJJIrJigEdMLdmdhqNxYi4dQPYyHRZojER YjMlkVaYfgCjyewEC2b48LUDeM/jOMiRp9g2rsGHJxw17NbmmFbxFeeh//xuA/cQ3/W3 ta+g== X-Gm-Message-State: AKGB3mJkTt34ts2lRCJ8b/u6ajIOqAvcq/zUZs5PLqx9dV/xWsBh2JSJ 2KHeBTXH7pTMXJRN1xs9p38= X-Google-Smtp-Source: ACJfBoverQRKcl1n0h4ldwuFoivH/qJZgiDmBPFkd5jqLLPRdkH8TWqIAGaWPKwZ9GRwJESMsnyB7g== X-Received: by 10.55.191.1 with SMTP id p1mr13176262qkf.152.1513207397660; Wed, 13 Dec 2017 15:23:17 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:20 -0300 Message-Id: <20171213232025.24503-22-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::241 Subject: [Qemu-devel] [PATCH 21/26] sdcard: add sd_cmd_abbreviation() to resolve the SD command id 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 This simplify reading trace output :) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 42 +++++++++++++++++++++++++++++++++++++++++- hw/sd/trace-events | 2 +- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 99678c89d5..c50ac752d4 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -200,6 +200,45 @@ static void sd_set_state(SDState *sd, enum SDCardState= s state) =20 #define SD_CMD_MAX 64 =20 +static const char *sd_cmd_abbreviation(uint8_t cmd) +{ + static const char *cmd_abbrev[SD_CMD_MAX] =3D { + [0] =3D "GO_IDLE_STATE", + [2] =3D "ALL_SEND_CID", [3] =3D "SEND_RELATIVE_A= DDR", + [4] =3D "SET_DSR", [5] =3D "IO_SEND_OP_COND= ", + [6] =3D "SWITCH_FUNC", [7] =3D "SELECT/DESELECT= _CARD", + [8] =3D "SEND_IF_COND", [9] =3D "SEND_CSD", + [10] =3D "SEND_CID", [11] =3D "VOLTAGE_SWITCH", + [12] =3D "STOP_TRANSMISSION", [13] =3D "SEND_STATUS", + [15] =3D "GO_INACTIVE_STATE= ", + [16] =3D "SET_BLOCKLEN", [17] =3D "READ_SINGLE_BLO= CK", + [18] =3D "READ_MULTIPLE_BLOCK", [19] =3D "SEND_TUNING_BLO= CK", + [20] =3D "SPEED_CLASS_CONTROL", [21] =3D "DPS_spec", + [23] =3D "SET_BLOCK_COUNT", + [24] =3D "WRITE_BLOCK", [25] =3D "WRITE_MULTIPLE_= BLOCK", + [26] =3D "MANUF_RSVD", [27] =3D "PROGRAM_CSD", + [28] =3D "SET_WRITE_PROT", [29] =3D "CLR_WRITE_PROT", + [30] =3D "SEND_WRITE_PROT", + [32] =3D "ERASE_WR_BLK_START", [33] =3D "ERASE_WR_BLK_EN= D", + [34] =3D "SW_FUNC_RSVD", [35] =3D "SW_FUNC_RSVD", + [36] =3D "SW_FUNC_RSVD", [37] =3D "SW_FUNC_RSVD", + [38] =3D "ERASE", + [40] =3D "DPS_spec", + [42] =3D "LOCK_UNLOCK", [43] =3D "Q_MANAGEMENT", + [44] =3D "Q_TASK_INFO_A", [45] =3D "Q_TASK_INFO_B", + [46] =3D "Q_RD_TASK", [47] =3D "Q_WR_TASK", + [48] =3D "READ_EXTR_SINGLE", [49] =3D "WRITE_EXTR_SING= LE", + [50] =3D "SW_FUNC_RSVD", /* FIXME */ + [52] =3D "IO_RW_DIRECT", [53] =3D "IO_RW_EXTENDED", + [54] =3D "SDIO_RSVD", [55] =3D "APP_CMD", + [56] =3D "GEN_CMD", [57] =3D "SW_FUNC_RSVD", + [58] =3D "READ_EXTR_MULTI", [59] =3D "WRITE_EXTR_MULT= I", + [60] =3D "MANUF_RSVD", [61] =3D "MANUF_RSVD", + [62] =3D "MANUF_RSVD", [63] =3D "MANUF_RSVD", + }; + return cmd_abbrev[cmd] ? cmd_abbrev[cmd] : "UNKNOWN_CMD"; +} + static const sd_cmd_type_t sd_cmd_type[SD_CMD_MAX] =3D { sd_bc, sd_none, sd_bcr, sd_bcr, sd_none, sd_none, sd_none, sd_ac, sd_bcr, sd_ac, sd_ac, sd_adtc, sd_ac, sd_ac, sd_none, sd_ac, @@ -787,7 +826,8 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, uint32_t rca =3D 0x0000; uint64_t addr =3D (sd->ocr & (1 << 30)) ? (uint64_t) req.arg << 9 : re= q.arg; =20 - trace_sdcard_normal_command(req.cmd, req.arg, sd_state_name(sd->state)= ); + trace_sdcard_normal_command(req.cmd, req.arg, sd_state_name(sd->state), + sd_cmd_abbreviation(req.cmd)); =20 /* Not interpreting this as an app command */ sd->card_status &=3D ~APP_CMD; diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 01f94c4b54..f3714a6dc5 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -24,7 +24,7 @@ sdhci_led(bool state) "LED: %u" # hw/sd/sd.c sdcard_set_mode(const char *current_mode, const char *new_mode, const char= *state) "%s -> %s (state: %s)" sdcard_set_state(const char *current_state, const char *new_state, const c= har *mode) "%s -> %s (mode: %s)" -sdcard_normal_command(uint8_t cmd, uint32_t arg, const char *state) "CMD%d= arg 0x%08x (state %s)" +sdcard_normal_command(uint8_t cmd, uint32_t arg, const char *state, const = char *cmd_desc) "CMD%d arg 0x%08x (state %s) %s" sdcard_app_command(uint8_t acmd, uint32_t arg) "ACMD%d arg 0x%08x" sdcard_command_response(const char *hexdump, const char *state) "%s (state= %s)" sdcard_reset(void) "" --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208370257399.3208555537534; Wed, 13 Dec 2017 15:39:30 -0800 (PST) Received: from localhost ([::1]:38320 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGcW-0001rY-Hd for importer@patchew.org; Wed, 13 Dec 2017 18:39:24 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33052) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGN5-0006bZ-1O for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGMz-0000Mg-RY for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:27 -0500 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:44888) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGMz-0000MC-N8 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:21 -0500 Received: by mail-qk0-x244.google.com with SMTP id h19so4158028qkj.11 for ; Wed, 13 Dec 2017 15:23:21 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.23.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:23:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=r220NieAJUXPOS1rsLdEODC25XEONfLUafvVg92OYl4=; b=V4L7RDYauJt6bFLb75e+4YoWpmCYANoLqKN0cgb8uQu12r6chG5hrbjm/a/Qek2UL9 EJ0YivScU1zR1XziM6jHAQYweUHEErI9B0k6LQdLpjPFaXL8v30YqqwasfyNCdMYy8vK /89wiPaIKullhsWYdXaF2Ybauo0vXlmreHQlfPY31b9Q72T6RFsCcty3FXYHYrmTeXab kzGTQ+lhX53a7SgI2Q4w8zQgokMIjmQzwesfbMiavcLBctZaTjm+stoitRrtkwov9q0O w7OBCpIElxSrHiMThy2Y0OHSGnCx26+jQCq55ZJiQ50tBqHLrPmVs9QoVm1J4aOaLN8N aO7w== 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=r220NieAJUXPOS1rsLdEODC25XEONfLUafvVg92OYl4=; b=uYVvaPQCQYEXvspuC8k46McE8y/pPcm+nKwwyl6zn7Z9xW5hDWnt4KN83w69MjY50R DjStlKQfxkakXiVws6pq0hsH7Ln4+r0WQtavXXj/MjgecGCwu7a1IvWuHcdIE7qbtzBt /oxhilAC3+zcYCQ31qgPgV7Sxy3jabrOopcNSG1Q0GXBA4GA78EGN95nszkgIcLRmZNy cGahjd1IaS8+MmWsXyChmBRPR0uzA3z1GGuhlGOG+yqPLv9uUMXAGmp+Vu2PBAelLV5y KKlXakm0dn5HRANyqR6adAaEKqLarPhwoEhAY1HISaTowNSaF4DRt/XVgWa7W5FmTV4z NLmA== X-Gm-Message-State: AKGB3mIyRfl9E3czsDbtJDzxNdHiJ7HcQZpiZVFeH9HalDHDbm4Z8bzI uVbyQTIiPIrrqh+jJm6yYRY= X-Google-Smtp-Source: ACJfBovGN4pD9vdBsgJfoLIhKI0sY7IUwV0nU+dIqDMxWF6rX/crH551x79XCmFQ/lRdlxl5Uw9wUA== X-Received: by 10.55.27.212 with SMTP id m81mr12331724qkh.307.1513207401208; Wed, 13 Dec 2017 15:23:21 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:21 -0300 Message-Id: <20171213232025.24503-23-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::244 Subject: [Qemu-devel] [PATCH 22/26] sdcard: reduce sd_cmd traces 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Do not trace CMD55 used to start an ACMD. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 6 ++++-- hw/sd/trace-events | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index c50ac752d4..8104d6c055 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -826,8 +826,10 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, uint32_t rca =3D 0x0000; uint64_t addr =3D (sd->ocr & (1 << 30)) ? (uint64_t) req.arg << 9 : re= q.arg; =20 - trace_sdcard_normal_command(req.cmd, req.arg, sd_state_name(sd->state), - sd_cmd_abbreviation(req.cmd)); + if (req.cmd !=3D 55 || sd->expecting_acmd) { + trace_sdcard_normal_command(sd_cmd_abbreviation(req.cmd), req.cmd, + req.arg, sd_state_name(sd->state)); + } =20 /* Not interpreting this as an app command */ sd->card_status &=3D ~APP_CMD; diff --git a/hw/sd/trace-events b/hw/sd/trace-events index f3714a6dc5..412f01a832 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -24,7 +24,7 @@ sdhci_led(bool state) "LED: %u" # hw/sd/sd.c sdcard_set_mode(const char *current_mode, const char *new_mode, const char= *state) "%s -> %s (state: %s)" sdcard_set_state(const char *current_state, const char *new_state, const c= har *mode) "%s -> %s (mode: %s)" -sdcard_normal_command(uint8_t cmd, uint32_t arg, const char *state, const = char *cmd_desc) "CMD%d arg 0x%08x (state %s) %s" +sdcard_normal_command(const char *cmd_desc, uint8_t cmd, uint32_t arg, con= st char *state) "%20s/ CMD%02d arg 0x%08x (state %s)" sdcard_app_command(uint8_t acmd, uint32_t arg) "ACMD%d arg 0x%08x" sdcard_command_response(const char *hexdump, const char *state) "%s (state= %s)" sdcard_reset(void) "" --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208650952364.7069000973961; Wed, 13 Dec 2017 15:44:10 -0800 (PST) Received: from localhost ([::1]:38350 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGh2-0005LW-Vy for importer@patchew.org; Wed, 13 Dec 2017 18:44:05 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33053) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGN5-0006bb-1h for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGN3-0000QI-Bb for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:26 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:44888) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGN3-0000PX-6k for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:25 -0500 Received: by mail-qk0-x243.google.com with SMTP id h19so4158206qkj.11 for ; Wed, 13 Dec 2017 15:23:25 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.23.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:23:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MF5LUpaYdDGgHcmrVugfIHpEwPA5fJUvvgb3my6pkPA=; b=OAj8HC6YZ27e9LY6N2kNlZDcx49PK6QeCBhRMQv0mQ+VVpWyDsqvuT3RF883PTt/NY 3VXLG6kdeA3fGKRqpuGuVbI73XfqIYMutRuAyVB9i7gsM6GKOy0Rrw0EOjQe0+mpbJzr 4OAeX5RA1M3gqu9MV8iD3UgsGXhivnnbD0E/iuz70Ms5n45eKwjmIztBuBEaLTtvbIs9 cz5FBUEitLtBlbjul0Q6ivsy3VWy64x41X/g8XsCEtFHvv3XYozAL3SGIlwSJeFiiwej kLJOMLU4SLSCrARZvcpNXd/9hZdmy4ZsvH+kdHDwoEReYdoR5Ozp9UJrF0kE4EL8XeEB McoA== 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=MF5LUpaYdDGgHcmrVugfIHpEwPA5fJUvvgb3my6pkPA=; b=hWUdI4O0WazZN9w8cNvUgxY6Haj8hgtUoybuooQ4AD62SrG8sMKJP5IZvv4ClVM8rn ea+TNTr7IRHC1YNoGUdwu5kfTYtXW95DjMa4oTNuCt4yEpW5uEWDybkogphSbpZSlz/I x+OBPYx3IYm9Jgpeu8xkV86fkbUWxC3pgyRrLdyIZL6+u/fx0IWdv9QaFVrd27kQelLY 5cRVtdUw5eoqPrDxc27WyOBmP6ZhbYpKWjA/9uraQvGwfF0U5PDlDihJyLQSNjbmzIDA oBKVLh3yF335BmFPeuQrddif2Kh0QMSFUGufWg/slYy9x3sB4krSGVApB0vaCj0oUe7c 3mTA== X-Gm-Message-State: AKGB3mIn+gfi0P5BEbq9gjTiCF2eU/COqHGj+83Ql2iBD05pgeKAXnfR qEj3Q7Wg7fpqgkS9jbVfDsY= X-Google-Smtp-Source: ACJfBovVbcRCyFGSGpTOHok3lWWrfS/wZFcfM6/4Fc7JwCN8qRcyQWzmqLUSFaeyrF/KrOecJhpuEQ== X-Received: by 10.55.102.201 with SMTP id a192mr13568740qkc.269.1513207404803; Wed, 13 Dec 2017 15:23:24 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:22 -0300 Message-Id: <20171213232025.24503-24-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::243 Subject: [Qemu-devel] [PATCH 23/26] sdcard: add ACMD trace events 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 and his sd_acmd_abbreviation() companion to pretty-print the ACMD id. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 25 ++++++++++++++++++++++++- hw/sd/trace-events | 2 +- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 8104d6c055..b8a5a344f5 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -239,6 +239,27 @@ static const char *sd_cmd_abbreviation(uint8_t cmd) return cmd_abbrev[cmd] ? cmd_abbrev[cmd] : "UNKNOWN_CMD"; } =20 +static const char *sd_acmd_abbreviation(uint8_t cmd) +{ + static const char *acmd_abbrev[SD_CMD_MAX] =3D { + [6] =3D "SET_BUS_WIDTH", + [13] =3D "SD_STATUS", + [14] =3D "DPS_spec", [15] =3D "DPS_spec", + [16] =3D "DPS_spec", + [18] =3D "SECU_spec", + [22] =3D "SEND_NUM_WR_BLOCKS", [23] =3D "SET_WR_BLK_ERASE_C= OUNT", + [41] =3D "SD_SEND_OP_COND", + [42] =3D "SET_CLR_CARD_DETECT", + [51] =3D "SEND_SCR", + [52] =3D "SECU_spec", [53] =3D "SECU_spec", + [54] =3D "SECU_spec", + [56] =3D "SECU_spec", [57] =3D "SECU_spec", + [58] =3D "SECU_spec", [59] =3D "SECU_spec", + }; + + return acmd_abbrev[cmd] ? acmd_abbrev[cmd] : "UNKNOWN_ACMD"; +} + static const sd_cmd_type_t sd_cmd_type[SD_CMD_MAX] =3D { sd_bc, sd_none, sd_bcr, sd_bcr, sd_none, sd_none, sd_none, sd_ac, sd_bcr, sd_ac, sd_ac, sd_adtc, sd_ac, sd_ac, sd_none, sd_ac, @@ -1397,7 +1418,9 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, static sd_rsp_type_t sd_app_command(SDState *sd, SDRequest req) { - trace_sdcard_app_command(req.cmd, req.arg); + trace_sdcard_app_command(sd_acmd_abbreviation(req.cmd), req.cmd, + req.arg, sd_state_name(sd->state)); + sd->card_status |=3D APP_CMD; switch (req.cmd) { case 6: /* ACMD6: SET_BUS_WIDTH */ diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 412f01a832..651e3fb303 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -25,7 +25,7 @@ sdhci_led(bool state) "LED: %u" sdcard_set_mode(const char *current_mode, const char *new_mode, const char= *state) "%s -> %s (state: %s)" sdcard_set_state(const char *current_state, const char *new_state, const c= har *mode) "%s -> %s (mode: %s)" sdcard_normal_command(const char *cmd_desc, uint8_t cmd, uint32_t arg, con= st char *state) "%20s/ CMD%02d arg 0x%08x (state %s)" -sdcard_app_command(uint8_t acmd, uint32_t arg) "ACMD%d arg 0x%08x" +sdcard_app_command(const char *acmd_desc, uint8_t acmd, uint32_t arg, cons= t char *state) "%23s/ACMD%02d arg 0x%08x (state %s)" sdcard_command_response(const char *hexdump, const char *state) "%s (state= %s)" sdcard_reset(void) "" sdcard_inserted(bool readonly) "read_only: %d" --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208725665683.6401345928011; Wed, 13 Dec 2017 15:45:25 -0800 (PST) Received: from localhost ([::1]:38362 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGiH-0006Gp-QB for importer@patchew.org; Wed, 13 Dec 2017 18:45:21 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33123) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGN7-0006fe-Qq for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGN6-0000Ws-Om for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:29 -0500 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:38278) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGN6-0000WM-I1 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:28 -0500 Received: by mail-qk0-x244.google.com with SMTP id z203so4157663qkb.5 for ; Wed, 13 Dec 2017 15:23:28 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.23.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:23:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=PJASJOv2swqWEqiLjcNsJSxoLFEOtN8B4S3u5aTR4oA=; b=rVR96ykkID6iYw0eUxZhRGaU/566j1qArahEE8gu4RsH+05XCGoizDtei/ynlh+I04 7PhOK26TVDXHCUiPHiRlcjqRcowrShPd+gOct1G2avQ3EZ0HcdOisBR23dPPa6vktZyE TN3+AKqYE+Dmyw5ORqJ4umDFggkI4JTfn/8uEMcY3AkMKIeo/HBxNgCB++4GzH7L+a9I CFcu35g0GQmrHpOQwdatnNJfUsFe+0efsnTSPDp67T1J7ZWNhqoRip4NnMfCMP/dDjej v8E5HaqlnNJrkLrh+ImV287M28krNLuhfv0W0GUVc/cIp2Cpn/OCgH7ukNPTdQ8xETm3 82BA== 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=PJASJOv2swqWEqiLjcNsJSxoLFEOtN8B4S3u5aTR4oA=; b=Yq9pj1nEqcZuXmjxT9L99kt51p0PBWDHDI/E6yGjUfCcYmqouPDBrdXHOURlWd8Vfw 1ik/UZOpfbJTulFzuHG7+lR4ZT74gBGfGEx3eVIEQL8jDxtDDSTP/2ZMaAmG6YlhWJev iYvFkVR4kKX0rLUj3QavrIAAZqHMesiCG2e//hdaZYbJm/UoTLGhIwuidhULmRe1KD/k SANzK3cCUVfV2nHPCWrCP9pGUFHB5FKUkypLOm7quvuyJM92S8mXl/fQtwwR2B7MB5jd EpVZgDmcNKOErtjekQx8ogy6QKSNdNZVrTlIUOtt2WrsQ1FU9fnxi9ZFp4kRH+1sftpm +Erw== X-Gm-Message-State: AKGB3mLZntll0r5bAANHBKwG9PLXGUv/Ymsvke5iEH6FeYWgrdjOF/m9 NdrY41eL8wDH4ksDxWjt8ds= X-Google-Smtp-Source: ACJfBouwmT+W9DWYpkEeEWgpGAEUB8stX1DM3AAF5X51ZycW03qrJ3E5NAb7uLpsxLNkNEQDjotXlg== X-Received: by 10.55.76.193 with SMTP id z184mr13571272qka.346.1513207408174; Wed, 13 Dec 2017 15:23:28 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:23 -0300 Message-Id: <20171213232025.24503-25-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::244 Subject: [Qemu-devel] [PATCH 24/26] sdcard: use a 16-bit type for the 16-bit RCA register 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index b8a5a344f5..9b90987d7f 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -844,7 +844,7 @@ static void sd_lock_command(SDState *sd) static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req) { - uint32_t rca =3D 0x0000; + uint16_t rca =3D 0x0000; uint64_t addr =3D (sd->ocr & (1 << 30)) ? (uint64_t) req.arg << 9 : re= q.arg; =20 if (req.cmd !=3D 55 || sd->expecting_acmd) { --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208827949999.7569221641178; Wed, 13 Dec 2017 15:47:07 -0800 (PST) Received: from localhost ([::1]:38369 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGjd-0006wg-IW for importer@patchew.org; Wed, 13 Dec 2017 18:46:45 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33195) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGNF-0006lL-9D for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGNA-0000Zy-88 for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:37 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:40302) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGNA-0000Zh-3Z for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:32 -0500 Received: by mail-qk0-x243.google.com with SMTP id b123so4158260qkg.7 for ; Wed, 13 Dec 2017 15:23:32 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.23.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:23:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HHjo8xWzL00CmzVL6l9dc7pg3qaVaMrW87cnpRV6IhQ=; b=dsvUsllS58cfZBmM4moscvZ/YyThosbJb6kL8A4ll9zzJJSJK1NxXJ0r5VaOyNTad4 Pwkm4IGY2S0pzkPOrqo9EkwAXSZCNzir4gMArQZPfelEVoHiA8OLPyA3NJ6c3byrfPY6 AWrXpTgFnHK1wszQ/H1rSDbQGdgg14odN+lC9TucGzpEvyklMeOKNhxrlWquupLZaZRS EF6z7dyt4yk8qCAY7sV5bY8u3FNopBq1R2wCDZjjsPnQvhtiwm5rV4uXZz5fALQ6J6x6 CJmb/F1+fVh0ssavaNsSp6KC+h7rlsYxPapdmOaETiVz+Abjq+yZ6sTGpT6sC2B+ka6V zDjw== 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=HHjo8xWzL00CmzVL6l9dc7pg3qaVaMrW87cnpRV6IhQ=; b=dELNTw4ACm+9X3llFTynXt0Cf7xxfI8HNdlpIcVEtA7F5p67q9C6eB+FrYBHwU1kRX clQS0A8CtwqBRHQTvi/IUe2R6X4HCdxBQ/YCm9rSajMjHonoPXu4sk26lBxWGlV6uvA7 YqU/PrhHSnbaQUv5kCiHG6k44k8aPi1YF7sBIJv1W+CGbiPApe5Ng3+r9eYL0liSceip WfUNLZC+p1yj0lwLH+7CB0boolIRtlcPkwztRtZpWrJyLYDai+vRFVIyJa2XiCs3lXKJ 8DH3ZqJ6qDGH0LLI4DQxj+ezg6G/deJzspNlUMlXXGzP7J0AAowL/Za1nz1ADL3aQSW6 fXOA== X-Gm-Message-State: AKGB3mJyR25MAXILkH0WIkBdeMlESnsDKE7MGkzqRPC0tQBMAXhwgI6f zpC3s2jPi+rCbI1jsEfZDMQ= X-Google-Smtp-Source: ACJfBovZi6DKcSk7DPmYQa61y6CBxI5VP31R899CAzE/yNP3ny7IN4TdLThIK1Fx3J1eZRfEdAlbLw== X-Received: by 10.55.178.134 with SMTP id b128mr13161498qkf.21.1513207411724; Wed, 13 Dec 2017 15:23:31 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:24 -0300 Message-Id: <20171213232025.24503-26-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::243 Subject: [Qemu-devel] [PATCH 25/26] sdcard: add/use a SDCardCommandClass enum instead of magic numbers 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 48 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 9b90987d7f..688bb40bd1 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -274,11 +274,45 @@ static const sd_cmd_type_t sd_cmd_type[SD_CMD_MAX] = =3D { sd_adtc, sd_none, sd_none, sd_none, sd_none, sd_none, sd_none, sd_none, }; =20 -static const int sd_cmd_class[SD_CMD_MAX] =3D { - 0, 0, 0, 0, 0, 9, 10, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 6, 6, 6, 6, - 5, 5, 10, 10, 10, 10, 5, 9, 9, 9, 7, 7, 7, 7, 7, 7, - 7, 7, 10, 7, 9, 9, 9, 8, 8, 10, 8, 8, 8, 8, 8, 8, +enum SDCardCommandClass { + ccc_basic =3D 1 << 0, + ccc_blk_read =3D 1 << 2, + ccc_blk_write =3D 1 << 4, + ccc_erase =3D 1 << 5, + ccc_wp =3D 1 << 6, + ccc_lock =3D 1 << 7, + ccc_appspec =3D 1 << 8, + ccc_io =3D 1 << 9, + ccc_switch =3D 1 << 10, + ccc_ext =3D 1 << 11, +}; + +static const uint32_t sd_cmd_class[SD_CMD_MAX] =3D { + ccc_basic, 0, ccc_basic, ccc_basic, + ccc_basic, ccc_io, ccc_switch, ccc_basic, + ccc_basic, ccc_basic, ccc_basic, ccc_basic, + ccc_basic, ccc_basic, 0, ccc_basic, + /* 16 */ + ccc_blk_read | ccc_blk_write | ccc_lock, ccc_blk_read, + ccc_blk_read, ccc_blk_read, + ccc_blk_read | ccc_blk_write, ccc_ext, 0, + ccc_blk_read | ccc_blk_write, + ccc_blk_write, ccc_blk_write, + 0, ccc_blk_write, + ccc_wp, ccc_wp, + ccc_wp, 0, + /* 32 */ + ccc_erase, ccc_erase, + ccc_switch, ccc_switch, + ccc_switch, ccc_switch, + ccc_erase, 0, + ccc_lock, 0, ccc_lock, 0, 0, 0, 0, 0, + /* 48 */ + ccc_ext, ccc_ext, ccc_switch, 0, + ccc_io, ccc_io, 0, ccc_appspec, + ccc_appspec, ccc_switch, + ccc_ext, ccc_ext, + 0, 0, 0, 0 }; =20 static uint8_t sd_crc7(void *message, size_t width) @@ -1565,8 +1599,8 @@ static bool cmd_valid_while_locked(SDState *sd, SDReq= uest *req) if (req->cmd =3D=3D 16 || req->cmd =3D=3D 55) { return true; } - return sd_cmd_class[req->cmd] =3D=3D 0 - || sd_cmd_class[req->cmd] =3D=3D 7; + return sd_cmd_class[req->cmd] =3D=3D ccc_basic + || sd_cmd_class[req->cmd] =3D=3D ccc_lock; } =20 int sd_do_command(SDState *sd, SDRequest *req, uint8_t *response) --=20 2.15.1 From nobody Thu May 2 14:06:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1513208490933952.3113280171591; Wed, 13 Dec 2017 15:41:30 -0800 (PST) Received: from localhost ([::1]:38333 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGeT-0003Jq-4H for importer@patchew.org; Wed, 13 Dec 2017 18:41:25 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33202) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePGNF-0006lU-Rl for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePGNE-0000e2-Hf for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:37 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:38278) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePGNE-0000dl-By for qemu-devel@nongnu.org; Wed, 13 Dec 2017 18:23:36 -0500 Received: by mail-qk0-x243.google.com with SMTP id z203so4157934qkb.5 for ; Wed, 13 Dec 2017 15:23:36 -0800 (PST) Received: from x1.local ([181.91.222.165]) by smtp.gmail.com with ESMTPSA id l1sm1666918qkk.74.2017.12.13.15.23.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Dec 2017 15:23:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=E5S2C6DVB8AmZpVEosps4WO5s/IsK07ibbrx+RF23vo=; b=phFnRbXhMn7ecYqC5iJ+JAc8MrQt5ao/811rGke1PoFMhjy6v/bPWf3pGtzrfygJlr vmA1A0BEa3Z6Fjy4moCLqPQhHtV8eYcNhg6+YUv8kloniSHllZbxmN3KHvoKbXFxLwlD cU6wnIjbmqIw5M+tsNHMt5mmULREz3V/eLaX2DY3mfqE9PMS1z0ey148LO7R2AqjGbiR T31fjl/Z4PIQtLElxxQ/4MVsXbhEDy/g8qhhkTMtBpbkVXeSONKqG8lfl2itoaCFK4mE ceNaOImc53yWjOnBls5rQWbbLCmhumiJmNUrVAxdUo1nGzlfEMV06HsLO7yBsguoPfib OYPg== 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=E5S2C6DVB8AmZpVEosps4WO5s/IsK07ibbrx+RF23vo=; b=qYW53YBK4zEd69Q/diiQkZIhw4jRxnuIB6+RcUw7IPFZXmhm37/bSubrn96TdQ6Z9u UXZY5BDoJP+P1jInpkcfaYMeLyRWAZXtXay6XC6X0FJrb9cbllj/EHvrJrxoEqXfxQ0Y MfN17lMgs4K6KZ+kSakbxlLzZYc7cuvcUP1+S4YzqWhwlE7ptSGWpXN7Hca/VzjeCsaZ rZj9Ed9IucUQFNetwO+k1Jw9ACuUdLCLvmyq6LIm9YI0IfimqnU+QBjMtUMHyUlt9UE+ Frf1474/seqZWiDxajUhz/+53HJ43lDFBmzbHBdCVgV8AxxyVfyAxStxwWt8vj7yAhUv CA2A== X-Gm-Message-State: AKGB3mKr6pGJzCEodlRy9owfser2f1/73yEhCp+drb1IIIpr0m2Qk4bp 8qo5DIZsJ3JbPfKXU7Gcr0I= X-Google-Smtp-Source: ACJfBos78nv5s4HnTudyongFyitsns5uFS7q9jwYXDB37BPOBaPsAzNIacA3AqxZ8Y2vlIkCNh/nCQ== X-Received: by 10.55.74.144 with SMTP id x138mr12394685qka.239.1513207415852; Wed, 13 Dec 2017 15:23:35 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , "Edgar E . Iglesias" , Peter Maydell , Andrew Baumann , Prasad J Pandit , Clement Deschamps Date: Wed, 13 Dec 2017 20:20:25 -0300 Message-Id: <20171213232025.24503-27-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171213232025.24503-1-f4bug@amsat.org> References: <20171213232025.24503-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::243 Subject: [Qemu-devel] [PATCH 26/26] sdcard: add/use a ccc_spi enum for the commands supported in SPI mode 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: Sai Pavan Boddu , Peter Crosthwaite , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 We can now simplify the 'if (sd->spi) ...' checks, reporting an UNIMP error and returning a sd_illegal value. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 83 +++++++++++++++++++++++++++++++---------------------------= ---- 1 file changed, 41 insertions(+), 42 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 688bb40bd1..a32da6af9f 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -285,34 +285,45 @@ enum SDCardCommandClass { ccc_io =3D 1 << 9, ccc_switch =3D 1 << 10, ccc_ext =3D 1 << 11, + + /* extra */ + ccc_spi =3D 1 << 31, }; =20 static const uint32_t sd_cmd_class[SD_CMD_MAX] =3D { - ccc_basic, 0, ccc_basic, ccc_basic, - ccc_basic, ccc_io, ccc_switch, ccc_basic, - ccc_basic, ccc_basic, ccc_basic, ccc_basic, - ccc_basic, ccc_basic, 0, ccc_basic, + ccc_basic | ccc_spi, ccc_spi, ccc_basic, ccc_basic, + ccc_basic, ccc_io, ccc_switch | ccc_spi, ccc_basic, + ccc_basic, ccc_basic | ccc_spi, ccc_basic | ccc_spi, ccc_basic, + ccc_basic | ccc_spi, ccc_basic | ccc_spi, 0, ccc_basic, /* 16 */ - ccc_blk_read | ccc_blk_write | ccc_lock, ccc_blk_read, - ccc_blk_read, ccc_blk_read, + ccc_blk_read | ccc_blk_write | ccc_lock | ccc_spi, ccc_blk_read | ccc_= spi, + ccc_blk_read | ccc_spi, ccc_blk_read, ccc_blk_read | ccc_blk_write, ccc_ext, 0, ccc_blk_read | ccc_blk_write, - ccc_blk_write, ccc_blk_write, - 0, ccc_blk_write, - ccc_wp, ccc_wp, - ccc_wp, 0, + ccc_blk_write | ccc_spi, ccc_blk_write | ccc_spi, + 0, ccc_blk_write | ccc_spi, + ccc_wp | ccc_spi, ccc_wp | ccc_spi, + ccc_wp | ccc_spi, 0, /* 32 */ - ccc_erase, ccc_erase, - ccc_switch, ccc_switch, - ccc_switch, ccc_switch, - ccc_erase, 0, - ccc_lock, 0, ccc_lock, 0, 0, 0, 0, 0, + ccc_erase | ccc_spi, ccc_erase | ccc_spi, + ccc_switch | ccc_spi, ccc_switch | ccc_spi, + ccc_switch | ccc_spi, ccc_switch | ccc_spi, + ccc_erase | ccc_spi, 0, + ccc_lock, 0, ccc_lock | ccc_spi, 0, 0, 0, 0, 0, /* 48 */ - ccc_ext, ccc_ext, ccc_switch, 0, - ccc_io, ccc_io, 0, ccc_appspec, - ccc_appspec, ccc_switch, - ccc_ext, ccc_ext, + ccc_ext, ccc_ext, ccc_switch | ccc_spi, 0, + ccc_io | ccc_spi, ccc_io | ccc_spi, 0, ccc_appspec | ccc_spi, + ccc_appspec | ccc_spi, ccc_switch | ccc_spi, + ccc_ext | ccc_spi, ccc_ext | ccc_spi, 0, 0, 0, 0 +}, sd_acmd_class[SD_CMD_MAX] =3D { + [6] =3D ccc_appspec, [13] =3D ccc_appspec | ccc_spi, + [14] =3D ccc_appspec, [15] =3D ccc_appspec, + [16] =3D ccc_appspec, [18] =3D ccc_spi, + [22] =3D ccc_appspec | ccc_spi, [23] =3D ccc_appspec | ccc_spi, + [25] =3D ccc_spi, [26] =3D ccc_spi, [28] =3D ccc_appspec, [38] =3D ccc= _spi, + [41] =3D ccc_appspec | ccc_spi, [42] =3D ccc_appspec | ccc_spi, [43] = =3D ccc_spi, + [49] =3D ccc_spi, [51] =3D ccc_appspec | ccc_spi, }; =20 static uint8_t sd_crc7(void *message, size_t width) @@ -899,6 +910,11 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, sd->multi_blk_cnt =3D 0; } =20 + if (sd->spi && !(sd_cmd_class[req.cmd] & ccc_spi)) { + qemu_log_mask(LOG_UNIMP, "SD: CMD%02u not implemented in SPI mode\= n", + req.cmd); + return sd_illegal; + } switch (req.cmd) { /* Basic commands (Class 0 and Class 1) */ case 0: /* CMD0: GO_IDLE_STATE */ @@ -921,8 +937,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, return sd_r1; =20 case 2: /* CMD2: ALL_SEND_CID */ - if (sd->spi) - goto bad_cmd; switch (sd->state) { case sd_ready_state: sd_set_state(sd, sd_identification_state); @@ -934,8 +948,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, break; =20 case 3: /* CMD3: SEND_RELATIVE_ADDR */ - if (sd->spi) - goto bad_cmd; switch (sd->state) { case sd_identification_state: case sd_standby_state: @@ -949,8 +961,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, break; =20 case 4: /* CMD4: SEND_DSR */ - if (sd->spi) - goto bad_cmd; switch (sd->state) { case sd_standby_state: break; @@ -964,8 +974,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, return sd_illegal; =20 case 6: /* CMD6: SWITCH_FUNCTION */ - if (sd->spi) - goto bad_cmd; switch (sd->mode) { case sd_data_transfer_mode: sd_function_switch(sd, req.arg); @@ -980,8 +988,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, break; =20 case 7: /* CMD7: SELECT/DESELECT_CARD */ - if (sd->spi) - goto bad_cmd; switch (sd->state) { case sd_standby_state: if (sd->rca !=3D rca) @@ -1082,8 +1088,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, break; =20 case 11: /* CMD11: READ_DAT_UNTIL_STOP */ - if (sd->spi) - goto bad_cmd; switch (sd->state) { case sd_transfer_state: sd_set_state(sd, sd_sendingdata_state); @@ -1130,8 +1134,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, break; =20 case 15: /* CMD15: GO_INACTIVE_STATE */ - if (sd->spi) - goto bad_cmd; switch (sd->mode) { case sd_data_transfer_mode: if (sd->rca !=3D rca) @@ -1206,8 +1208,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, =20 /* Block write commands (Class 4) */ case 24: /* CMD24: WRITE_SINGLE_BLOCK */ - if (sd->spi) - goto unimplemented_cmd; switch (sd->state) { case sd_transfer_state: /* Writing in SPI mode not implemented. */ @@ -1232,8 +1232,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, break; =20 case 25: /* CMD25: WRITE_MULTIPLE_BLOCK */ - if (sd->spi) - goto unimplemented_cmd; switch (sd->state) { case sd_transfer_state: /* Writing in SPI mode not implemented. */ @@ -1258,8 +1256,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, break; =20 case 26: /* CMD26: PROGRAM_CID */ - if (sd->spi) - goto bad_cmd; switch (sd->state) { case sd_transfer_state: sd_set_state(sd, sd_receivingdata_state); @@ -1274,7 +1270,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, =20 case 27: /* CMD27: PROGRAM_CSD */ if (sd->spi) - goto unimplemented_cmd; + goto unimplemented_cmd; /* XXX */ switch (sd->state) { case sd_transfer_state: sd_set_state(sd, sd_receivingdata_state); @@ -1384,8 +1380,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, =20 /* Lock card commands (Class 7) */ case 42: /* CMD42: LOCK_UNLOCK */ - if (sd->spi) - goto unimplemented_cmd; switch (sd->state) { case sd_transfer_state: sd_set_state(sd, sd_receivingdata_state); @@ -1456,6 +1450,11 @@ static sd_rsp_type_t sd_app_command(SDState *sd, req.arg, sd_state_name(sd->state)); =20 sd->card_status |=3D APP_CMD; + if (sd->spi && !(sd_acmd_class[req.cmd] & ccc_spi)) { + qemu_log_mask(LOG_UNIMP, "SD: ACMD%02u not implemented in SPI mode= \n", + req.cmd); + return sd_illegal; + } switch (req.cmd) { case 6: /* ACMD6: SET_BUS_WIDTH */ switch (sd->state) { --=20 2.15.1