Ping ? I can send out v6 and fix the commit blurb typo in patch 6/6 pointed out by Laszlo (unless the series is already winding its way toward eventually being applied).
Please advise. Thanks, --Gabriel On Thu, Nov 05, 2015 at 09:32:46AM -0500, Gabriel L. Somlo wrote: > New since v4: > > - Patch 5: Protect against (undefined) left-shifting a uint64_t > by 64 bits > > - Patches 4 & 5: Reworked comment and commit blurb wording > > Laszlo, thanks again for the thorough review (and the "C master class") :) > > Regards, > --Gabriel > > >New since v3: > > > > - Patches 1..3 unchanged > > > > - Inserted new patch at position #4: avoid calculating an entry > > pointer for the current item when s->cur_entry is FW_CFG_INVALID > > > > - Patch 5 (formerly #4) now has the generic read method correctly > > shift-left (adding 0 padding on the right) in the event that the > > current item payload is exhausted in the course of a multi-byte > > read operation (Laszlo, thanks again for catching that!) > > > > - Patch 6 (formerly #5) is a rebased version of its former self, > > but with no actual significant modifications. > > > >>New since v2: > >> > >> - Patches 1-3: updated to address Laszlo's suggestions for better > >> and more accurate change descriptions in commit logs, comments, > >> etc. > >> > >> - Patch 4: Per Laszlo's recommendation, this has been split into > >> two separate components for improved legibility: > >> > >> - Patch 4/5: Introduces the new generic read method, and > >> replaces the existing MMIO logic > >> > >> - Patch 5/5: Replaces the IOPort read logic, and cleans > >> up the remaining unused bits of code. > >> > >>>This series' main purpose is to update (and simplify) the specified > >>>read callback behavior. An earlier standalone patch to move qemu function > >>>call API documentation into fw_cfg.h should logically be part of the > >>>series. > >>> > >>>Here's the summary of what each patch does: > >>> > >>> - Patch 1/4 is an updated version of the standalone v1 patch > >>> I sent out earlier; it moves all the qemu-internal host-side > >>> function call api documentation out of docs/specs/fw_cfg.txt, > >>> and into the fw_cfg.h header file, next to the prototype of > >>> each documented api function. > >>> > >>> - Patch 2/4 modifies the specified behavior of read callbacks > >>> (from being invoked once per byte read, to being invoked once, > >>> before ANY data is read, specifically once each time an item > >>> is selected). > >>> > >>> - Patch 3/4 additionally removes the now-redundant offset argument > >>> from the read callback prototype. > >>> > >>> - Finally, 4/4 consolidates (non-DMA) reads, minimizing the number > >>> of times redundant sanity checks are performed, particularly for > >>> wide (> byte) sized reads. > > Gabriel L. Somlo (6): > fw_cfg: move internal function call docs to header file > fw_cfg: amend callback behavior spec to once per select > fw_cfg: remove offset argument from callback prototype > fw_cfg: avoid calculating invalid current entry pointer > fw_cfg: add generic non-DMA read method > fw_cfg: replace ioport data read with generic method > > docs/specs/fw_cfg.txt | 85 +----------------------------- > hw/arm/virt-acpi-build.c | 2 +- > hw/i386/acpi-build.c | 2 +- > hw/nvram/fw_cfg.c | 75 +++++++++++++-------------- > include/hw/nvram/fw_cfg.h | 128 > +++++++++++++++++++++++++++++++++++++++++++++- > trace-events | 2 +- > 6 files changed, 166 insertions(+), 128 deletions(-) > > -- > 2.4.3 >
