On 03/08/2015 16:41, Andrew Jones wrote: > This series is the first series of a series of series that will > bring support to kvm-unit-tests for ppc64, and eventually ppc64le. > (Yes, the word 'series' is four times in that sentence. And now I've > typed 'series' five times! Wait, now six times! OK, moving on...) > > This series brings basic setup; starts a test's C entry point, main(), > and printf, exit, and malloc work. Three more series following this > one will bring; vector support, mmu support, and smp support, at which > point I believe the framework can just evolve with the creation of unit > tests. > > Executive summary of the patches is as follows > 01: A needed fix to asm-generic/io.h. This could go in without the > rest of the series, but it's only needed for BE. > 02: Share arm/selftest.c utility functions (for powerpc/selftest.c) > 03: Split makefiles up and rename them. This is almost an RFC, > since it generates some churn, but I think it has value now > that we're adding another architecture. > 04-05: Here's the framework start; empty skeleton plus some tweaks. > 06-07: Adds a bootloader. As we target the SPAPR machine type that > requires one. > 08: printf support > 09: More of setup's framework, and do more setup. > 10: Relocate support (since we can't link LMA == VMA) > 11: exit() support > 12-14: Unit test running scripts > > These patches are available here > https://github.com/rhdrjones/kvm-unit-tests/commits/ppc64/initial-drop > > and they're based on this branch > https://github.com/rhdrjones/kvm-unit-tests/commits/staging > > which is based on (upstream's next branch) > http://git.kernel.org/cgit/virt/kvm/kvm-unit-tests.git/log/?h=next Now pushed to master. Thanks for the ppc64 tests, I'll review them as well as Alex's mttcg suite. Paolo > Thanks, > drew > > Andrew Jones (14): > lib: asm-generic: add missing casts > lib: share arm-selftest utility functions > config: no need to mix arch makefiles > powerpc/ppc64: start skeleton framework > powerpc/pp64: ppc-ify makefiles and linker script > powerpc/ppc64: add boot rom source > powerpc/ppc64: add bootloader to bounce into memory > powerpc/ppc64: add HV putchar > powerpc/ppc64: adapt arm's setup > powerpc/ppc64: relocate linker VMAs > powerpc/ppc64: add rtas_power_off > scripts: add exit code snooper > powerpc/ppc64: add run script and unittests.cfg > mkstandalone: add support for powerpc > > Makefile | 2 +- > README | 3 +- > arm/Makefile | 1 + > config/config-arm.mak => arm/Makefile.arm | 2 +- > config/config-arm64.mak => arm/Makefile.arm64 | 2 +- > .../config-arm-common.mak => arm/Makefile.common | 3 +- > arm/selftest.c | 33 ++----- > configure | 10 +++ > lib/arm/io.c | 1 + > lib/asm-generic/io.h | 12 +-- > lib/libcflat.h | 14 +-- > lib/powerpc/.gitignore | 1 + > lib/powerpc/asm/rtas.h | 27 ++++++ > lib/powerpc/asm/setup.h | 27 ++++++ > lib/powerpc/io.c | 35 ++++++++ > lib/powerpc/mmu.c | 0 > lib/powerpc/rtas.c | 84 ++++++++++++++++++ > lib/powerpc/setup.c | 82 ++++++++++++++++++ > lib/powerpc/smp.c | 0 > lib/ppc64/.gitignore | 1 + > lib/ppc64/asm-offsets.c | 12 +++ > lib/ppc64/asm/asm-offsets.h | 1 + > lib/ppc64/asm/io.h | 5 ++ > lib/ppc64/asm/page.h | 1 + > lib/ppc64/asm/rtas.h | 1 + > lib/ppc64/asm/setup.h | 1 + > lib/ppc64/asm/spinlock.h | 11 +++ > lib/ppc64/processor.c | 0 > lib/ppc64/spinlock.c | 11 +++ > lib/report.c | 16 ++++ > lib/util.c | 20 +++++ > lib/util.h | 23 +++++ > powerpc/Makefile | 1 + > powerpc/Makefile.common | 71 +++++++++++++++ > powerpc/Makefile.ppc64 | 21 +++++ > powerpc/boot_rom.bin | Bin 0 -> 280 bytes > powerpc/cstart64.S | 96 +++++++++++++++++++++ > powerpc/flat.lds | 44 ++++++++++ > powerpc/reloc64.c | 55 ++++++++++++ > powerpc/rom/.gitignore | 1 + > powerpc/rom/Makefile | 36 ++++++++ > powerpc/rom/header.img | 1 + > powerpc/rom/rom.ffs | 4 + > powerpc/rom/stage1.S | 5 ++ > powerpc/run | 57 ++++++++++++ > powerpc/selftest.c | 65 ++++++++++++++ > powerpc/unittests.cfg | 19 ++++ > {config => scripts}/asm-offsets.mak | 0 > scripts/functions.bash | 11 +++ > scripts/mkstandalone.sh | 50 ++++++++++- > x86/Makefile | 1 + > .../config-x86-common.mak => x86/Makefile.common | 0 > config/config-i386.mak => x86/Makefile.i386 | 2 +- > config/config-x86_64.mak => x86/Makefile.x86_64 | 2 +- > 54 files changed, 936 insertions(+), 48 deletions(-) > create mode 100644 arm/Makefile > rename config/config-arm.mak => arm/Makefile.arm (90%) > rename config/config-arm64.mak => arm/Makefile.arm64 (89%) > rename config/config-arm-common.mak => arm/Makefile.common (97%) > create mode 100644 lib/powerpc/.gitignore > create mode 100644 lib/powerpc/asm/rtas.h > create mode 100644 lib/powerpc/asm/setup.h > create mode 100644 lib/powerpc/io.c > create mode 100644 lib/powerpc/mmu.c > create mode 100644 lib/powerpc/rtas.c > create mode 100644 lib/powerpc/setup.c > create mode 100644 lib/powerpc/smp.c > create mode 100644 lib/ppc64/.gitignore > create mode 100644 lib/ppc64/asm-offsets.c > create mode 100644 lib/ppc64/asm/asm-offsets.h > create mode 100644 lib/ppc64/asm/io.h > create mode 100644 lib/ppc64/asm/page.h > create mode 100644 lib/ppc64/asm/rtas.h > create mode 100644 lib/ppc64/asm/setup.h > create mode 100644 lib/ppc64/asm/spinlock.h > create mode 100644 lib/ppc64/processor.c > create mode 100644 lib/ppc64/spinlock.c > create mode 100644 lib/util.c > create mode 100644 lib/util.h > create mode 100644 powerpc/Makefile > create mode 100644 powerpc/Makefile.common > create mode 100644 powerpc/Makefile.ppc64 > create mode 100644 powerpc/boot_rom.bin > create mode 100644 powerpc/cstart64.S > create mode 100644 powerpc/flat.lds > create mode 100644 powerpc/reloc64.c > create mode 100644 powerpc/rom/.gitignore > create mode 100644 powerpc/rom/Makefile > create mode 100644 powerpc/rom/header.img > create mode 100644 powerpc/rom/rom.ffs > create mode 100644 powerpc/rom/stage1.S > create mode 100755 powerpc/run > create mode 100644 powerpc/selftest.c > create mode 100644 powerpc/unittests.cfg > rename {config => scripts}/asm-offsets.mak (100%) > create mode 100644 x86/Makefile > rename config/config-x86-common.mak => x86/Makefile.common (100%) > rename config/config-i386.mak => x86/Makefile.i386 (91%) > rename config/config-x86_64.mak => x86/Makefile.x86_64 (92%) > -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html