[PATCH v4 00/19] kvm-unit-tests/arm: initial drop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a v4 of a series that introduces arm to kvm-unit-tests. First,
it does some tidying up of the repo. Then, it adds support for device
trees (libfdt), and for virtio-testdev[1]. 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 it must have mach-virt, and the virtio-testdev patch[1].

These patches (v4) are also available from a git repo here
https://github.com/rhdrjones/kvm-unit-tests/commits/arm/v4-initial-drop

The v3 patches are available for reference here
https://github.com/rhdrjones/kvm-unit-tests/commits/arm/v3-initial-drop

Major v3->v4 differences are noted in each patch that has some under
the '---'. There are also some new patches since v3 in this series,
and a few v3 patches were dropped.

Some more interesting v3->v4 changes are:
  * rebased to "7505ea2: realmode: make performance test run..."
  * generation of asm-offsets.h now done like Kbuild
  * cleaner build in general (new asm dir, no libfdt changes)
  * introduction of memregions
  * introduction of spinlocks
  * determination of nr_cpus on setup
  * reworked devicetree.[ch] to cleanup api and better document
  * a more general virtio_bind() implementation
  * more code comments and commit messages

Thanks in advance for reviews!

[1] http://lists.nongnu.org/archive/html/qemu-devel/2013-12/msg00690.html


