The only change from v5 to v6 is that sysbus_mmio_map is moved to fw_cfg_init_mem. (And fw_cfg_init1 returns void because it's now simpler that way).
This causes changes in patches 1, 5 and 6. I did not have the ARM firmware built, so I tested on PPC to check for compatibility, and played with "info mtree" and qtest on ARM (see also commit message for patch 7). Paolo Laszlo Ersek (10): fw_cfg: hard separation between the MMIO and I/O port mappings fw_cfg: move boards to fw_cfg_init_io() / fw_cfg_init_mem() fw_cfg_mem: max access size and region size are the same for data register fw_cfg_mem: flip ctl_mem_ops and data_mem_ops to DEVICE_BIG_ENDIAN fw_cfg_mem: introduce the "data_width" property fw_cfg_mem: expose the "data_width" property with fw_cfg_init_mem_wide() arm: add fw_cfg to "virt" board hw/loader: split out load_image_gzipped_buffer() hw/arm: pass pristine kernel image to guest firmware over fw_cfg hw/arm/virt: enable passing of EFI-stubbed kernel to guest UEFI firmware Paolo Bonzini (1): exec: allows 8-byte accesses in subpage_ops exec.c | 13 ++- hw/arm/boot.c | 88 +++++++++++++++- hw/arm/virt.c | 22 ++++ hw/core/loader.c | 30 ++++-- hw/i386/pc.c | 4 +- hw/nvram/fw_cfg.c | 250 +++++++++++++++++++++++++++++++++++----------- hw/ppc/mac_newworld.c | 2 +- hw/ppc/mac_oldworld.c | 2 +- hw/sparc/sun4m.c | 2 +- hw/sparc64/sun4u.c | 2 +- include/hw/arm/arm.h | 5 + include/hw/loader.h | 9 ++ include/hw/nvram/fw_cfg.h | 6 +- include/qemu/typedefs.h | 2 + 14 files changed, 352 insertions(+), 85 deletions(-) -- 2.1.0