There are various ways barebox can run under emulation, some of them are described in the documentation and some more in the git history. Make running the emulators more convenient to use by collecting some known-good emulator invocations in a machine readable format. These YAML files can be parsed by labgrid for running tests or executed by a new test/emulate.pl runner script that will be added in a follow-up commit. Using labgrid for this will allow using the same test suite for physical targets as well in future. Acked-by: Rouven Czerwinski <r.czerwinski@xxxxxxxxxxxxxx> Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- test/arm/a15@vexpress_defconfig.yaml | 20 +++++++++++++++ test/arm/a9@vexpress_defconfig.yaml | 20 +++++++++++++++ test/arm/qemu_virt64_defconfig.yaml | 24 ++++++++++++++++++ test/arm/vexpress_defconfig.yaml | 1 + test/arm/virt@vexpress_defconfig.yaml | 22 ++++++++++++++++ test/kconfig/virtio-pci.cfg | 6 +++++ test/mips/be@qemu-malta_defconfig.yaml | 22 ++++++++++++++++ test/mips/le@qemu-malta_defconfig.yaml | 25 ++++++++++++++++++ test/mips/qemu-malta_defconfig.yaml | 1 + test/openrisc/generic_defconfig.yaml | 20 +++++++++++++++ test/riscv/qemu@virt32_defconfig.yaml | 27 ++++++++++++++++++++ test/riscv/qemu@virt64_defconfig.yaml | 27 ++++++++++++++++++++ test/riscv/sifive_defconfig.yaml | 25 ++++++++++++++++++ test/riscv/tinyemu@virt32_defconfig.yaml | 22 ++++++++++++++++ test/riscv/tinyemu@virt64_defconfig.yaml | 22 ++++++++++++++++ test/riscv/virt32_defconfig.yaml | 1 + test/riscv/virt64_defconfig.yaml | 1 + test/sandbox/sandbox_defconfig.yaml | 12 +++++++++ test/x86/efi_defconfig.yaml | 1 + test/x86/pc@efi_defconfig.yaml | 31 +++++++++++++++++++++++ test/x86/q35@efi_defconfig.yaml | 31 +++++++++++++++++++++++ test/x86/virtio@efi_defconfig.yaml | 32 ++++++++++++++++++++++++ 22 files changed, 393 insertions(+) create mode 100644 test/arm/a15@vexpress_defconfig.yaml create mode 100644 test/arm/a9@vexpress_defconfig.yaml create mode 100644 test/arm/qemu_virt64_defconfig.yaml create mode 120000 test/arm/vexpress_defconfig.yaml create mode 100644 test/arm/virt@vexpress_defconfig.yaml create mode 100644 test/kconfig/virtio-pci.cfg create mode 100644 test/mips/be@qemu-malta_defconfig.yaml create mode 100644 test/mips/le@qemu-malta_defconfig.yaml create mode 120000 test/mips/qemu-malta_defconfig.yaml create mode 100644 test/openrisc/generic_defconfig.yaml create mode 100644 test/riscv/qemu@virt32_defconfig.yaml create mode 100644 test/riscv/qemu@virt64_defconfig.yaml create mode 100644 test/riscv/sifive_defconfig.yaml create mode 100644 test/riscv/tinyemu@virt32_defconfig.yaml create mode 100644 test/riscv/tinyemu@virt64_defconfig.yaml create mode 120000 test/riscv/virt32_defconfig.yaml create mode 120000 test/riscv/virt64_defconfig.yaml create mode 100644 test/sandbox/sandbox_defconfig.yaml create mode 120000 test/x86/efi_defconfig.yaml create mode 100644 test/x86/pc@efi_defconfig.yaml create mode 100644 test/x86/q35@efi_defconfig.yaml create mode 100644 test/x86/virtio@efi_defconfig.yaml diff --git a/test/arm/a15@vexpress_defconfig.yaml b/test/arm/a15@vexpress_defconfig.yaml new file mode 100644 index 000000000000..70141df800dc --- /dev/null +++ b/test/arm/a15@vexpress_defconfig.yaml @@ -0,0 +1,20 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: vexpress-a15 + cpu: cortex-a15 + memory: 1024M + bios: barebox-vexpress-ca15.img + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} +images: + barebox-vexpress-ca15.img: $LG_BUILDDIR/images/barebox-vexpress-ca15.img +tools: + qemu: /usr/bin/qemu-system-arm +imports: + - ../strategy.py diff --git a/test/arm/a9@vexpress_defconfig.yaml b/test/arm/a9@vexpress_defconfig.yaml new file mode 100644 index 000000000000..0d4faf86904e --- /dev/null +++ b/test/arm/a9@vexpress_defconfig.yaml @@ -0,0 +1,20 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: vexpress-a9 + cpu: cortex-a9 + memory: 1024M + bios: barebox-vexpress-ca9.img + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} +images: + barebox-vexpress-ca9.img: $LG_BUILDDIR/images/barebox-vexpress-ca9.img +tools: + qemu: /usr/bin/qemu-system-arm +imports: + - ../strategy.py diff --git a/test/arm/qemu_virt64_defconfig.yaml b/test/arm/qemu_virt64_defconfig.yaml new file mode 100644 index 000000000000..0098ebc93aa9 --- /dev/null +++ b/test/arm/qemu_virt64_defconfig.yaml @@ -0,0 +1,24 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: virt + cpu: cortex-a57 + memory: 1024M + kernel: barebox-dt-2nd.img + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + features: + - virtio-mmio + runner: + tuxmake_arch: arm64 +images: + barebox-dt-2nd.img: $LG_BUILDDIR/images/barebox-dt-2nd.img +tools: + qemu: /usr/bin/qemu-system-aarch64 +imports: + - ../strategy.py diff --git a/test/arm/vexpress_defconfig.yaml b/test/arm/vexpress_defconfig.yaml new file mode 120000 index 000000000000..732f51b19dc9 --- /dev/null +++ b/test/arm/vexpress_defconfig.yaml @@ -0,0 +1 @@ +a9@vexpress_defconfig.yaml \ No newline at end of file diff --git a/test/arm/virt@vexpress_defconfig.yaml b/test/arm/virt@vexpress_defconfig.yaml new file mode 100644 index 000000000000..1e0d92a7cc01 --- /dev/null +++ b/test/arm/virt@vexpress_defconfig.yaml @@ -0,0 +1,22 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: virt + cpu: cortex-a7 + memory: 1024M + kernel: barebox-dt-2nd.img + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + features: + - virtio-mmio +images: + barebox-dt-2nd.img: $LG_BUILDDIR/images/barebox-dt-2nd.img +tools: + qemu: /usr/bin/qemu-system-arm +imports: + - ../strategy.py diff --git a/test/kconfig/virtio-pci.cfg b/test/kconfig/virtio-pci.cfg new file mode 100644 index 000000000000..78237b8fca26 --- /dev/null +++ b/test/kconfig/virtio-pci.cfg @@ -0,0 +1,6 @@ +CONFIG_VIRTIO_MENU=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_VIRTIO_BLK=y +CONFIG_HWRNG=y +CONFIG_HW_RANDOM_VIRTIO=y diff --git a/test/mips/be@qemu-malta_defconfig.yaml b/test/mips/be@qemu-malta_defconfig.yaml new file mode 100644 index 000000000000..aebd404c17b0 --- /dev/null +++ b/test/mips/be@qemu-malta_defconfig.yaml @@ -0,0 +1,22 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: malta + cpu: M14Kc + memory: 256M + bios: barebox-qemu-malta.img + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + features: + - virtio-pci +images: + barebox-qemu-malta.img: $LG_BUILDDIR/images/barebox-qemu-malta.img +tools: + qemu: /usr/bin/qemu-system-mips +imports: + - ../strategy.py diff --git a/test/mips/le@qemu-malta_defconfig.yaml b/test/mips/le@qemu-malta_defconfig.yaml new file mode 100644 index 000000000000..d8288ec0a27f --- /dev/null +++ b/test/mips/le@qemu-malta_defconfig.yaml @@ -0,0 +1,25 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: malta + cpu: M14Kc + memory: 256M + bios: barebox-qemu-malta.img.swapped + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + features: + - virtio-pci + runner: + kconfig_add: + - CONFIG_CPU_LITTLE_ENDIAN=y +images: + barebox-qemu-malta.img.swapped: $LG_BUILDDIR/images/barebox-qemu-malta.img.swapped +tools: + qemu: /usr/bin/qemu-system-mipsel +imports: + - ../strategy.py diff --git a/test/mips/qemu-malta_defconfig.yaml b/test/mips/qemu-malta_defconfig.yaml new file mode 120000 index 000000000000..481b6e547782 --- /dev/null +++ b/test/mips/qemu-malta_defconfig.yaml @@ -0,0 +1 @@ +be@qemu-malta_defconfig.yaml \ No newline at end of file diff --git a/test/openrisc/generic_defconfig.yaml b/test/openrisc/generic_defconfig.yaml new file mode 100644 index 000000000000..bb2bbe826d97 --- /dev/null +++ b/test/openrisc/generic_defconfig.yaml @@ -0,0 +1,20 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: or1k-sim + cpu: or1200 + memory: 256M + kernel: barebox + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} +images: + barebox: $LG_BUILDDIR/barebox +tools: + qemu: /usr/bin/qemu-system-or1k +imports: + - ../strategy.py diff --git a/test/riscv/qemu@virt32_defconfig.yaml b/test/riscv/qemu@virt32_defconfig.yaml new file mode 100644 index 000000000000..95d932ae93cc --- /dev/null +++ b/test/riscv/qemu@virt32_defconfig.yaml @@ -0,0 +1,27 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: virt + cpu: rv32 + memory: 256M + kernel: barebox-dt-2nd.img + bios: opensbi-riscv32-generic-fw_dynamic.bin + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + features: + - virtio-mmio + runner: + download: + opensbi-riscv32-generic-fw_dynamic.bin: https://github.com/qemu/qemu/blob/v5.2.0/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin?raw=true +images: + barebox-dt-2nd.img: $LG_BUILDDIR/images/barebox-dt-2nd.img + opensbi-riscv32-generic-fw_dynamic.bin: $LG_BUILDDIR/opensbi-riscv32-generic-fw_dynamic.bin +tools: + qemu: /usr/bin/qemu-system-riscv32 +imports: + - ../strategy.py diff --git a/test/riscv/qemu@virt64_defconfig.yaml b/test/riscv/qemu@virt64_defconfig.yaml new file mode 100644 index 000000000000..300351df5b19 --- /dev/null +++ b/test/riscv/qemu@virt64_defconfig.yaml @@ -0,0 +1,27 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: virt + cpu: rv64 + memory: 256M + kernel: barebox-dt-2nd.img + bios: opensbi-riscv64-generic-fw_dynamic.bin + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + features: + - virtio-mmio + runner: + download: + opensbi-riscv64-generic-fw_dynamic.bin: https://github.com/qemu/qemu/blob/v5.2.0/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin?raw=true +images: + barebox-dt-2nd.img: $LG_BUILDDIR/images/barebox-dt-2nd.img + opensbi-riscv64-generic-fw_dynamic.bin: $LG_BUILDDIR/opensbi-riscv64-generic-fw_dynamic.bin +tools: + qemu: /usr/bin/qemu-system-riscv64 +imports: + - ../strategy.py diff --git a/test/riscv/sifive_defconfig.yaml b/test/riscv/sifive_defconfig.yaml new file mode 100644 index 000000000000..728f99348160 --- /dev/null +++ b/test/riscv/sifive_defconfig.yaml @@ -0,0 +1,25 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: sifive_u + cpu: sifive-u54 + memory: 256M + kernel: barebox-hifive-unleashed.img + bios: opensbi-riscv64-generic-fw_dynamic.bin + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + runner: + download: + opensbi-riscv64-generic-fw_dynamic.bin: https://github.com/qemu/qemu/blob/v5.2.0/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin?raw=true +images: + barebox-hifive-unleashed.img: $LG_BUILDDIR/images/barebox-hifive-unleashed.img + opensbi-riscv64-generic-fw_dynamic.bin: $LG_BUILDDIR/opensbi-riscv64-generic-fw_dynamic.bin +tools: + qemu: /usr/bin/qemu-system-riscv64 +imports: + - ../strategy.py diff --git a/test/riscv/tinyemu@virt32_defconfig.yaml b/test/riscv/tinyemu@virt32_defconfig.yaml new file mode 100644 index 000000000000..a5c8f96af682 --- /dev/null +++ b/test/riscv/tinyemu@virt32_defconfig.yaml @@ -0,0 +1,22 @@ +targets: + main: + drivers: + TinyEMUDriver: + temu_bin: temu + config: ./Documentation/boards/riscv/barebox-virt32.cfg + image: barebox-dt-2nd.img + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + features: + - virtio-mmio + runner: + download: + bbl32.bin: https://barebox.org/jsbarebox/bbl32.bin +images: + barebox-dt-2nd.img: $LG_BUILDDIR/images/barebox-dt-2nd.img +tools: + temu: /usr/local/bin/temu +imports: + - ../strategy.py diff --git a/test/riscv/tinyemu@virt64_defconfig.yaml b/test/riscv/tinyemu@virt64_defconfig.yaml new file mode 100644 index 000000000000..565b4d3ee995 --- /dev/null +++ b/test/riscv/tinyemu@virt64_defconfig.yaml @@ -0,0 +1,22 @@ +targets: + main: + drivers: + TinyEMUDriver: + temu_bin: temu + config: ./Documentation/boards/riscv/barebox-virt64.cfg + image: barebox-dt-2nd.img + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + features: + - virtio-mmio + runner: + download: + bbl64.bin: https://barebox.org/jsbarebox/bbl64.bin +images: + barebox-dt-2nd.img: $LG_BUILDDIR/images/barebox-dt-2nd.img +tools: + temu: /usr/local/bin/temu +imports: + - ../strategy.py diff --git a/test/riscv/virt32_defconfig.yaml b/test/riscv/virt32_defconfig.yaml new file mode 120000 index 000000000000..e9d7237f5339 --- /dev/null +++ b/test/riscv/virt32_defconfig.yaml @@ -0,0 +1 @@ +qemu@virt32_defconfig.yaml \ No newline at end of file diff --git a/test/riscv/virt64_defconfig.yaml b/test/riscv/virt64_defconfig.yaml new file mode 120000 index 000000000000..ab419d5e7fb4 --- /dev/null +++ b/test/riscv/virt64_defconfig.yaml @@ -0,0 +1 @@ +qemu@virt64_defconfig.yaml \ No newline at end of file diff --git a/test/sandbox/sandbox_defconfig.yaml b/test/sandbox/sandbox_defconfig.yaml new file mode 100644 index 000000000000..68826e8b5830 --- /dev/null +++ b/test/sandbox/sandbox_defconfig.yaml @@ -0,0 +1,12 @@ +targets: + main: + drivers: + NativeExecutableDriver: + command: ./barebox + image: barebox + runner: + tuxmake_arch: um +images: + barebox: $LG_BUILDDIR/barebox +tools: + qemu: /usr/local/bin/temu diff --git a/test/x86/efi_defconfig.yaml b/test/x86/efi_defconfig.yaml new file mode 120000 index 000000000000..942dc259d56b --- /dev/null +++ b/test/x86/efi_defconfig.yaml @@ -0,0 +1 @@ +pc@efi_defconfig.yaml \ No newline at end of file diff --git a/test/x86/pc@efi_defconfig.yaml b/test/x86/pc@efi_defconfig.yaml new file mode 100644 index 000000000000..2cd27ed672f7 --- /dev/null +++ b/test/x86/pc@efi_defconfig.yaml @@ -0,0 +1,31 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: pc + cpu: Nehalem + memory: 1024M + kernel: barebox.efi + bios: OVMF.fd + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + features: + - pci + runner: + tuxmake_arch: x86_64 + kconfig_add: + - CONFIG_DRIVER_SERIAL_NS16550=y + - CONFIG_CONSOLE_ACTIVATE_FIRST=y # avoid duplicate output + download: + OVMF.fd: /usr/share/qemu/OVMF.fd +images: + barebox.efi: $LG_BUILDDIR/barebox.efi + OVMF.fd: $LG_BUILDDIR/OVMF.fd +tools: + qemu: /usr/bin/qemu-system-x86_64 +imports: + - ../strategy.py diff --git a/test/x86/q35@efi_defconfig.yaml b/test/x86/q35@efi_defconfig.yaml new file mode 100644 index 000000000000..4c5e36c9ffe3 --- /dev/null +++ b/test/x86/q35@efi_defconfig.yaml @@ -0,0 +1,31 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: q35 + cpu: Nehalem + memory: 1024M + kernel: barebox.efi + bios: OVMF.fd + extra_args: -global ICH9-LPC.noreboot=false + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + features: + - pci + runner: + tuxmake_arch: x86_64 + kconfig_add: + - CONFIG_DRIVER_SERIAL_NS16550=y + - CONFIG_CONSOLE_ACTIVATE_FIRST=y # avoid duplicate output + download: + OVMF.fd: /usr/share/qemu/OVMF.fd +images: + barebox.efi: $LG_BUILDDIR/barebox.efi + OVMF.fd: $LG_BUILDDIR/OVMF.fd +tools: + qemu: /usr/bin/qemu-system-x86_64 +imports: + - ../strategy.py diff --git a/test/x86/virtio@efi_defconfig.yaml b/test/x86/virtio@efi_defconfig.yaml new file mode 100644 index 000000000000..6e112e4baad5 --- /dev/null +++ b/test/x86/virtio@efi_defconfig.yaml @@ -0,0 +1,32 @@ +targets: + main: + drivers: + QEMUDriver: + qemu_bin: qemu + machine: pc + cpu: Nehalem + memory: 1024M + kernel: barebox.efi + bios: OVMF.fd + extra_args: '' + BareboxDriver: + prompt: 'barebox@[^:]+:[^ ]+ ' + bootstring: 'commandline:' + BareboxTestStrategy: {} + features: + - virtio-pci + runner: + tuxmake_arch: x86_64 + kconfig_add: + - test/kconfig/virtio-pci.cfg + - CONFIG_DRIVER_SERIAL_NS16550=y + - CONFIG_CONSOLE_ACTIVATE_FIRST=y # avoid duplicate output + download: + OVMF.fd: /usr/share/qemu/OVMF.fd +images: + barebox.efi: $LG_BUILDDIR/barebox.efi + OVMF.fd: $LG_BUILDDIR/OVMF.fd +tools: + qemu: /usr/bin/qemu-system-x86_64 +imports: + - ../strategy.py -- 2.29.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox