This patchset improves Raven PCI host emulation, found in some PPC platforms, like the QEMU 'prep' one, and for example the IBM RS/6000 40p.
Some features added to raven emulation were already present in prep board (non contiguous I/O, firmware loading), while some other are new (PCI bus mastering memory region). This patchset has been tested against Linux 2.4 PPC and IBM RS/6000 40p firmware. Notable achievements are PCI bus mastering (tested with lsi53c895a SCSI adapter), lots of cleanup and emulation correctness, and also documentation of current hacks required by Open Hack'Ware. This gives us a good base to replace OpenHack'Ware by a possible upcoming OpenBIOS release. Changes since v2: - rebased and fixed conflicts in patches 5 and 6 Changes since v1: - reworked a dubious memcpy to make it work on big endian hosts - split onto multiple patches Hervé Poussineau (10): prep: kill get_system_io() usage raven: use constant PCI_NUM_PINS instead of 4 raven: move BIOS loading from board code to PCI host raven: rename intack region to pci_intack raven: set a correct PCI I/O memory region raven: set a correct PCI memory region raven: add PCI bus mastering address space raven: implement non-contiguous I/O region raven: fix PCI bus accesses with size > 1 raven: use raven_ for all function prefixes hw/pci-host/prep.c | 235 ++++++++++++++++++++++++++++++++++++++++++++-------- hw/ppc/prep.c | 155 ++++++---------------------------- 2 files changed, 226 insertions(+), 164 deletions(-) -- 1.7.10.4