From nobody Tue May 21 09:52:38 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1611816809; cv=none; d=zohomail.com; s=zohoarc; b=FHy3Ga2qXeXoD9arZTnmKCOn16/FM4caQUhHpnQZdY63Uvfin7KJ23hwmL7izBAVYRyilezwAh6l1SqIAE8Pc75sNByfFKUbf/mfBiSwDd5ddt1FdJHXWb0kzx8woXcmUO2b3HqFwxnK2i4kr1UkG/Qa7sOJ+fbSxxHO+YtYWXs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611816809; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=k6LtT3oBEvr/RqKzWKwUas7YF00QYlOogchhlo2BSdQ=; b=iGNP1orRJogpFFvVRMzFU+llfzIjk8QIOSr9epwvuONCgZvDfjTVR/gvMXpEiM9TmlIjZkbQMNgkqFBj4eEC88EZzzeNRCKxeSZKQXsDAPnMc6Nr8HBHcufg1eKf5TEohmlmM7qk2liVWkdF9/AoByxrf0QbTwyaLpsYCw2U6kU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1611816809727716.2233682523281; Wed, 27 Jan 2021 22:53:29 -0800 (PST) Received: from localhost ([::1]:51818 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l51BI-0008Jk-GN for importer@patchew.org; Thu, 28 Jan 2021 01:53:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38076) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l511f-0000uH-LU; Thu, 28 Jan 2021 01:43:31 -0500 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]:45174) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l511b-00055Z-A5; Thu, 28 Jan 2021 01:43:31 -0500 Received: by mail-pl1-x632.google.com with SMTP id b8so2775642plh.12; Wed, 27 Jan 2021 22:43:23 -0800 (PST) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id v19sm3800609pjh.37.2021.01.27.22.43.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jan 2021 22:43:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=k6LtT3oBEvr/RqKzWKwUas7YF00QYlOogchhlo2BSdQ=; b=QX1qjqL7glbEpdgVZ3EA4syfl88rIu/Y8YZHtf8phmocJdFYbLpisdO/TxYemgOqp+ GYIAADthV0X5xn6lEde9M/eWJqq/K0x9Z6RuUIqQE7N+Bb0fcIUH4Rr9HVAoRN+Toz0A hAwHZI81VYazF0KPeRpqDT20apbXA1X7ZWa6B2MDzey7VHmJy2ISilbiDIIdKB8g0R35 yZmUQpZr+vH8IauTj8kELXPlnnJ06PpMwe+fZpOm0LVKACASvUoHJLGk4JxuR3VdAwiM LXQTPnEzhmL39hmKZyiH5W+doWtsBWCYli+SU1i/6QIpyhzmmJ1ge+W6KZ9pvr4CggQv u3Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=k6LtT3oBEvr/RqKzWKwUas7YF00QYlOogchhlo2BSdQ=; b=PU65RAHvhuTT5qcm1uwYaQ03ZWPv6+v2kWgl3aUHql7lrWM1sHJ5+DwInj2m4X1rEY m350YdjGojG06qoToE7D8V1N703Y65pm+YKUGe66dSiFfCC6bRylFIku6dOxIi5vggw3 9VL4PS7oVod/Tdyvfxx7nn/tEUmITgaFb17WFCNFVTS5pagB2pzJE8xzvQoDi7kBAQsF CjDuo1JrGoCZMt3geahjNdAx4t3WDooba2Lr9AdqffaV/SS/Y6EIwsNfkewFQ8wDgqMi v8B9xDNLhgrCqqRW2Uaf4bW14PYPAb8n4VoSBs0X+Oep8Gg9+w9H43iDa51vXrzvs0rQ e5TQ== X-Gm-Message-State: AOAM532SYXmSq9sj+ihe8R7npCr1zZZAn9VLrRKwPAZBrbhNcP13MHkb q2jcUXR39eFd1PJZVjuRusL4tiPupBh0Tw== X-Google-Smtp-Source: ABdhPJxPTRWKNAHNCuojo+BuwWLzxaBd7E9p3JFqWGRrE2UyHyHlhrzEticx7lPnKHDb5nWdDxtSlQ== X-Received: by 2002:a17:90b:948:: with SMTP id dw8mr9815500pjb.72.1611816203023; Wed, 27 Jan 2021 22:43:23 -0800 (PST) From: Bin Meng To: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, qemu-devel@nongnu.org Subject: [PATCH 1/3] hw/sd: sd: Fix address check in sd_erase() Date: Thu, 28 Jan 2021 14:43:10 +0800 Message-Id: <20210128064312.16085-2-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210128064312.16085-1-bmeng.cn@gmail.com> References: <20210128064312.16085-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=bmeng.cn@gmail.com; helo=mail-pl1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) Content-Type: text/plain; charset="utf-8" From: Bin Meng For high capacity memory cards, the erase start address and end address are multiplied by 512, but the address check is still based on the original block number in sd->erase_{start, end}. Fixes: 1bd6fd8ed593 ("hw/sd/sdcard: Do not attempt to erase out of range ad= dresses") Signed-off-by: Bin Meng Reviewed-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 c99c0e93bb..a6a0b3dcc6 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -760,7 +760,7 @@ static void sd_erase(SDState *sd) erase_end *=3D 512; } =20 - if (sd->erase_start > sd->size || sd->erase_end > sd->size) { + if (erase_start > sd->size || erase_end > sd->size) { sd->card_status |=3D OUT_OF_RANGE; sd->erase_start =3D INVALID_ADDRESS; sd->erase_end =3D INVALID_ADDRESS; --=20 2.25.1 From nobody Tue May 21 09:52:38 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1611816679; cv=none; d=zohomail.com; s=zohoarc; b=WUM6IvtNipPlcU5L59QUlGe7lfwG3zfb8e8W9tX09Jgz/E0UbKtZ1CrWGSKeSR9QLANUntH2LWLkJf9CVM5yKGdTKIQT/KJ2gsFeR1FQzT2CVIer8eVrWSzGDBTQCRvT8KHB7ol2XqdTlg0Eb0HrBMgdY2DBjo+hVPWUX1IdnLc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611816679; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dKMbU3gPPNZSIwtgqoe1TvcR5/JaVl30LFswMNv0fOY=; b=i1FtRDiJg7sC4+2LOo/9kBJRCt3591X6vZ5VnXu/Et2pkDMox2coguE9FIp8YGE7QL1vrOzZew7StfexfuMvIqSdDnYGNWDz0hsPU05bq5h21CXVErqgJULX3mmRLZ+PObvd3sv8umsy6SevayDFLCJlpSeUf/zLzbaBwidSZwA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1611816679512682.9742502285756; Wed, 27 Jan 2021 22:51:19 -0800 (PST) Received: from localhost ([::1]:47486 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l519B-0006X8-9V for importer@patchew.org; Thu, 28 Jan 2021 01:51:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38084) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l511h-0000ua-49; Thu, 28 Jan 2021 01:43:33 -0500 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]:40792) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l511b-00055i-Ac; Thu, 28 Jan 2021 01:43:32 -0500 Received: by mail-pj1-x102d.google.com with SMTP id jx18so3698095pjb.5; Wed, 27 Jan 2021 22:43:25 -0800 (PST) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id v19sm3800609pjh.37.2021.01.27.22.43.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jan 2021 22:43:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dKMbU3gPPNZSIwtgqoe1TvcR5/JaVl30LFswMNv0fOY=; b=kQljydyJZhf3j5gp6PYjCqXoXxtk2YvIK0WIvBfMbLw5A7XS4ty+SQIEsCDUT8ePU7 lv84LRq6X6pYyvdaxbjDqyzH4Lf7ndjY54Sh+95r9veEPV7rHZK61kzEDOjFHcCo8yTY 7qfBym3Zl80+ZUAA/4s+Z3BKdlL7WwcGAMZV5XUlDPYwFZpZJY+JDxN2pZIZ/qhLBKwE TfGktyE7Ft2LK0LaKQxlwZmR6fSeDfXUj7udSrncIiHPEfjqh0yyRPwKGNHbbU93SQ55 S79zC1a7W0dKmXbNNsnoLNmL8phvA+YA54pQpgn/DhD9W4QKNbJ2iQ1zZkqn/sCMTr7R Tzww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dKMbU3gPPNZSIwtgqoe1TvcR5/JaVl30LFswMNv0fOY=; b=ljJrE5kcPPLJ4e2DKGOjfl7Hs14mcON4D+XgbyBMOPojexHXjhMhMEHOZPH4Gf8Wiw vau/AMa2SZdrGfaZNqNJuhkDYFTLUqxQdH8KgcajE5nzZpQYowBGdVngHBIjLBrEb5IJ MFahvs5YtSaTCgplRujesu9c2jL6hQkp/KjDEYaLTxkGxTYEHD0PheSnX4jCyBGnudb1 y0DkFlNwEmCTBIIHWIbGWfvOG+uPBmCS0D3FtlNhadWizsC7AJkX7wGisdzmL9ILfn3l 0+sYU69/k077OLp9sbGDrpNLZz+JaiZuLBjwluFTO1yW9vFaQade8IowbAI8joCEVH+n dXWA== X-Gm-Message-State: AOAM5319v7inyZ93FhDkTdzxqe+JsJW6CqFRjhMXMVrMR4IsBU+3JOZD qMGLqcmyhrI+cLQ3ERSce5Y= X-Google-Smtp-Source: ABdhPJxQ0b+QrHxEBKFP5x6VI/a0KZjjGOJ4EXvpjLznUG+1jqH+bV0xF3FO6PYmPvXC3DrWd5c7Pg== X-Received: by 2002:a17:903:248e:b029:de:b329:ffaa with SMTP id p14-20020a170903248eb02900deb329ffaamr15085852plw.71.1611816205204; Wed, 27 Jan 2021 22:43:25 -0800 (PST) From: Bin Meng To: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, qemu-devel@nongnu.org Subject: [PATCH 2/3] hw/sd: sd: Move the sd_block_{read, write} and macros ahead Date: Thu, 28 Jan 2021 14:43:11 +0800 Message-Id: <20210128064312.16085-3-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210128064312.16085-1-bmeng.cn@gmail.com> References: <20210128064312.16085-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=bmeng.cn@gmail.com; helo=mail-pj1-x102d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Bin Meng These APIs and macros may be referenced by functions that are currently before them. Move them ahead a little bit. Signed-off-by: Bin Meng Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index a6a0b3dcc6..1886d4b30b 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -739,6 +739,27 @@ void sd_set_cb(SDState *sd, qemu_irq readonly, qemu_ir= q insert) qemu_set_irq(insert, sd->blk ? blk_is_inserted(sd->blk) : 0); } =20 +static void sd_blk_read(SDState *sd, uint64_t addr, uint32_t len) +{ + trace_sdcard_read_block(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"); + } +} + +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) { + fprintf(stderr, "sd_blk_write: write error on host side\n"); + } +} + +#define BLK_READ_BLOCK(a, len) sd_blk_read(sd, a, len) +#define BLK_WRITE_BLOCK(a, len) sd_blk_write(sd, a, len) +#define APP_READ_BLOCK(a, len) memset(sd->data, 0xec, len) +#define APP_WRITE_BLOCK(a, len) + static void sd_erase(SDState *sd) { int i; @@ -1742,27 +1763,6 @@ send_response: return rsplen; } =20 -static void sd_blk_read(SDState *sd, uint64_t addr, uint32_t len) -{ - trace_sdcard_read_block(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"); - } -} - -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) { - fprintf(stderr, "sd_blk_write: write error on host side\n"); - } -} - -#define BLK_READ_BLOCK(a, len) sd_blk_read(sd, a, len) -#define BLK_WRITE_BLOCK(a, len) sd_blk_write(sd, a, len) -#define APP_READ_BLOCK(a, len) memset(sd->data, 0xec, len) -#define APP_WRITE_BLOCK(a, len) - void sd_write_byte(SDState *sd, uint8_t value) { int i; --=20 2.25.1 From nobody Tue May 21 09:52:38 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1611816911; cv=none; d=zohomail.com; s=zohoarc; b=KsT1gsBALJL9VExAQUnbAUXZTdVrEPTiH/Uz6/hU05gjjJsNBaLSh5iOF5HvJFAEP5BcJS+DYd8NcfY8F1Mh1FKx3e6gjchy53D4ZiSRbkkc8wPtwcD16eCNH1knSyE2hTGV1oyzkfaU82ocQPV0Kz4K6+YHsfjfH/J62QHaayc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611816911; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+ONtYAQnIg3B0shD87NXtuFcOs8Nz1ALYrT2I+ozvuA=; b=XfEwOQhdrXSyP+qM99pNIo87mQjz0OwWaMCKt0n4RcV1ILkQp8Qz0BwRQd7ghmvhG8UogQnpSeyw2ESTtBW27zyw67jeGnpBmOYndp8Ob73Sp2xxWVFMTWThwl9mAaRk/ssgFDsC8/x0Sc3d/EveDfbDMmlZhj8kPIGPedh+9dk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1611816911588328.9010741494079; Wed, 27 Jan 2021 22:55:11 -0800 (PST) Received: from localhost ([::1]:55888 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l51Cw-0001Y2-I1 for importer@patchew.org; Thu, 28 Jan 2021 01:55:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38092) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l511j-0000vK-BB; Thu, 28 Jan 2021 01:43:35 -0500 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]:46182) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l511c-000564-P2; Thu, 28 Jan 2021 01:43:35 -0500 Received: by mail-pl1-x636.google.com with SMTP id u11so2770769plg.13; Wed, 27 Jan 2021 22:43:28 -0800 (PST) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id v19sm3800609pjh.37.2021.01.27.22.43.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jan 2021 22:43:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+ONtYAQnIg3B0shD87NXtuFcOs8Nz1ALYrT2I+ozvuA=; b=d225K6La+D9US1LHDi3IPth44wgj5Kqk8SLfAHuhbGuHSnZUEjeYNzLgM6u1LtRNej 3Dt/ZazmUus4rlLxIgy9Dins4FunDkzkOuxDXEqVGNEcx+F7GEG/oYOi739e4ybWaIDp HNR8lmsTgCn1yafzMCSsMYNrAmNUQqNJImRyhIrJ00pwc25MVT8fuxOtktnn09u5A8dB KPd4Kh2t8hTboBoZjpQAuul4KrK8w2rGQcVuhx10cpq2gieI5HuWlFf+JGPQJiNIIAvS EwIJkVjPLZkYBw+7S65hpGPMp0IRqGeY6pZ6LGl+WXoXz2nIpujpCh1ezElfW33eX0nz uzzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+ONtYAQnIg3B0shD87NXtuFcOs8Nz1ALYrT2I+ozvuA=; b=d5ktkmEOw5Us1wfzeFH07K1P/DbcBIcigTpLlniSGZI1IFRhb5GwP3VZApYLa5SHvf y2h2JiNbxHQeIJZl75uqFDayWRyAy12PCQr1sN2L2Sr0h8yKoGyEbJsIPkG0lSYgNaf/ MYluGBj2Fi55OtwLh5qOZcfzhq/d2eIa9jEhTZWXg90Gc8LQhA8/PPU290qpi9uSo/p8 dv79ODCut2NE2AaOIH2Gi936iCleY4oHzDcK/oJT2QybN9FizFpnJrRU0TZU3rH+s4FS gKDM/Mx9lJjMNcWRst59gVosZUKEpGzqZIynFF25cx2L4b0eFptI+EI0t2BehTb6BbtM E2gQ== X-Gm-Message-State: AOAM530nB78Su8hpT2OduiDUDsTZ9CQdwMImkBnhq5bFCDEYsgbAD2es UxAIT4ihseJfXnQn/jKBcgtEltGSAvdlNQ== X-Google-Smtp-Source: ABdhPJxOqQo2//UTgWmDcn4eVPOKHzH61+Y0t7ygQxXgJPfASwKCtlP2izRBoAQN2cjQyl/Duvw3xQ== X-Received: by 2002:a17:902:c106:b029:de:af88:80ed with SMTP id 6-20020a170902c106b02900deaf8880edmr14924165pli.35.1611816207318; Wed, 27 Jan 2021 22:43:27 -0800 (PST) From: Bin Meng To: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, qemu-devel@nongnu.org Subject: [PATCH 3/3] hw/sd: sd: Actually perform the erase operation Date: Thu, 28 Jan 2021 14:43:12 +0800 Message-Id: <20210128064312.16085-4-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210128064312.16085-1-bmeng.cn@gmail.com> References: <20210128064312.16085-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::636; envelope-from=bmeng.cn@gmail.com; helo=mail-pl1-x636.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) Content-Type: text/plain; charset="utf-8" From: Bin Meng At present the sd_erase() does not erase the requested range of card data to 0xFFs. Let's make the erase operation actually happen. Signed-off-by: Bin Meng --- hw/sd/sd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 1886d4b30b..8c397d4ad7 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -765,6 +765,8 @@ static void sd_erase(SDState *sd) int i; uint64_t erase_start =3D sd->erase_start; uint64_t erase_end =3D sd->erase_end; + uint64_t erase_addr; + int erase_len =3D 1 << HWBLOCK_SHIFT; =20 trace_sdcard_erase(sd->erase_start, sd->erase_end); if (sd->erase_start =3D=3D INVALID_ADDRESS @@ -788,6 +790,13 @@ static void sd_erase(SDState *sd) return; } =20 + memset(sd->data, 0xff, erase_len); + erase_addr =3D erase_start; + for (i =3D 0; i < (erase_end - erase_start) / erase_len + 1; i++) { + BLK_WRITE_BLOCK(erase_addr, erase_len); + erase_addr +=3D erase_len; + } + erase_start =3D sd_addr_to_wpnum(erase_start); erase_end =3D sd_addr_to_wpnum(erase_end); sd->erase_start =3D INVALID_ADDRESS; --=20 2.25.1