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
