* [PULL 0/4] SD/MMC patches for 2021-07-11
@ 2021-07-11 21:10 Philippe Mathieu-Daudé
2021-07-11 21:10 ` [PULL 1/4] hw/sd/sdcard: When card is in wrong state, log which state it is Philippe Mathieu-Daudé
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-11 21:10 UTC (permalink / raw)
To: qemu-devel; +Cc: Alexander Bulekov, Bin Meng, Philippe Mathieu-Daudé
The following changes since commit 9516034d05a8c71ef157a59f525e4c4f7ed79827:
Merge remote-tracking branch 'remotes/cminyard/tags/for-qemu-6.1-2' into staging (2021-07-11 14:32:49 +0100)
are available in the Git repository at:
https://github.com/philmd/qemu.git tags/sdmmc-20210711
for you to fetch changes up to a36cbb79763630837e7a73ae0d67aca210ebc791:
hw/sd: sdhci: Enable 64-bit system bus capability in the default SD/MMC host controller (2021-07-11 23:02:51 +0200)
----------------------------------------------------------------
SD/MMC patches queue
- sdcard: Check for valid address range in SEND_WRITE_PROT (CMD30)
- sdhci: Enable 64-bit system bus capability in default host controller
----------------------------------------------------------------
Joanne Koong (1):
hw/sd: sdhci: Enable 64-bit system bus capability in the default
SD/MMC host controller
Philippe Mathieu-Daudé (3):
hw/sd/sdcard: When card is in wrong state, log which state it is
hw/sd/sdcard: Extract address_in_range() helper, log invalid accesses
hw/sd/sdcard: Check for valid address range in SEND_WRITE_PROT (CMD30)
hw/sd/sdhci-internal.h | 4 +--
hw/sd/sd.c | 40 ++++++++++++++-------
tests/qtest/fuzz-sdcard-test.c | 66 ++++++++++++++++++++++++++++++++++
MAINTAINERS | 3 +-
tests/qtest/meson.build | 1 +
5 files changed, 98 insertions(+), 16 deletions(-)
create mode 100644 tests/qtest/fuzz-sdcard-test.c
--
2.31.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PULL 1/4] hw/sd/sdcard: When card is in wrong state, log which state it is
2021-07-11 21:10 [PULL 0/4] SD/MMC patches for 2021-07-11 Philippe Mathieu-Daudé
@ 2021-07-11 21:10 ` Philippe Mathieu-Daudé
2021-07-11 21:10 ` [PULL 2/4] hw/sd/sdcard: Extract address_in_range() helper, log invalid accesses Philippe Mathieu-Daudé
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-11 21:10 UTC (permalink / raw)
To: qemu-devel
Cc: Alexander Bulekov, Bin Meng, Philippe Mathieu-Daudé, Bin Meng
We report the card is in an inconsistent state, but don't precise
in which state it is. Add this information, as it is useful when
debugging problems.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-Id: <20210624142209.1193073-2-f4bug@amsat.org>
Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
---
hw/sd/sd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 282d39a7042..d8fdf84f4db 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -1504,7 +1504,8 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
return sd_illegal;
}
- qemu_log_mask(LOG_GUEST_ERROR, "SD: CMD%i in a wrong state\n", req.cmd);
+ qemu_log_mask(LOG_GUEST_ERROR, "SD: CMD%i in a wrong state: %s\n",
+ req.cmd, sd_state_name(sd->state));
return sd_illegal;
}
--
2.31.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PULL 2/4] hw/sd/sdcard: Extract address_in_range() helper, log invalid accesses
2021-07-11 21:10 [PULL 0/4] SD/MMC patches for 2021-07-11 Philippe Mathieu-Daudé
2021-07-11 21:10 ` [PULL 1/4] hw/sd/sdcard: When card is in wrong state, log which state it is Philippe Mathieu-Daudé
@ 2021-07-11 21:10 ` Philippe Mathieu-Daudé
2021-07-11 21:10 ` [PULL 3/4] hw/sd/sdcard: Check for valid address range in SEND_WRITE_PROT (CMD30) Philippe Mathieu-Daudé
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-11 21:10 UTC (permalink / raw)
To: qemu-devel
Cc: Alexander Bulekov, Bin Meng, Philippe Mathieu-Daudé, Bin Meng
Multiple commands have to check the address requested is valid.
Extract this code pattern as a new address_in_range() helper, and
log invalid accesses as guest errors.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-Id: <20210624142209.1193073-3-f4bug@amsat.org>
---
hw/sd/sd.c | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index d8fdf84f4db..9c8dd11bad1 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -937,6 +937,18 @@ static void sd_lock_command(SDState *sd)
sd->card_status &= ~CARD_IS_LOCKED;
}
+static bool address_in_range(SDState *sd, const char *desc,
+ uint64_t addr, uint32_t length)
+{
+ if (addr + length > sd->size) {
+ qemu_log_mask(LOG_GUEST_ERROR, "%s offset %lu > card %lu [%%%u]\n",
+ desc, addr, sd->size, length);
+ sd->card_status |= ADDRESS_ERROR;
+ return false;
+ }
+ return true;
+}
+
static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
{
uint32_t rca = 0x0000;
@@ -1218,8 +1230,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
switch (sd->state) {
case sd_transfer_state:
- if (addr + sd->blk_len > sd->size) {
- sd->card_status |= ADDRESS_ERROR;
+ if (!address_in_range(sd, "READ_BLOCK", addr, sd->blk_len)) {
return sd_r1;
}
@@ -1264,8 +1275,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
switch (sd->state) {
case sd_transfer_state:
- if (addr + sd->blk_len > sd->size) {
- sd->card_status |= ADDRESS_ERROR;
+ if (!address_in_range(sd, "WRITE_BLOCK", addr, sd->blk_len)) {
return sd_r1;
}
@@ -1325,8 +1335,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
switch (sd->state) {
case sd_transfer_state:
- if (addr >= sd->size) {
- sd->card_status |= ADDRESS_ERROR;
+ if (!address_in_range(sd, "SET_WRITE_PROT", addr, 1)) {
return sd_r1b;
}
@@ -1348,8 +1357,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
switch (sd->state) {
case sd_transfer_state:
- if (addr >= sd->size) {
- sd->card_status |= ADDRESS_ERROR;
+ if (!address_in_range(sd, "CLR_WRITE_PROT", addr, 1)) {
return sd_r1b;
}
@@ -1826,8 +1834,8 @@ void sd_write_byte(SDState *sd, uint8_t value)
case 25: /* CMD25: WRITE_MULTIPLE_BLOCK */
if (sd->data_offset == 0) {
/* Start of the block - let's check the address is valid */
- if (sd->data_start + sd->blk_len > sd->size) {
- sd->card_status |= ADDRESS_ERROR;
+ if (!address_in_range(sd, "WRITE_MULTIPLE_BLOCK",
+ sd->data_start, sd->blk_len)) {
break;
}
if (sd->size <= SDSC_MAX_CAPACITY) {
@@ -1999,8 +2007,8 @@ uint8_t sd_read_byte(SDState *sd)
case 18: /* CMD18: READ_MULTIPLE_BLOCK */
if (sd->data_offset == 0) {
- if (sd->data_start + io_len > sd->size) {
- sd->card_status |= ADDRESS_ERROR;
+ if (!address_in_range(sd, "READ_MULTIPLE_BLOCK",
+ sd->data_start, io_len)) {
return 0x00;
}
BLK_READ_BLOCK(sd->data_start, io_len);
--
2.31.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PULL 3/4] hw/sd/sdcard: Check for valid address range in SEND_WRITE_PROT (CMD30)
2021-07-11 21:10 [PULL 0/4] SD/MMC patches for 2021-07-11 Philippe Mathieu-Daudé
2021-07-11 21:10 ` [PULL 1/4] hw/sd/sdcard: When card is in wrong state, log which state it is Philippe Mathieu-Daudé
2021-07-11 21:10 ` [PULL 2/4] hw/sd/sdcard: Extract address_in_range() helper, log invalid accesses Philippe Mathieu-Daudé
@ 2021-07-11 21:10 ` Philippe Mathieu-Daudé
2021-07-11 21:10 ` [PULL 4/4] hw/sd: sdhci: Enable 64-bit system bus capability in the default SD/MMC host controller Philippe Mathieu-Daudé
2021-07-12 10:22 ` [PULL 0/4] SD/MMC patches for 2021-07-11 Philippe Mathieu-Daudé
4 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-11 21:10 UTC (permalink / raw)
To: qemu-devel
Cc: Alexander Bulekov, Bin Meng, Philippe Mathieu-Daudé, Bin Meng
OSS-Fuzz found sending illegal addresses when querying the write
protection bits triggers an assertion:
qemu-fuzz-i386: hw/sd/sd.c:824: uint32_t sd_wpbits(SDState *, uint64_t): Assertion `wpnum < sd->wpgrps_size' failed.
==11578== ERROR: libFuzzer: deadly signal
#8 0x7ffff628e091 in __assert_fail
#9 0x5555588f1a3c in sd_wpbits hw/sd/sd.c:824:9
#10 0x5555588dd271 in sd_normal_command hw/sd/sd.c:1383:38
#11 0x5555588d777c in sd_do_command hw/sd/sd.c
#12 0x555558cb25a0 in sdbus_do_command hw/sd/core.c:100:16
#13 0x555558e02a9a in sdhci_send_command hw/sd/sdhci.c:337:12
#14 0x555558dffa46 in sdhci_write hw/sd/sdhci.c:1187:9
#15 0x5555598b9d76 in memory_region_write_accessor softmmu/memory.c:489:5
Similarly to commit 8573378e62d ("hw/sd: fix out-of-bounds check
for multi block reads"), check the address range before sending
the status of the write protection bits.
Include the qtest reproducer provided by Alexander Bulekov:
$ make check-qtest-i386
...
Running test qtest-i386/fuzz-sdcard-test
qemu-system-i386: ../hw/sd/sd.c:824: sd_wpbits: Assertion `wpnum < sd->wpgrps_size' failed.
Reported-by: OSS-Fuzz (Issue 29225)
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/450
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20210702155900.148665-4-f4bug@amsat.org>
---
hw/sd/sd.c | 5 +++
tests/qtest/fuzz-sdcard-test.c | 66 ++++++++++++++++++++++++++++++++++
MAINTAINERS | 3 +-
tests/qtest/meson.build | 1 +
4 files changed, 74 insertions(+), 1 deletion(-)
create mode 100644 tests/qtest/fuzz-sdcard-test.c
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 9c8dd11bad1..c753ae24ba9 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -1379,6 +1379,11 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
switch (sd->state) {
case sd_transfer_state:
+ if (!address_in_range(sd, "SEND_WRITE_PROT",
+ req.arg, sd->blk_len)) {
+ return sd_r1;
+ }
+
sd->state = sd_sendingdata_state;
*(uint32_t *) sd->data = sd_wpbits(sd, req.arg);
sd->data_start = addr;
diff --git a/tests/qtest/fuzz-sdcard-test.c b/tests/qtest/fuzz-sdcard-test.c
new file mode 100644
index 00000000000..96602eac7e5
--- /dev/null
+++ b/tests/qtest/fuzz-sdcard-test.c
@@ -0,0 +1,66 @@
+/*
+ * QTest fuzzer-generated testcase for sdcard device
+ *
+ * Copyright (c) 2021 Philippe Mathieu-Daudé <f4bug@amsat.org>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "libqos/libqtest.h"
+
+/*
+ * https://gitlab.com/qemu-project/qemu/-/issues/450
+ * Used to trigger:
+ * Assertion `wpnum < sd->wpgrps_size' failed.
+ */
+static void oss_fuzz_29225(void)
+{
+ QTestState *s;
+
+ s = qtest_init(" -display none -m 512m -nodefaults -nographic"
+ " -device sdhci-pci,sd-spec-version=3"
+ " -device sd-card,drive=d0"
+ " -drive if=none,index=0,file=null-co://,format=raw,id=d0");
+
+ qtest_outl(s, 0xcf8, 0x80001010);
+ qtest_outl(s, 0xcfc, 0xd0690);
+ qtest_outl(s, 0xcf8, 0x80001003);
+ qtest_outl(s, 0xcf8, 0x80001013);
+ qtest_outl(s, 0xcfc, 0xffffffff);
+ qtest_outl(s, 0xcf8, 0x80001003);
+ qtest_outl(s, 0xcfc, 0x3effe00);
+
+ qtest_bufwrite(s, 0xff0d062c, "\xff", 0x1);
+ qtest_bufwrite(s, 0xff0d060f, "\xb7", 0x1);
+ qtest_bufwrite(s, 0xff0d060a, "\xc9", 0x1);
+ qtest_bufwrite(s, 0xff0d060f, "\x29", 0x1);
+ qtest_bufwrite(s, 0xff0d060f, "\xc2", 0x1);
+ qtest_bufwrite(s, 0xff0d0628, "\xf7", 0x1);
+ qtest_bufwrite(s, 0x0, "\xe3", 0x1);
+ qtest_bufwrite(s, 0x7, "\x13", 0x1);
+ qtest_bufwrite(s, 0x8, "\xe3", 0x1);
+ qtest_bufwrite(s, 0xf, "\xe3", 0x1);
+ qtest_bufwrite(s, 0xff0d060f, "\x03", 0x1);
+ qtest_bufwrite(s, 0xff0d0605, "\x01", 0x1);
+ qtest_bufwrite(s, 0xff0d060b, "\xff", 0x1);
+ qtest_bufwrite(s, 0xff0d060c, "\xff", 0x1);
+ qtest_bufwrite(s, 0xff0d060e, "\xff", 0x1);
+ qtest_bufwrite(s, 0xff0d060f, "\x06", 0x1);
+ qtest_bufwrite(s, 0xff0d060f, "\x9e", 0x1);
+
+ qtest_quit(s);
+}
+
+int main(int argc, char **argv)
+{
+ const char *arch = qtest_get_arch();
+
+ g_test_init(&argc, &argv, NULL);
+
+ if (strcmp(arch, "i386") == 0) {
+ qtest_add_func("fuzz/sdcard/oss_fuzz_29225", oss_fuzz_29225);
+ }
+
+ return g_test_run();
+}
diff --git a/MAINTAINERS b/MAINTAINERS
index 40d095dbbde..0e4e3761ebc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1824,7 +1824,8 @@ F: include/hw/sd/sd*
F: hw/sd/core.c
F: hw/sd/sd*
F: hw/sd/ssi-sd.c
-F: tests/qtest/sd*
+F: tests/qtest/fuzz-sdcard-test.c
+F: tests/qtest/sdhci-test.c
USB
M: Gerd Hoffmann <kraxel@redhat.com>
diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index ee7347b7275..e22a0792c58 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -21,6 +21,7 @@
(config_all_devices.has_key('CONFIG_MEGASAS_SCSI_PCI') ? ['fuzz-megasas-test'] : []) + \
(config_all_devices.has_key('CONFIG_VIRTIO_SCSI') ? ['fuzz-virtio-scsi-test'] : []) + \
(config_all_devices.has_key('CONFIG_SB16') ? ['fuzz-sb16-test'] : []) + \
+ (config_all_devices.has_key('CONFIG_SDHCI_PCI') ? ['fuzz-sdcard-test'] : []) + \
[
'cdrom-test',
'device-introspect-test',
--
2.31.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PULL 4/4] hw/sd: sdhci: Enable 64-bit system bus capability in the default SD/MMC host controller
2021-07-11 21:10 [PULL 0/4] SD/MMC patches for 2021-07-11 Philippe Mathieu-Daudé
` (2 preceding siblings ...)
2021-07-11 21:10 ` [PULL 3/4] hw/sd/sdcard: Check for valid address range in SEND_WRITE_PROT (CMD30) Philippe Mathieu-Daudé
@ 2021-07-11 21:10 ` Philippe Mathieu-Daudé
2021-07-12 10:20 ` Philippe Mathieu-Daudé
2021-07-12 10:22 ` [PULL 0/4] SD/MMC patches for 2021-07-11 Philippe Mathieu-Daudé
4 siblings, 1 reply; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-11 21:10 UTC (permalink / raw)
To: qemu-devel
Cc: Joanne Koong, Alexander Bulekov, Bin Meng,
Philippe Mathieu-Daudé,
Bin Meng
From: Joanne Koong <joannekoong@gmail.com>
The default SD/MMC host controller uses SD spec v2.00. 64-bit system bus capability
was added in v2.
In this change, we arrive at 0x157834b4 by computing (0x057834b4 | (1ul << 28))
where 28 represents the BUS64BIT SDHC_CAPAB field.
Signed-off-by: Joanne Koong <joannekoong@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210623185921.24113-1-joannekoong@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
hw/sd/sdhci-internal.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h
index e8c753d6d1e..a76fc704e5e 100644
--- a/hw/sd/sdhci-internal.h
+++ b/hw/sd/sdhci-internal.h
@@ -316,16 +316,16 @@ extern const VMStateDescription sdhci_vmstate;
* - 3.3v and 1.8v voltages
* - SDMA/ADMA1/ADMA2
* - high-speed
+ * - 64-bit system bus
* max host controller R/W buffers size: 512B
* max clock frequency for SDclock: 52 MHz
* timeout clock frequency: 52 MHz
*
* does not support:
* - 3.0v voltage
- * - 64-bit system bus
* - suspend/resume
*/
-#define SDHC_CAPAB_REG_DEFAULT 0x057834b4
+#define SDHC_CAPAB_REG_DEFAULT 0x157834b4
#define DEFINE_SDHCI_COMMON_PROPERTIES(_state) \
DEFINE_PROP_UINT8("sd-spec-version", _state, sd_spec_version, 2), \
--
2.31.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PULL 4/4] hw/sd: sdhci: Enable 64-bit system bus capability in the default SD/MMC host controller
2021-07-11 21:10 ` [PULL 4/4] hw/sd: sdhci: Enable 64-bit system bus capability in the default SD/MMC host controller Philippe Mathieu-Daudé
@ 2021-07-12 10:20 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-12 10:20 UTC (permalink / raw)
To: qemu-devel, Andrey Smirnov
Cc: Bin Meng, Alexander Bulekov, Joanne Koong, Bin Meng
On 7/11/21 11:10 PM, Philippe Mathieu-Daudé wrote:
> From: Joanne Koong <joannekoong@gmail.com>
>
> The default SD/MMC host controller uses SD spec v2.00. 64-bit system bus capability
> was added in v2.
>
> In this change, we arrive at 0x157834b4 by computing (0x057834b4 | (1ul << 28))
> where 28 represents the BUS64BIT SDHC_CAPAB field.
>
> Signed-off-by: Joanne Koong <joannekoong@gmail.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> Message-Id: <20210623185921.24113-1-joannekoong@gmail.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> hw/sd/sdhci-internal.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h
> index e8c753d6d1e..a76fc704e5e 100644
> --- a/hw/sd/sdhci-internal.h
> +++ b/hw/sd/sdhci-internal.h
> @@ -316,16 +316,16 @@ extern const VMStateDescription sdhci_vmstate;
> * - 3.3v and 1.8v voltages
> * - SDMA/ADMA1/ADMA2
> * - high-speed
> + * - 64-bit system bus
> * max host controller R/W buffers size: 512B
> * max clock frequency for SDclock: 52 MHz
> * timeout clock frequency: 52 MHz
> *
> * does not support:
> * - 3.0v voltage
> - * - 64-bit system bus
> * - suspend/resume
> */
> -#define SDHC_CAPAB_REG_DEFAULT 0x057834b4
> +#define SDHC_CAPAB_REG_DEFAULT 0x157834b4
>
> #define DEFINE_SDHCI_COMMON_PROPERTIES(_state) \
> DEFINE_PROP_UINT8("sd-spec-version", _state, sd_spec_version, 2), \
>
Unfortunately this breaks the TYPE_IMX_USDHC model for which
I don't have the datasheet, so I don't know how to fix it.
I suppose it is simpler to remove the COMMON_PROPERTIES macro
to avoid such problems.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PULL 0/4] SD/MMC patches for 2021-07-11
2021-07-11 21:10 [PULL 0/4] SD/MMC patches for 2021-07-11 Philippe Mathieu-Daudé
` (3 preceding siblings ...)
2021-07-11 21:10 ` [PULL 4/4] hw/sd: sdhci: Enable 64-bit system bus capability in the default SD/MMC host controller Philippe Mathieu-Daudé
@ 2021-07-12 10:22 ` Philippe Mathieu-Daudé
4 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-12 10:22 UTC (permalink / raw)
To: qemu-devel; +Cc: Alexander Bulekov, Bin Meng
On 7/11/21 11:10 PM, Philippe Mathieu-Daudé wrote:
> The following changes since commit 9516034d05a8c71ef157a59f525e4c4f7ed79827:
>
> Merge remote-tracking branch 'remotes/cminyard/tags/for-qemu-6.1-2' into staging (2021-07-11 14:32:49 +0100)
>
> are available in the Git repository at:
>
> https://github.com/philmd/qemu.git tags/sdmmc-20210711
>
> for you to fetch changes up to a36cbb79763630837e7a73ae0d67aca210ebc791:
>
> hw/sd: sdhci: Enable 64-bit system bus capability in the default SD/MMC host controller (2021-07-11 23:02:51 +0200)
>
> ----------------------------------------------------------------
> SD/MMC patches queue
>
> - sdcard: Check for valid address range in SEND_WRITE_PROT (CMD30)
> - sdhci: Enable 64-bit system bus capability in default host controller
>
> ----------------------------------------------------------------
Please disregard this pull request. I'm going to send another
one without the SDHCI patch.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-07-12 10:23 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-11 21:10 [PULL 0/4] SD/MMC patches for 2021-07-11 Philippe Mathieu-Daudé
2021-07-11 21:10 ` [PULL 1/4] hw/sd/sdcard: When card is in wrong state, log which state it is Philippe Mathieu-Daudé
2021-07-11 21:10 ` [PULL 2/4] hw/sd/sdcard: Extract address_in_range() helper, log invalid accesses Philippe Mathieu-Daudé
2021-07-11 21:10 ` [PULL 3/4] hw/sd/sdcard: Check for valid address range in SEND_WRITE_PROT (CMD30) Philippe Mathieu-Daudé
2021-07-11 21:10 ` [PULL 4/4] hw/sd: sdhci: Enable 64-bit system bus capability in the default SD/MMC host controller Philippe Mathieu-Daudé
2021-07-12 10:20 ` Philippe Mathieu-Daudé
2021-07-12 10:22 ` [PULL 0/4] SD/MMC patches for 2021-07-11 Philippe Mathieu-Daudé
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.