[Qemu-devel] [PATCH v3 0/9] hw/block/pflash_cfi01: Add DeviceReset() handler

Philippe Mathieu-Daudé posted 9 patches 4 years, 9 months ago
Test docker-clang@ubuntu passed
Test s390x passed
Test asan passed
Test docker-mingw@fedora passed
Test FreeBSD passed
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190705154639.16591-1-philmd@redhat.com
Maintainers: Max Reitz <mreitz@redhat.com>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, Kevin Wolf <kwolf@redhat.com>
There is a newer version of this series
hw/block/pflash_cfi01.c | 148 ++++++++++++++++++++++------------------
hw/block/trace-events   |   1 +
2 files changed, 81 insertions(+), 68 deletions(-)
[Qemu-devel] [PATCH v3 0/9] hw/block/pflash_cfi01: Add DeviceReset() handler
Posted by Philippe Mathieu-Daudé 4 years, 9 months ago
The pflash device lacks a reset() function.
When a machine is resetted, the flash might be in an
inconsistent state, leading to unexpected behavior:
https://bugzilla.redhat.com/show_bug.cgi?id=1678713
Resolve this issue by adding a DeviceReset() handler.

Fix also two minor issues, and clean a bit the codebase.

Since v1: https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg00962.html
- addressed Laszlo review comments

Since v2:
- consider migration (Laszlo, Peter)

$ git backport-diff -u v2
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/9:[----] [--] 'hw/block/pflash_cfi01: Removed an unused timer'
002/9:[0008] [FC] 'hw/block/pflash_cfi01: Use the correct READ_ARRAY value'
003/9:[----] [-C] 'hw/block/pflash_cfi01: Extract pflash_mode_read_array()'
004/9:[----] [--] 'hw/block/pflash_cfi01: Start state machine as READY to accept commands'
005/9:[----] [--] 'hw/block/pflash_cfi01: Add the DeviceReset() handler'
006/9:[----] [--] 'hw/block/pflash_cfi01: Simplify CFI_QUERY processing'
007/9:[----] [--] 'hw/block/pflash_cfi01: Improve command comments'
008/9:[----] [--] 'hw/block/pflash_cfi01: Replace DPRINTF by qemu_log_mask(GUEST_ERROR)'
009/9:[----] [--] 'hw/block/pflash_cfi01: Hold the PRI table offset in a variable'

Functional differences on patch #2 are the 6 lines added for
migration of the 'cmd' field, and the updated commit description.

Regards,

Phil.

Philippe Mathieu-Daudé (9):
  hw/block/pflash_cfi01: Removed an unused timer
  hw/block/pflash_cfi01: Use the correct READ_ARRAY value
  hw/block/pflash_cfi01: Extract pflash_mode_read_array()
  hw/block/pflash_cfi01: Start state machine as READY to accept commands
  hw/block/pflash_cfi01: Add the DeviceReset() handler
  hw/block/pflash_cfi01: Simplify CFI_QUERY processing
  hw/block/pflash_cfi01: Improve command comments
  hw/block/pflash_cfi01: Replace DPRINTF by qemu_log_mask(GUEST_ERROR)
  hw/block/pflash_cfi01: Hold the PRI table offset in a variable

 hw/block/pflash_cfi01.c | 148 ++++++++++++++++++++++------------------
 hw/block/trace-events   |   1 +
 2 files changed, 81 insertions(+), 68 deletions(-)

-- 
2.20.1