
These patches add a board for running U-Boot under QEMU's '-machine virt' emulation, thus making it possible to boot Linux distros that use the extlinux.conf booting method under '-machine virt'.
To some extent, this is currently possible by emulating and running U-Boot on some of the Versatile boards, but (IIRC) they have some limitations like limiting to 1GB of RAM or lacking support for PCI.
Changes in v2: - Introduce helper functions for implementing memory-mapped PCI config space accesses + refactor two existing drivers to use them. - Addresses Bin Meng's review comments (in patches 4 & 5) - Hook up test.py to run on Travis CI (patch 6). This requires https://github.com/swarren/uboot-test-hooks/pull/14 to go in first.
Travis run with the uboot-test-hooks hacked to point to my local repository: https://travis-ci.org/dezgeg/u-boot/builds/276392558
Tuomas Tynkkynen (6): pci: Add helper for implementing memory-mapped config space accesses pci: xilinx: Use pci_generic_mmap_{read,write}_config() pci: layerscape: Use pci_generic_mmap_{read,write}_config PCI: Add driver for a 'pci-host-ecam-generic' host controller ARM: Add a new arch + board for QEMU's 'virt' machine travis.yml: Add job for running test.py in qemu_arm
.travis.yml | 5 ++ arch/arm/Kconfig | 10 +++ arch/arm/mach-qemu/Kconfig | 12 +++ board/emulation/qemu-arm/MAINTAINERS | 6 ++ board/emulation/qemu-arm/Makefile | 5 ++ board/emulation/qemu-arm/qemu-arm.c | 33 ++++++++ configs/qemu_arm_defconfig | 28 +++++++ drivers/pci/Kconfig | 8 ++ drivers/pci/Makefile | 1 + drivers/pci/pci-uclass.c | 58 ++++++++++++++ drivers/pci/pcie_ecam_generic.c | 143 +++++++++++++++++++++++++++++++++++ drivers/pci/pcie_layerscape.c | 68 +++++------------ drivers/pci/pcie_xilinx.c | 53 ++----------- include/configs/qemu-arm.h | 58 ++++++++++++++ include/pci.h | 51 +++++++++++++ 15 files changed, 442 insertions(+), 97 deletions(-) create mode 100644 arch/arm/mach-qemu/Kconfig create mode 100644 board/emulation/qemu-arm/MAINTAINERS create mode 100644 board/emulation/qemu-arm/Makefile create mode 100644 board/emulation/qemu-arm/qemu-arm.c create mode 100644 configs/qemu_arm_defconfig create mode 100644 drivers/pci/pcie_ecam_generic.c create mode 100644 include/configs/qemu-arm.h