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>
This commit is contained in:
parent
872b8fde6c
commit
7dae0a1dd1
@ -53,7 +53,7 @@
|
|||||||
|
|
||||||
#define SDSC_MAX_CAPACITY (2 * GiB)
|
#define SDSC_MAX_CAPACITY (2 * GiB)
|
||||||
|
|
||||||
#define INVALID_ADDRESS 0
|
#define INVALID_ADDRESS UINT32_MAX
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
sd_r0 = 0, /* no response */
|
sd_r0 = 0, /* no response */
|
||||||
@ -666,8 +666,8 @@ static int sd_vmstate_pre_load(void *opaque)
|
|||||||
|
|
||||||
static const VMStateDescription sd_vmstate = {
|
static const VMStateDescription sd_vmstate = {
|
||||||
.name = "sd-card",
|
.name = "sd-card",
|
||||||
.version_id = 1,
|
.version_id = 2,
|
||||||
.minimum_version_id = 1,
|
.minimum_version_id = 2,
|
||||||
.pre_load = sd_vmstate_pre_load,
|
.pre_load = sd_vmstate_pre_load,
|
||||||
.fields = (VMStateField[]) {
|
.fields = (VMStateField[]) {
|
||||||
VMSTATE_UINT32(mode, SDState),
|
VMSTATE_UINT32(mode, SDState),
|
||||||
|
Loading…
Reference in New Issue
Block a user