From: Shawn Anastasio <shawn@anastas.io>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
Shawn Anastasio <shawn@anastas.io>,
Doug Goldstein <cardoe@cardoe.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Andrew Cooper <andrew.cooper3@citrix.com>,
George Dunlap <george.dunlap@citrix.com>,
Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
Wei Liu <wl@xen.org>,
Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 0/4] Initial support for Power
Date: Mon, 12 Jun 2023 09:51:35 -0500 [thread overview]
Message-ID: <cover.1686580752.git.shawn@anastas.io> (raw)
Hello all,
This patch series adds support for building a minimal image
(head.o-only) for Power ISA 2.07B+ (POWER8+) systems. The first patch
boots to an infinite loop and the second adds early serial console
support on pseries VMs, with bare metal support planned next.
Since Xen previously had support for a much older version of the ISA in
version 3.2.3, we were able to carry over some headers and support
routines from that version. Unlike that initial port though, this effort
focuses solely on POWER8+ CPUs that are capable of running in Little
Endian mode.
With an appropriate powerpc64le-linux-gnu cross-toolchain, the minimal
image can be built with:
$ make XEN_TARGET_ARCH=ppc64 -C xen openpower_defconfig
$ make XEN_TARGET_ARCH=ppc64 SUBSYSTEMS=xen -C xen TARGET=ppc64/head.o
The resulting head.o can then be booted in a standard QEMU/pseries VM:
$ qemu-system-ppc64 -M pseries-5.2 -m 256M -kernel xen/ppc64/head.o \
-vga none -serial mon:stdio -nographic
Thanks,
Shawn
--
Changes from v2:
- Add ppc64le cross-build container patch
- Add ppc64le cross build CI job patch
- Drop serial output patch (will be in future patch series)
- Drop setup.c and unneeded headers from minimal build patch
- Fixed ordering of MAINTAINERS patch + add F: line
- Fix config/ppc64.mk option names
- Clarify Kconfig Baseline ISA option help strings
Shawn Anastasio (4):
automation: Add container for ppc64le builds
xen: Add files needed for minimal ppc64le build
automation: Add ppc64le cross-build jobs
maintainers: Add ppc64 maintainer
MAINTAINERS | 4 +
.../build/debian/bullseye-ppc64le.dockerfile | 28 +++
automation/gitlab-ci/build.yaml | 60 ++++++
automation/scripts/containerize | 1 +
config/ppc64.mk | 5 +
xen/Makefile | 5 +-
xen/arch/ppc/Kconfig | 42 +++++
xen/arch/ppc/Kconfig.debug | 0
xen/arch/ppc/Makefile | 16 ++
xen/arch/ppc/Rules.mk | 0
xen/arch/ppc/arch.mk | 11 ++
xen/arch/ppc/configs/openpower_defconfig | 13 ++
xen/arch/ppc/include/asm/config.h | 63 +++++++
xen/arch/ppc/include/asm/page-bits.h | 7 +
xen/arch/ppc/ppc64/Makefile | 1 +
xen/arch/ppc/ppc64/asm-offsets.c | 0
xen/arch/ppc/ppc64/head.S | 27 +++
xen/arch/ppc/xen.lds.S | 173 ++++++++++++++++++
18 files changed, 454 insertions(+), 2 deletions(-)
create mode 100644 automation/build/debian/bullseye-ppc64le.dockerfile
create mode 100644 config/ppc64.mk
create mode 100644 xen/arch/ppc/Kconfig
create mode 100644 xen/arch/ppc/Kconfig.debug
create mode 100644 xen/arch/ppc/Makefile
create mode 100644 xen/arch/ppc/Rules.mk
create mode 100644 xen/arch/ppc/arch.mk
create mode 100644 xen/arch/ppc/configs/openpower_defconfig
create mode 100644 xen/arch/ppc/include/asm/config.h
create mode 100644 xen/arch/ppc/include/asm/page-bits.h
create mode 100644 xen/arch/ppc/ppc64/Makefile
create mode 100644 xen/arch/ppc/ppc64/asm-offsets.c
create mode 100644 xen/arch/ppc/ppc64/head.S
create mode 100644 xen/arch/ppc/xen.lds.S
--
2.30.2
next reply other threads:[~2023-06-12 14:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-12 14:51 Shawn Anastasio [this message]
2023-06-12 14:51 ` [PATCH v2 1/4] automation: Add container for ppc64le builds Shawn Anastasio
2023-06-12 14:51 ` [PATCH v2 2/4] xen: Add files needed for minimal ppc64le build Shawn Anastasio
2023-06-12 14:51 ` [PATCH v2 3/4] automation: Add ppc64le cross-build jobs Shawn Anastasio
2023-06-12 14:51 ` [PATCH v2 4/4] maintainers: Add ppc64 maintainer Shawn Anastasio
2023-06-12 15:03 ` Jan Beulich
2023-06-13 14:37 ` Shawn Anastasio
2023-06-12 14:56 ` [PATCH v2 0/4] Initial support for Power Shawn Anastasio
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1686580752.git.shawn@anastas.io \
--to=shawn@anastas.io \
--cc=andrew.cooper3@citrix.com \
--cc=cardoe@cardoe.com \
--cc=george.dunlap@citrix.com \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=sanastasio@raptorengineering.com \
--cc=sstabellini@kernel.org \
--cc=tpearson@raptorengineering.com \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.