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