aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>2020-09-18 19:06:41 +0200
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>2020-10-21 13:19:02 +0200
commit7dae0a1dd102ea5e58869a3082c61bfcadf29347 (patch)
treeda86a695488eeff25fc4dc9b215cc41e708e6921
parent872b8fde6c642e1da234bcfb7bb3fb9a8d746ff3 (diff)
hw/sd/sdcard: Do not use legal address '0' for INVALID_ADDRESS
As it is legal to WRITE/ERASE the address/block 0, change the value of this definition to an illegal address: UINT32_MAX. Unfortunately this break the migration stream, so bump the VMState version number. This affects some ARM boards and the SDHCI_PCI device (which is only used for testing). Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Alexander Bulekov <alxndr@bu.edu> Message-Id: <20201015063824.212980-4-f4bug@amsat.org>
-rw-r--r--hw/sd/sd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 30ae435d66..4c05152f18 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -53,7 +53,7 @@
#define SDSC_MAX_CAPACITY (2 * GiB)
-#define INVALID_ADDRESS 0
+#define INVALID_ADDRESS UINT32_MAX
typedef enum {
sd_r0 = 0, /* no response */
@@ -666,8 +666,8 @@ static int sd_vmstate_pre_load(void *opaque)
static const VMStateDescription sd_vmstate = {
.name = "sd-card",
- .version_id = 1,
- .minimum_version_id = 1,
+ .version_id = 2,
+ .minimum_version_id = 2,
.pre_load = sd_vmstate_pre_load,
.fields = (VMStateField[]) {
VMSTATE_UINT32(mode, SDState),