This patchset fixes buffered flash writes on the VExpress platform. Buffered writes should now work properly on platforms whose flash interface width is different from the device width. The default is for the device-width to be set to the interface width, so platforms that can benefit from this change will need to be updated. This patchset updates the configuration for the VExpress platform which requires it. UEFI firmware uses buffered writes for persistent variable storage, and this patchset enables this usage on QEMU.
Changes from v3: * Broke out width->bank_width name change into separate patch. * Added patch that returns status for each device in bank. * Reviewed code for other uses of device_width. The one remaining place this should be used is in the handling of returning the device ID. The existing code looks a bit suspect, as it is combining 16 bit values by shifting 8 bits and oring them. I have no good way to test various flash configurations, so I am reluctant to make major changes to that code. Changes from v2: (All changes in patch 2/2, 1/1 unchanged.) * Set flash invariant properties directly in VExpress specific flash init routine rather than passing long argument list. * Fix typo in comment. Changes from v1: * Add device-width property and use this to mask write length instead of devices mas write length * Update vexpress init code to set device-width to proper value. Roy Franz (4): rename pflash_t member width to bank_width Add device-width property to pflash_cfi01 return status for each device Set proper device-width for vexpress flash hw/arm/vexpress.c | 43 +++++++++++++++++++++++++++++++++---------- hw/block/pflash_cfi01.c | 37 +++++++++++++++++++++++++++---------- 2 files changed, 60 insertions(+), 20 deletions(-) -- 1.7.10.4
