This is v7 of a series that introduces arm to kvm-unit-tests. Three of the v6 patches were already merged, so this is the remainder. No new patches have been added, but some of the summaries have changed. This series first adds support for device trees (libfdt), and for chr-testdev (virtio). Next, it adds the basic infrastructure for booting a test case (guest), and adds a first test case, a self-test to confirm setup was completed successfully. Finally, it further prepares the framework for more complicated tests by adding vector support, and extends the self-test to test that too. This initial drop doesn't require kvmarm. qemu-system-arm is enough, but qemu must have mach-virt, and the chr-testdev patch[1]. These patches (v7) are also available from a git repo here https://github.com/rhdrjones/kvm-unit-tests/commits/arm/v7-initial-drop The v6 patches are also available from a git repo here https://github.com/rhdrjones/kvm-unit-tests/commits/arm/v6-initial-drop%2Cchr-testdev and, the v5 patches are still available here https://github.com/rhdrjones/kvm-unit-tests/commits/arm/v5-initial-drop The main changes since v6 are the moving/redesigning/reAPIing of arm's memregions to common code as phys_alloc, and the splitting of virtio and virtio-mmio code into separate files. The main change since v5 (as stated in the v6 cover letter) is the switch from virtio-testdev to chr-testdev. Also, as stated in the v6 cover letter, I've kept Christoffer's *-by's, and mainly the already Reviewed-by patches 05/14 add minimal virtio support for devtree virtio-mmio 09/14 arm: initial drop should get a second look (or interdiffed). Thanks in advance for reviews! [1] http://lists.nongnu.org/archive/html/qemu-devel/2014-07/msg01960.html Andrew Jones (12): libfdt: Import libfdt source add support for Linux device trees Introduce asm-generic/*.h files Introduce lib/alloc add minimal virtio support for devtree virtio-mmio lib/asm-generic: add page.h and virt_to_phys/phys_to_virt virtio: add minimal support for virtqueues Introduce chr-testdev arm: initial drop arm: Add arch-specific asm/page.h and __va/__pa arm: add useful headers from the Linux kernel arm: vectors support Christoffer Dall (2): arm: Add spinlock implementation arm: Add IO accessors to avoid register-writeback .gitignore | 1 + Makefile | 25 +- arm/cstart.S | 209 ++++++ arm/flat.lds | 23 + arm/run | 46 ++ arm/selftest.c | 210 ++++++ arm/unittests.cfg | 30 + config/asm-offsets.mak | 41 ++ config/config-arm.mak | 81 +++ configure | 23 +- lib/alloc.c | 176 +++++ lib/alloc.h | 123 ++++ lib/argv.c | 9 + lib/arm/.gitignore | 1 + lib/arm/asm-offsets.c | 39 ++ lib/arm/asm/asm-offsets.h | 1 + lib/arm/asm/barrier.h | 18 + lib/arm/asm/cp15.h | 37 ++ lib/arm/asm/io.h | 94 +++ lib/arm/asm/page.h | 33 + lib/arm/asm/processor.h | 39 ++ lib/arm/asm/ptrace.h | 100 +++ lib/arm/asm/setup.h | 27 + lib/arm/asm/spinlock.h | 11 + lib/arm/eabi_compat.c | 20 + lib/arm/io.c | 65 ++ lib/arm/processor.c | 111 ++++ lib/arm/setup.c | 82 +++ lib/arm/spinlock.c | 28 + lib/asm-generic/io.h | 175 +++++ lib/asm-generic/page.h | 28 + lib/asm-generic/spinlock.h | 4 + lib/chr-testdev.c | 72 ++ lib/chr-testdev.h | 14 + lib/devicetree.c | 272 ++++++++ lib/devicetree.h | 236 +++++++ lib/generated/.gitignore | 1 + lib/libcflat.h | 2 + lib/libfdt/Makefile.libfdt | 10 + lib/libfdt/README | 4 + lib/libfdt/fdt.c | 250 +++++++ lib/libfdt/fdt.h | 111 ++++ lib/libfdt/fdt_empty_tree.c | 84 +++ lib/libfdt/fdt_ro.c | 573 ++++++++++++++++ lib/libfdt/fdt_rw.c | 492 ++++++++++++++ lib/libfdt/fdt_strerror.c | 96 +++ lib/libfdt/fdt_sw.c | 256 +++++++ lib/libfdt/fdt_wip.c | 118 ++++ lib/libfdt/libfdt.h | 1514 ++++++++++++++++++++++++++++++++++++++++++ lib/libfdt/libfdt_env.h | 111 ++++ lib/libfdt/libfdt_internal.h | 95 +++ lib/libfdt/version.lds | 60 ++ lib/virtio-mmio.c | 175 +++++ lib/virtio-mmio.h | 65 ++ lib/virtio.c | 130 ++++ lib/virtio.h | 149 +++++ 56 files changed, 6794 insertions(+), 6 deletions(-) create mode 100644 arm/cstart.S create mode 100644 arm/flat.lds create mode 100755 arm/run create mode 100644 arm/selftest.c create mode 100644 arm/unittests.cfg create mode 100644 config/asm-offsets.mak create mode 100644 config/config-arm.mak create mode 100644 lib/alloc.c create mode 100644 lib/alloc.h create mode 100644 lib/arm/.gitignore create mode 100644 lib/arm/asm-offsets.c create mode 100644 lib/arm/asm/asm-offsets.h create mode 100644 lib/arm/asm/barrier.h create mode 100644 lib/arm/asm/cp15.h create mode 100644 lib/arm/asm/io.h create mode 100644 lib/arm/asm/page.h create mode 100644 lib/arm/asm/processor.h create mode 100644 lib/arm/asm/ptrace.h create mode 100644 lib/arm/asm/setup.h create mode 100644 lib/arm/asm/spinlock.h create mode 100644 lib/arm/eabi_compat.c create mode 100644 lib/arm/io.c create mode 100644 lib/arm/processor.c create mode 100644 lib/arm/setup.c create mode 100644 lib/arm/spinlock.c create mode 100644 lib/asm-generic/io.h create mode 100644 lib/asm-generic/page.h create mode 100644 lib/asm-generic/spinlock.h create mode 100644 lib/chr-testdev.c create mode 100644 lib/chr-testdev.h create mode 100644 lib/devicetree.c create mode 100644 lib/devicetree.h create mode 100644 lib/generated/.gitignore create mode 100644 lib/libfdt/Makefile.libfdt create mode 100644 lib/libfdt/README create mode 100644 lib/libfdt/fdt.c create mode 100644 lib/libfdt/fdt.h create mode 100644 lib/libfdt/fdt_empty_tree.c create mode 100644 lib/libfdt/fdt_ro.c create mode 100644 lib/libfdt/fdt_rw.c create mode 100644 lib/libfdt/fdt_strerror.c create mode 100644 lib/libfdt/fdt_sw.c create mode 100644 lib/libfdt/fdt_wip.c create mode 100644 lib/libfdt/libfdt.h create mode 100644 lib/libfdt/libfdt_env.h create mode 100644 lib/libfdt/libfdt_internal.h create mode 100644 lib/libfdt/version.lds create mode 100644 lib/virtio-mmio.c create mode 100644 lib/virtio-mmio.h create mode 100644 lib/virtio.c create mode 100644 lib/virtio.h -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html