[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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.

This series is based on Jan's "common: move simple_strto{,u}l{,l}() to lib/"
https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg00095.html

Thanks,
Shawn

--
Changed in v2:
  - Drop simple_strtoul patch, base on Jan's patch instead
  - Remove ALL_LIBS-y override
  - Clean up formatting of opal.c, opal-calls.S, asm-defns.h
  - Consistently use label in TOC address calculation in head.S

Shawn Anastasio (4):
  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                 |    5 +-
 xen/arch/ppc/include/asm/asm-defns.h |   21 +
 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                  |   74 ++
 xen/arch/ppc/ppc64/Makefile          |    1 +
 xen/arch/ppc/ppc64/asm-offsets.c     |    4 +
 xen/arch/ppc/ppc64/head.S            |   12 +-
 xen/arch/ppc/ppc64/opal-calls.S      |   81 ++
 xen/arch/ppc/setup.c                 |    9 +-
 xen/arch/ppc/xen.lds.S               |   44 +-
 19 files changed, 1470 insertions(+), 40 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

--
2.30.2




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.