Andrew Jones (17):
  remove unused files
  makefile and run_tests tweaks
  clean root dir of all x86-ness
  add distclean target and gitignore more
  add 'make cscope' support
  libfdt: Import libfdt source
  libfdt: get libfdt to build
  add support for Linux device trees
  libcflat: add abort() and assert()
  Introduce asm-generic/*.h files
  add minimal virtio support for devtree virtio-mmio
  Introduce virtio-testdev
  libcflat: clean up libcflat.h and add string.h
  printf: support field padding
  arm: initial drop
  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                   |    6 +
 Makefile                     |   55 +-
 README                       |   59 +-
 arm/cstart.S                 |  209 ++++++
 arm/flat.lds                 |   23 +
 arm/run                      |   31 +
 arm/selftest.c               |  207 ++++++
 arm/unittests.cfg            |   30 +
 config-i386.mak              |   13 -
 config-ia64.mak              |    7 -
 config-powerpc-440.mak       |   15 -
 config-powerpc.mak           |   39 --
 config-x86-common.mak        |  124 ----
 config-x86_64.mak            |   14 -
 config/asm-offsets.mak       |   41 ++
 config/config-arm.mak        |   79 +++
 config/config-i386.mak       |   12 +
 config/config-x86-common.mak |  122 ++++
 config/config-x86_64.mak     |   13 +
 configure                    |   40 +-
 docs/testdev.txt             |   13 +
 flat.lds                     |   21 -
 formats                      |   31 -
 iotable.c                    |   53 --
 iotable.h                    |   40 --
 kvmtrace.c                   |  706 --------------------
 kvmtrace_format              |  532 ---------------
 lib/argv.c                   |    6 +
 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             |   81 +++
 lib/arm/asm/processor.h      |   40 ++
 lib/arm/asm/ptrace.h         |  100 +++
 lib/arm/asm/setup.h          |   39 ++
 lib/arm/asm/spinlock.h       |   11 +
 lib/arm/eabi_compat.c        |   20 +
 lib/arm/io.c                 |   66 ++
 lib/arm/processor.c          |  115 ++++
 lib/arm/setup.c              |  142 ++++
 lib/arm/spinlock.c           |   28 +
 lib/asm-generic/io.h         |  154 +++++
 lib/asm-generic/spinlock.h   |    4 +
 lib/devicetree.c             |  289 ++++++++
 lib/devicetree.h             |  230 +++++++
 lib/fwcfg.c                  |   58 --
 lib/generated/.gitignore     |    1 +
 lib/libcflat.h               |   59 +-
 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/panic.c                  |   13 -
 lib/powerpc/44x/map.c        |   51 --
 lib/powerpc/44x/timebase.S   |   28 -
 lib/powerpc/44x/timebase.h   |   25 -
 lib/powerpc/44x/tlbwe.S      |   29 -
 lib/powerpc/io.c             |   35 -
 lib/printf.c                 |   82 ++-
 lib/string.c                 |   54 ++
 lib/string.h                 |   15 +
 lib/virtio-testdev.c         |  137 ++++
 lib/virtio-testdev.h         |   18 +
 lib/virtio.c                 |  166 +++++
 lib/virtio.h                 |   89 +++
 main-ppc.c                   |  383 -----------
 powerpc/44x/tlbsx.S          |   33 -
 powerpc/44x/tlbwe.S          |   27 -
 powerpc/44x/tlbwe_16KB.S     |   35 -
 powerpc/44x/tlbwe_hole.S     |   27 -
 powerpc/cstart.S             |   38 --
 powerpc/exit.c               |   23 -
 powerpc/helloworld.c         |   27 -
 powerpc/io.S                 |   32 -
 powerpc/spin.S               |    4 -
 powerpc/sprg.S               |    7 -
 run_tests.sh                 |   22 +-
 testdev.txt                  |   14 -
 x86-run                      |   41 --
 x86/README                   |   59 +-
 x86/flat.lds                 |   21 +
 x86/print.h                  |   19 -
 x86/run                      |   41 ++
 x86/run-kvm-unit-tests       |    6 -
 96 files changed, 6782 insertions(+), 2667 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
 delete mode 100644 config-i386.mak
 delete mode 100644 config-ia64.mak
 delete mode 100644 config-powerpc-440.mak
 delete mode 100644 config-powerpc.mak
 delete mode 100644 config-x86-common.mak
 delete mode 100644 config-x86_64.mak
 create mode 100644 config/asm-offsets.mak
 create mode 100644 config/config-arm.mak
 create mode 100644 config/config-i386.mak
 create mode 100644 config/config-x86-common.mak
 create mode 100644 config/config-x86_64.mak
 create mode 100644 docs/testdev.txt
 delete mode 100644 flat.lds
 delete mode 100644 formats
 delete mode 100644 iotable.c
 delete mode 100644 iotable.h
 delete mode 100644 kvmtrace.c
 delete mode 100755 kvmtrace_format
 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/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/spinlock.h
 create mode 100644 lib/devicetree.c
 create mode 100644 lib/devicetree.h
 delete mode 100644 lib/fwcfg.c
 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
 delete mode 100644 lib/panic.c
 delete mode 100644 lib/powerpc/44x/map.c
 delete mode 100644 lib/powerpc/44x/timebase.S
 delete mode 100644 lib/powerpc/44x/timebase.h
 delete mode 100644 lib/powerpc/44x/tlbwe.S
 delete mode 100644 lib/powerpc/io.c
 create mode 100644 lib/string.h
 create mode 100644 lib/virtio-testdev.c
 create mode 100644 lib/virtio-testdev.h
 create mode 100644 lib/virtio.c
 create mode 100644 lib/virtio.h
 delete mode 100644 main-ppc.c
 delete mode 100644 powerpc/44x/tlbsx.S
 delete mode 100644 powerpc/44x/tlbwe.S
 delete mode 100644 powerpc/44x/tlbwe_16KB.S
 delete mode 100644 powerpc/44x/tlbwe_hole.S
 delete mode 100644 powerpc/cstart.S
 delete mode 100644 powerpc/exit.c
 delete mode 100644 powerpc/helloworld.c
 delete mode 100644 powerpc/io.S
 delete mode 100644 powerpc/spin.S
 delete mode 100644 powerpc/sprg.S
 delete mode 100644 testdev.txt
 delete mode 100755 x86-run
 create mode 100644 x86/flat.lds
 delete mode 100644 x86/print.h
 create mode 100755 x86/run
 delete mode 100644 x86/run-kvm-unit-tests

-- 
1.8.1.4

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux