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 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%) -- 2.4.3 -- 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