From: Philippe Mathieu-Daudé Date: Fri, 18 Sep 2020 17:06:41 +0000 (+0200) Subject: hw/sd/sdcard: Do not use legal address '0' for INVALID_ADDRESS X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7dae0a1dd102ea5e58869a3082c61bfcadf29347;p=qemu.git 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é Tested-by: Alexander Bulekov Message-Id: <20201015063824.212980-4-f4bug@amsat.org> --- 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),