[Qemu-devel] [PATCH v5 00/28] block/pflash_cfi02: Implement missing AMD pflash functionality

Philippe Mathieu-Daudé posted 28 patches 4 years, 10 months ago
Test docker-clang@ubuntu passed
Test s390x failed
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/20190627202719.17739-1-philmd@redhat.com
Maintainers: Laurent Vivier <lvivier@redhat.com>, Max Reitz <mreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, Thomas Huth <thuth@redhat.com>
hw/block/pflash_cfi01.c   |  11 +-
hw/block/pflash_cfi02.c   | 703 ++++++++++++++++++++++++++------------
hw/block/trace-events     |  10 +-
tests/Makefile.include    |   2 +
tests/pflash-cfi02-test.c | 681 ++++++++++++++++++++++++++++++++++++
5 files changed, 1173 insertions(+), 234 deletions(-)
create mode 100644 tests/pflash-cfi02-test.c
[Qemu-devel] [PATCH v5 00/28] block/pflash_cfi02: Implement missing AMD pflash functionality
Posted by Philippe Mathieu-Daudé 4 years, 10 months ago
Hi,

This series is based on Stephen Checkoway work (v4):
https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg04595.html

Stephen work is a great improvement of the actual code, however
while reviewing his patches, I found them quite dense, so I started
to split each logical change to be able to digest his series.

Sfephen implemented the 'interleaving' feature in way I am not yet
confident it is in the project best interest. The relevant thread
started here:
https://lists.gnu.org/archive/html/qemu-devel/2019-06/msg05395.html

However meanwhile we will discuss his interleaving implementation,
I don't want to block the rest of his work, so I took that patch
of (and rebased his work).

I'm spamming all the maintainers of the boards using
pflash_cfi02_register(). This series is not 'block' related, it is
a classical 'device' model series.
Help reviewing is appreciated :)

I am still looking for real-world code stressing this flash model.

Regards,

Phil.

Philippe Mathieu-Daudé (20):
  hw/block/pflash: Simplify trace_pflash_io_read/write()
  hw/block/pflash: Simplify trace_pflash_data_read/write()
  hw/block/pflash_cfi02: Fix debug format string
  hw/block/pflash_cfi02: Add an enum to define the write cycles
  hw/block/pflash_cfi02: Add helpers to manipulate the status bits
  hw/block/pflash_cfi02: Simplify a statement using fall through
  hw/block/pflash_cfi02: Use the ldst API in pflash_write()
  hw/block/pflash_cfi02: Use the ldst API in pflash_read()
  hw/block/pflash_cfi02: Extract the pflash_data_read() function
  hw/block/pflash_cfi02: Unify the MemoryRegionOps
  tests/pflash-cfi02: Refactor to support testing multiple
    configurations
  hw/block/pflash_cfi02: Remove pointless local variable
  hw/block/pflash_cfi02: Document the current CFI values
  hw/block/pflash_cfi02: Hold the PRI table offset in a variable
  hw/block/pflash_cfi02: Document 'Page Mode' operations are not
    supported
  hw/block/pflash_cfi02: Extract pflash_regions_count()
  hw/block/pflash_cfi02: Split if() condition
  hw/block/pflash_cfi02: Reduce single byte/word write delay
  hw/block/pflash_cfi02: Document commands
  hw/block/pflash_cfi02: Reduce I/O accesses to 16-bit

Stephen Checkoway (8):
  tests/pflash-cfi02: Add test for supported CFI commands
  hw/block/pflash_cfi02: Fix command address comparison
  hw/block/pflash_cfi02: Implement nonuniform sector sizes
  hw/block/pflash_cfi02: Fix CFI in autoselect mode
  hw/block/pflash_cfi02: Fix reset command not ignored during erase
  hw/block/pflash_cfi02: Implement multi-sector erase
  hw/block/pflash_cfi02: Implement erase suspend/resume
  hw/block/pflash_cfi02: Use chip erase time specified in the CFI table

 hw/block/pflash_cfi01.c   |  11 +-
 hw/block/pflash_cfi02.c   | 703 ++++++++++++++++++++++++++------------
 hw/block/trace-events     |  10 +-
 tests/Makefile.include    |   2 +
 tests/pflash-cfi02-test.c | 681 ++++++++++++++++++++++++++++++++++++
 5 files changed, 1173 insertions(+), 234 deletions(-)
 create mode 100644 tests/pflash-cfi02-test.c

-- 
2.20.1