As part of some ongoing sun4u work, I need to be able to wire the fw_cfg
IO interface to a separate IO space by instantiating the qdev device instead
of calling fw_cfg_init_io(). This patchset brings FW_CFG_IO in line with
FW_CFG_MEM and tidies up the realize methods accordingly.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
v5:
- Remove unused FWCfgIoState iobase and dma_iobase fields
- Add Reviewed-By tags from Laszlo
- Update commit message in patch 5 as suggested by Laszlo
- Move FWCfgEntry typedef from fw_cfg.h to typedefs.h with the others
v4:
- Undo accidental typedef change in patch 5 caught in v3 rework
v3:
- Rework patch 1 to use sysbus_add_io() as suggested by Laszlo
- Add Reviewed-By from Laszlo for patch 2
- Fix assert() when instantiating > 1 fw_cfg device (new patch 3)
- Rename fw_cfg_init1() to fw_cfg_common_realize() as part of patch 4
v2:
- Fix the QOM bug in patch 1 as indicated by Laszlo
- Minimise code churn compared to v1
Mark Cave-Ayland (5):
fw_cfg: don't map the fw_cfg IO ports in fw_cfg_io_realize()
fw_cfg: move setting of FW_CFG_VERSION_DMA bit to fw_cfg_init1()
fw_cfg: move assert() and linking of fw_cfg device to the machine
into instance_init()
fw_cfg: move qdev_init_nofail() from fw_cfg_init1() to callers
fw_cfg: move QOM type defines and fw_cfg types into fw_cfg.h
hw/nvram/fw_cfg.c | 113 +++++++++++++--------------------------------
include/hw/nvram/fw_cfg.h | 58 +++++++++++++++++++++++
include/qemu/typedefs.h | 1 +
3 files changed, 91 insertions(+), 81 deletions(-)
--
1.7.10.4