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

Andrew Jones
2014-06-11T14:01:42Z

This is a v5 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 (v5) are also available from a git repo here
https://github.com/rhdrjones/kvm-unit-tests/commits/arm/v5-initial-drop

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

Not too much has changed since v4. There are no new patches nor dropped
patches, and all patches that did get a change have a v5 note. To see
a branch interdiff (created with git-tbdiff[2]) take a look here[3].

Thanks in advance for reviews!

[1] http://lists.nongnu.org/archive/html/qemu-devel/2013-12/msg00690.html
[2] https://github.com/trast/tbdiff
[3] http://fpaste.org/108932/14024949/

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 | 35 +
arm/selftest.c | 209 ++++++
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 | 126 ----
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 | 124 ++++
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 | 63 ++
lib/arm/asm/spinlock.h | 11 +
lib/arm/eabi_compat.c | 20 +
lib/arm/io.c | 65 ++
lib/arm/processor.c | 115 ++++
lib/arm/setup.c | 149 +++++
lib/arm/spinlock.c | 28 +
lib/asm-generic/io.h | 162 +++++
lib/asm-generic/spinlock.h | 4 +
lib/devicetree.c | 272 ++++++++
lib/devicetree.h | 236 +++++++
lib/fwcfg.c | 58 --
lib/generated/.gitignore | 1 +
lib/libcflat.h | 58 +-
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 | 165 +++++
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, 6814 insertions(+), 2670 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.9.3