[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v2 14/14] hw/sd/ssi-sd: Enable CRC validation
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [RFC PATCH v2 14/14] hw/sd/ssi-sd: Enable CRC validation |
Date: |
Wed, 9 May 2018 00:46:58 -0300 |
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/sd/ssi-sd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c
index 77e446bb94..0375f0b959 100644
--- a/hw/sd/ssi-sd.c
+++ b/hw/sd/ssi-sd.c
@@ -95,11 +95,11 @@ static uint32_t ssi_sd_transfer(SSISlave *dev, uint32_t val)
if (s->arglen == 4) {
uint8_t request[6];
uint8_t longresp[16];
- /* FIXME: Check CRC. */
DPRINTF("CMD%d arg 0x%08x\n", s->cmd, ldl_be_p(s->cmdarg));
sd_frame48_init(request, sizeof(request), s->cmd,
ldl_be_p(s->cmdarg), false);
+ request[5] = sd_frame48_calc_checksum(request);
s->arglen = sdbus_do_command(&s->sdbus, request, longresp);
if (s->arglen <= 0) {
@@ -257,6 +257,7 @@ static void ssi_sd_realize(SSISlave *d, Error **errp)
qdev_prop_set_drive(carddev, "drive", blk_by_legacy_dinfo(dinfo),
&err);
}
object_property_set_bool(OBJECT(carddev), true, "spi", &err);
+ object_property_set_bool(OBJECT(carddev), true, "validate-crc", &err);
object_property_set_bool(OBJECT(carddev), true, "realized", &err);
if (err) {
error_setg(errp, "failed to init SD card: %s", error_get_pretty(err));
--
2.17.0
- [Qemu-devel] [PATCH v2 06/14] sdcard: Add test_sd_verify_cksum_frame136(), (continued)
- [Qemu-devel] [PATCH v2 06/14] sdcard: Add test_sd_verify_cksum_frame136(), Philippe Mathieu-Daudé, 2018/05/08
- [Qemu-devel] [PATCH v2 07/14] sdcard: Invert the sd_req_crc_is_valid() logic, Philippe Mathieu-Daudé, 2018/05/08
- [Qemu-devel] [PATCH v2 08/14] sdcard: Extract sd_frame48_verify_checksum() out for qtesting, Philippe Mathieu-Daudé, 2018/05/08
- [Qemu-devel] [PATCH v2 09/14] sdcard: Add sd_frame136_verify_checksum(), Philippe Mathieu-Daudé, 2018/05/08
- [Qemu-devel] [PATCH v2 10/14] sdcard: Remove the SDRequest argument from internal functions, Philippe Mathieu-Daudé, 2018/05/08
- [Qemu-devel] [PATCH v2 11/14] sdcard: Add sd_frame48_init(), replace SDRequest by a raw buffer, Philippe Mathieu-Daudé, 2018/05/08
- [Qemu-devel] [PATCH v2 13/14] sdcard: Add a "validate-crc" property, Philippe Mathieu-Daudé, 2018/05/08
- [Qemu-devel] [PATCH v2 12/14] sdcard: Add tests to validate the 7-bit CRC checksum of 48-bit SD frame, Philippe Mathieu-Daudé, 2018/05/08
- [Qemu-devel] [RFC PATCH v2 14/14] hw/sd/ssi-sd: Enable CRC validation,
Philippe Mathieu-Daudé <=
- Re: [Qemu-devel] [PATCH v2 00/14] sdcard: Proper implementation of CRC7, Peter Maydell, 2018/05/10