]> git.proxmox.com Git - mirror_qemu.git/commitdiff
hw/block/pflash_cfi01: Start state machine as READY to accept commands
authorPhilippe Mathieu-Daudé <philmd@redhat.com>
Tue, 16 Jul 2019 15:49:55 +0000 (17:49 +0200)
committerPhilippe Mathieu-Daudé <philmd@redhat.com>
Tue, 16 Jul 2019 15:54:06 +0000 (17:54 +0200)
When the state machine is ready to accept command, the bit 7 of
the status register (SR) is set to 1.
The guest polls the status register and check this bit before
writting command to the internal 'Write State Machine' (WSM).

Set SR.7 bit to 1 when the device is created.

There is no migration impact by this change.

Reference: Read Array Flowchart
  "Common Flash Interface (CFI) and Command Sets"
   (Intel Application Note 646)
   Appendix B "Basic Command Set"

Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20190715121338.20600-5-philmd@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
hw/block/pflash_cfi01.c

index db4a246b2232d2387b73d745718d4e4025c982b6..435be1e35c6319ba23108475e4e09ac67c5e9d82 100644 (file)
@@ -777,7 +777,7 @@ static void pflash_cfi01_realize(DeviceState *dev, Error **errp)
     pfl->timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, pflash_timer, pfl);
     pfl->wcycle = 0;
     pfl->cmd = 0;
-    pfl->status = 0;
+    pfl->status = 0x80; /* WSM ready */
     /* Hardcoded CFI table */
     /* Standard "QRY" string */
     pfl->cfi_table[0x10] = 'Q';