[PATCH 0/6] ppc: add QEMU ppce500 test in CI

Ahmad Fatoum
2026-02-09T09:15:45Z

Add support for running barebox on the QEMU ppce500 virtual machine.
This enables automated testing of PowerPC e500 support in CI.

The PowerPC support for this virtual machine has been AI generated.
I have no interest in learning the PowerPC ISA, but it's beneficial
to remaining users for CI to be able to catch some runtime regressions
as we only did compile tests so far.

With this, kvx is the only remaining architecture that is not tested in
CI, but that's on the TODO list as well.

Ahmad Fatoum (6):
include: array_size.h: make header self-contained
serial: ns16550: add "ns16550" compatible string
lib: stackprot: omit HAVE_STACKPROTECTOR for powerpc
gpio: mpc8xxx: allow build on MPC85xx platforms
mach-mpc85xx: speed: add fsl_set_timebase_clock() override
powerpc: add QEMU ppce500 board support with CI test infrastructure

.github/workflows/test-labgrid-pytest.yml | 4 +
arch/Kconfig | 6 +
arch/arm/Kconfig | 1 +
arch/kvx/Kconfig | 1 +
arch/mips/Kconfig | 1 +
arch/openrisc/Kconfig | 1 +
arch/powerpc/Makefile | 1 +
arch/powerpc/boards/qemu-e500/Makefile | 5 +
arch/powerpc/boards/qemu-e500/law.c | 17 ++
arch/powerpc/boards/qemu-e500/qemu-e500.c | 92 ++++++++
arch/powerpc/boards/qemu-e500/tlb.c | 17 ++
arch/powerpc/configs/qemu-ppce500_defconfig | 69 ++++++
arch/powerpc/cpu-85xx/Makefile | 3 +
arch/powerpc/cpu-85xx/start-qemu.S | 211 ++++++++++++++++++
arch/powerpc/include/asm/board-qemu-e500.h | 39 ++++
arch/powerpc/include/asm/config.h | 2 +
arch/powerpc/include/asm/debug_ll.h | 52 +++++
arch/powerpc/lib/board.c | 6 +
arch/powerpc/mach-mpc85xx/Kconfig | 13 ++
arch/powerpc/mach-mpc85xx/barebox.lds.S | 12 +
.../powerpc/mach-mpc85xx/include/mach/clock.h | 1 +
.../include/mach/config_mpc85xx.h | 6 +
arch/powerpc/mach-mpc85xx/speed.c | 10 +
arch/riscv/Kconfig | 1 +
arch/sandbox/Kconfig | 1 +
arch/x86/Kconfig | 1 +
common/Kconfig.debug_ll | 7 +-
drivers/gpio/Kconfig | 2 +-
drivers/serial/serial_ns16550.c | 2 +
include/linux/array_size.h | 3 +-
lib/Kconfig.hardening | 2 +
test/powerpc/qemu-ppce500_defconfig.yaml | 17 ++
32 files changed, 603 insertions(+), 3 deletions(-)
create mode 100644 arch/powerpc/boards/qemu-e500/Makefile
create mode 100644 arch/powerpc/boards/qemu-e500/law.c
create mode 100644 arch/powerpc/boards/qemu-e500/qemu-e500.c
create mode 100644 arch/powerpc/boards/qemu-e500/tlb.c
create mode 100644 arch/powerpc/configs/qemu-ppce500_defconfig
create mode 100644 arch/powerpc/cpu-85xx/start-qemu.S
create mode 100644 arch/powerpc/include/asm/board-qemu-e500.h
create mode 100644 arch/powerpc/include/asm/debug_ll.h
create mode 100644 test/powerpc/qemu-ppce500_defconfig.yaml

--
2.47.3