All of lore.kernel.org
 help / color / mirror / Atom feed
* [kvm-unit-tests PATCH v2 00/14] ppc64: initial drop
@ 2016-02-08 18:53 ` Andrew Jones
  0 siblings, 0 replies; 84+ messages in thread
From: Andrew Jones @ 2016-02-08 18:53 UTC (permalink / raw)
  To: kvm, kvm-ppc; +Cc: thuth, dgibson, david, agraf, lvivier, pbonzini

It's been a loooong time since I posted v1 of this series, but thanks
to Thomas' poking, and even volunteering to help move v2 along, I've
finally picked it back up.

v2:
  Besides rebasing on latest master, v2 addresses all of David's comments
    - assembler cleanup
    - jump into the RTAS blob we get from DT, instead of reproducing it
    - don't store the RTAS root node, always hunt it down

  v2 didn't address debug-exit, and we still need a solution for that.
  Plugging chr-testdev into an spapr vty is probably what we should
  investigate first (as was suggested by Alex Graf under the v1 review).
  For this v2 I just kept the hack from v1, but simplified it and
  explicitly call it out as the hack that it is.

Additional known issues:
  Latest F22 cross-compiler (gcc5 based) doesn't generate working
  code with this series. I didn't try to debug. The 4.9 based compiler
  I initially used on v1 works, so I reverted to that one.

Testing:
  I only tested with qemu-system-ppc64 (latest) on x86_64 so far. I'll
  try to get a machine to test with real hardware (and KVM) unless
  someone (hi Thomas :-) beats me to it.

Standard cover-letter summary:
  This series brings basic setup; starts a test's C entry point, main(),
  and printf, exit, and malloc work. Three more series should follow this
  one which must bring; vector support, mmu support, and smp support, at
  which point I believe the framework could just evolve with the creation
  of unit tests.

Patches also available here
https://github.com/rhdrjones/kvm-unit-tests/commits/ppc64/initial-drop-v2


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 run script and unittests.cfg
  mkstandalone: add support for powerpc
  powerpc/ppc64: add RTAS support
  powerpc/ppc64: HACK: make a fake debug-exit

 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                                     |  45 +++-----
 configure                                          |   6 ++
 lib/asm-generic/io.h                               |  12 +--
 lib/libcflat.h                                     |  11 +-
 lib/powerpc/.gitignore                             |   1 +
 lib/powerpc/asm/rtas.h                             |  26 +++++
 lib/powerpc/asm/setup.h                            |  27 +++++
 lib/powerpc/io.c                                   |  37 +++++++
 lib/powerpc/mmu.c                                  |   0
 lib/powerpc/rtas.c                                 | 120 +++++++++++++++++++++
 lib/powerpc/setup.c                                |  91 ++++++++++++++++
 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                                         |  18 ++++
 lib/util.h                                         |  23 ++++
 powerpc/Makefile                                   |   1 +
 powerpc/Makefile.common                            |  65 +++++++++++
 powerpc/Makefile.ppc64                             |  21 ++++
 powerpc/boot_rom.bin                               | Bin 0 -> 280 bytes
 powerpc/cstart64.S                                 |  86 +++++++++++++++
 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                                        |  60 +++++++++++
 powerpc/selftest.c                                 |  65 +++++++++++
 powerpc/unittests.cfg                              |  30 ++++++
 {config => scripts}/asm-offsets.mak                |   0
 scripts/mkstandalone.sh                            |   5 +
 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 +-
 52 files changed, 924 insertions(+), 50 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 (96%)
 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 (93%)

-- 
2.4.3


^ permalink raw reply	[flat|nested] 84+ messages in thread

end of thread, other threads:[~2016-02-15  0:04 UTC | newest]

Thread overview: 84+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-08 18:53 [kvm-unit-tests PATCH v2 00/14] ppc64: initial drop Andrew Jones
2016-02-08 18:53 ` Andrew Jones
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 01/14] lib: asm-generic: add missing casts Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-12 12:05   ` Thomas Huth
2016-02-12 12:05     ` Thomas Huth
2016-02-12 13:58     ` Andrew Jones
2016-02-12 13:58       ` Andrew Jones
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 02/14] lib: share arm-selftest utility functions Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-12 12:40   ` Thomas Huth
2016-02-12 12:40     ` Thomas Huth
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 03/14] config: no need to mix arch makefiles Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 04/14] powerpc/ppc64: start skeleton framework Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 05/14] powerpc/pp64: ppc-ify makefiles and linker script Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-09 17:54   ` [kvm-unit-tests PATCH] align toc to 256 bytes Andrew Jones
2016-02-09 17:54     ` Andrew Jones
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 06/14] powerpc/ppc64: add boot rom source Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-12  6:27   ` Thomas Huth
2016-02-12  6:27     ` Thomas Huth
2016-02-12 10:07     ` Andrew Jones
2016-02-12 10:07       ` Andrew Jones
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 07/14] powerpc/ppc64: add bootloader to bounce into memory Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 08/14] powerpc/ppc64: add HV putchar Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-12 17:08   ` Thomas Huth
2016-02-12 17:08     ` Thomas Huth
2016-02-12 17:45     ` Thomas Huth
2016-02-12 17:45       ` Thomas Huth
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 09/14] powerpc/ppc64: adapt arm's setup Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-12 11:50   ` Thomas Huth
2016-02-12 11:50     ` Thomas Huth
2016-02-12 13:59     ` Andrew Jones
2016-02-12 13:59       ` Andrew Jones
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 10/14] powerpc/ppc64: relocate linker VMAs Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 11/14] powerpc/ppc64: add run script and unittests.cfg Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 12/14] mkstandalone: add support for powerpc Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 13/14] powerpc/ppc64: add RTAS support Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-12 17:51   ` Thomas Huth
2016-02-12 17:51     ` Thomas Huth
2016-02-08 18:53 ` [kvm-unit-tests PATCH v2 14/14] powerpc/ppc64: HACK: make a fake debug-exit Andrew Jones
2016-02-08 18:53   ` Andrew Jones
2016-02-12 18:07   ` Thomas Huth
2016-02-12 18:07     ` Thomas Huth
2016-02-12 22:50     ` Paolo Bonzini
2016-02-12 22:50       ` Paolo Bonzini
2016-02-09 17:49 ` [kvm-unit-tests PATCH v2 00/14] ppc64: initial drop Andrew Jones
2016-02-09 17:49   ` Andrew Jones
2016-02-10 14:27 ` Paolo Bonzini
2016-02-10 14:27   ` Paolo Bonzini
2016-02-11 11:56   ` Andrew Jones
2016-02-11 11:56     ` Andrew Jones
2016-02-11 12:36     ` Paolo Bonzini
2016-02-11 12:36       ` Paolo Bonzini
2016-02-11 13:36 ` Laurent Vivier
2016-02-11 13:36   ` Laurent Vivier
2016-02-11 15:29   ` Andrew Jones
2016-02-11 15:29     ` Andrew Jones
2016-02-11 16:44     ` Laurent Vivier
2016-02-11 16:44       ` Laurent Vivier
2016-02-11 17:22       ` Andrew Jones
2016-02-11 17:22         ` Andrew Jones
2016-02-11 17:47         ` Laurent Vivier
2016-02-11 17:47           ` Laurent Vivier
2016-02-12 10:06           ` Andrew Jones
2016-02-12 10:06             ` Andrew Jones
2016-02-12 10:31             ` Laurent Vivier
2016-02-12 10:31               ` Laurent Vivier
2016-02-12 10:57               ` Andrew Jones
2016-02-12 10:57                 ` Andrew Jones
2016-02-12 13:44                 ` Andrew Jones
2016-02-12 13:44                   ` Andrew Jones
2016-02-14 22:43                   ` David Gibson
2016-02-14 22:43                     ` David Gibson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.