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


Reply via email to