OpenBSD device discovery exercises CTPR masking, zero decrementer writes, and CUDA reply timing and layout; regressions in any of these paths stall the guest before the installer starts.
Signed-off-by: Kirill A. Korinsky <[email protected]> --- tests/functional/ppc/meson.build | 2 ++ tests/functional/ppc/test_openbsd.py | 46 ++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100755 tests/functional/ppc/test_openbsd.py diff --git a/tests/functional/ppc/meson.build b/tests/functional/ppc/meson.build index ae061fe5a6..1055cdaa17 100644 --- a/tests/functional/ppc/meson.build +++ b/tests/functional/ppc/meson.build @@ -2,6 +2,7 @@ test_ppc_timeouts = { '40p' : 240, + 'openbsd' : 240, } tests_ppc_system_quick = [ @@ -15,6 +16,7 @@ tests_ppc_system_thorough = [ 'bamboo', 'mac', 'mpc8544ds', + 'openbsd', 'ppe42', 'replay', 'sam460ex', diff --git a/tests/functional/ppc/test_openbsd.py b/tests/functional/ppc/test_openbsd.py new file mode 100755 index 0000000000..cf45930a7c --- /dev/null +++ b/tests/functional/ppc/test_openbsd.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +# +# Test that OpenBSD boots on mac99 and reaches the installer. +# +# SPDX-License-Identifier: GPL-2.0-or-later + +from qemu_test import QemuSystemTest, Asset +from qemu_test import wait_for_console_pattern + + +class OpenBSDMac99(QemuSystemTest): + + ASSET_CD = Asset( + 'https://ftp.eu.openbsd.org/pub/OpenBSD/7.9/macppc/cd79.iso', + '227fef3d5089d56ce8376d8bfa28181ce5b19f0eceef0a6d82d58d8e52832b24') + + def test_openbsd_79_installer(self): + self.set_machine('mac99') + self.require_accelerator('tcg') + cdrom_path = self.ASSET_CD.fetch() + + self.vm.set_console() + self.vm.add_args('-M', 'via=cuda,graphics=off,usb=off', + '-cpu', '7400', + '-accel', 'tcg,thread=single', + '-smp', '1', + '-m', '2g', + '-nic', 'none', + '-device', 'VGA', + '-global', 'cuda.sr-delay-ns=0', + '-prom-env', 'input-device=ttya', + '-prom-env', 'output-device=ttya', + '-cdrom', cdrom_path, + '-boot', 'd', + '-no-reboot') + self.vm.launch() + + wait_for_console_pattern(self, 'OpenBSD 7.9 (RAMDISK)', 'panic:') + wait_for_console_pattern( + self, + '(I)nstall, (U)pgrade, (A)utoinstall or (S)hell?', + 'panic:') + + +if __name__ == '__main__': + QemuSystemTest.main() -- 2.55.0
