mbox series

[0/5] xen/ppc: Add PowerNV bare metal support

Message ID cover.1690579561.git.sanastasio@raptorengineering.com (mailing list archive)
Headers show
Series xen/ppc: Add PowerNV bare metal support | expand

Message

Shawn Anastasio July 28, 2023, 9:35 p.m. UTC
Hello all,

This series adds support for booting and using the serial console on
bare metal PowerNV/OpenPOWER systems. Up until now, Xen could only be
booted on the QEMU pseries model, which was initially targetted for ease
of development, but which differs significantly from the bare metal
systems where this port is likely to be the most useful.

In addition to adding support for the PowerNV boot protocol and firmware
interface, changes required to get libfdt from xen/libfdt building are
included. This is required to obtain the firmware entrypoint address on
PowerNV.

Thanks,
Shawn

Shawn Anastasio (5):
  xen/lib: Move simple_strtoul from common/vsprintf.c to lib
  xen/ppc: Switch to medium PIC code model
  xen/ppc: Add OPAL API definition header file
  xen/ppc: Parse device tree for OPAL node on PowerNV
  xen/ppc: Implement early serial console on PowerNV

 xen/arch/ppc/Kconfig                 |    1 +
 xen/arch/ppc/Makefile                |    1 +
 xen/arch/ppc/arch.mk                 |    6 +-
 xen/arch/ppc/include/asm/asm-defns.h |   19 +
 xen/arch/ppc/include/asm/boot.h      |   16 +-
 xen/arch/ppc/include/asm/bug.h       |   18 +
 xen/arch/ppc/include/asm/cache.h     |    6 +
 xen/arch/ppc/include/asm/config.h    |    2 +-
 xen/arch/ppc/include/asm/opal-api.h  | 1190 ++++++++++++++++++++++++++
 xen/arch/ppc/include/asm/processor.h |   13 +-
 xen/arch/ppc/include/asm/string.h    |    6 +
 xen/arch/ppc/include/asm/system.h    |    6 +
 xen/arch/ppc/opal.c                  |   73 ++
 xen/arch/ppc/ppc64/Makefile          |    1 +
 xen/arch/ppc/ppc64/asm-offsets.c     |    4 +
 xen/arch/ppc/ppc64/head.S            |   13 +-
 xen/arch/ppc/ppc64/opal-calls.S      |   82 ++
 xen/arch/ppc/setup.c                 |    9 +-
 xen/arch/ppc/xen.lds.S               |   44 +-
 xen/common/vsprintf.c                |   37 -
 xen/lib/Makefile                     |    1 +
 xen/lib/simple_strtoul.c             |   40 +
 22 files changed, 1511 insertions(+), 77 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/bug.h
 create mode 100644 xen/arch/ppc/include/asm/cache.h
 create mode 100644 xen/arch/ppc/include/asm/opal-api.h
 create mode 100644 xen/arch/ppc/include/asm/string.h
 create mode 100644 xen/arch/ppc/include/asm/system.h
 create mode 100644 xen/arch/ppc/opal.c
 create mode 100644 xen/arch/ppc/ppc64/opal-calls.S
 create mode 100644 xen/lib/simple_strtoul.c

--
2.30.2