[PATCH v6 00/17] kvm-unit-tests/arm: initial drop

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

 



This is a v6 of a series that introduces arm to kvm-unit-tests. As
the tidy-up patches from v5 have already been merged (thanks!), these
are just the remaining patches. Although there are several new patches
as well, as virtio-testdev was dropped in favor of the chr-testdev
backend[1]. The new patches are

  06/17 Introduce alloc_ops
  08/17 lib: add asm/page.h and virt_to_phys/phys_to_virt
  09/17 virtio: add minimal support for virtqueues
  10/17 Introduce chr-testdev
  15/17 arm: Add arch-specific asm/page.h and __va/__pa

and of course "Introduce virtio-testdev" was dropped.

So, 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 (v6) are also available from a git repo here
https://github.com/rhdrjones/kvm-unit-tests/commits/arm/v6-initial-drop%2Cchr-testdev

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

Almost all changes since v5 are for the virtio-testdev to chr-testdev
switch. To see just the changes made for v6 that are unrelated to the
testdev switch, then look here[2], which is an interdiff between v5 and
a "v6" that does not include the testdev switch. Likewise to see just
the changes made for the switch, look here[3] at an interdiff between
"v6" and the real v6 "v6,chr-testdev". All details of patch changes are
in their own changelogs. Note, even though there were some bigger changes
needed for the testdev switch, I kept Christoffer's *-by's. Mainly the
already Reviewed-by patches

  07/17 add minimal virtio support for devtree virtio-mmio
  12/17 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
[2] http://fpaste.org/117172/
[3] http://fpaste.org/117173/


Andrew Jones (15):
  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
  Introduce alloc_ops
  add minimal virtio support for devtree virtio-mmio
  lib: add asm/page.h and virt_to_phys/phys_to_virt
  virtio: add minimal support for virtqueues
  Introduce chr-testdev
  libcflat: clean up libcflat.h
  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                     |   26 +-
 arm/cstart.S                 |  209 ++++++
 arm/flat.lds                 |   23 +
 arm/run                      |   46 ++
 arm/selftest.c               |  214 ++++++
 arm/unittests.cfg            |   30 +
 config/asm-offsets.mak       |   41 ++
 config/config-arm.mak        |   80 +++
 configure                    |   23 +-
 lib/abort.c                  |   20 +
 lib/alloc.c                  |    2 +
 lib/alloc.h                  |   31 +
 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             |   94 +++
 lib/arm/asm/page.h           |   33 +
 lib/arm/asm/processor.h      |   39 ++
 lib/arm/asm/ptrace.h         |  100 +++
 lib/arm/asm/setup.h          |   63 ++
 lib/arm/asm/spinlock.h       |   11 +
 lib/arm/eabi_compat.c        |   20 +
 lib/arm/io.c                 |   65 ++
 lib/arm/processor.c          |  112 ++++
 lib/arm/setup.c              |  188 ++++++
 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               |   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/string.c                 |   54 ++
 lib/string.h                 |   15 +
 lib/virtio.c                 |  335 ++++++++++
 lib/virtio.h                 |  194 ++++++
 57 files changed, 6801 insertions(+), 33 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/abort.c
 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/string.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




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux