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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html