1e4a407d2SPhilippe Mathieu-Daudé#!/usr/bin/env python3 2e4a407d2SPhilippe Mathieu-Daudé# 3e4a407d2SPhilippe Mathieu-Daudé# SeaBIOS boot test for HPPA machines 4e4a407d2SPhilippe Mathieu-Daudé# 5e4a407d2SPhilippe Mathieu-Daudé# Copyright (c) 2024 Linaro, Ltd 6e4a407d2SPhilippe Mathieu-Daudé# 7e4a407d2SPhilippe Mathieu-Daudé# SPDX-License-Identifier: GPL-2.0-or-later 8e4a407d2SPhilippe Mathieu-Daudé 9e4a407d2SPhilippe Mathieu-Daudéfrom qemu_test import QemuSystemTest 10e4a407d2SPhilippe Mathieu-Daudéfrom qemu_test import wait_for_console_pattern 11e4a407d2SPhilippe Mathieu-Daudé 12e4a407d2SPhilippe Mathieu-Daudéclass HppaSeabios(QemuSystemTest): 13e4a407d2SPhilippe Mathieu-Daudé 14e4a407d2SPhilippe Mathieu-Daudé timeout = 5 15e4a407d2SPhilippe Mathieu-Daudé MACH_BITS = {'B160L': 32, 'C3700': 64} 16e4a407d2SPhilippe Mathieu-Daudé 17e4a407d2SPhilippe Mathieu-Daudé def boot_seabios(self): 18e4a407d2SPhilippe Mathieu-Daudé mach = self.machine 19e4a407d2SPhilippe Mathieu-Daudé bits = self.MACH_BITS[mach] 20*4b1f5b73SThomas Huth self.vm.add_args('-no-shutdown') 21e4a407d2SPhilippe Mathieu-Daudé self.vm.set_console() 22e4a407d2SPhilippe Mathieu-Daudé self.vm.launch() 23e4a407d2SPhilippe Mathieu-Daudé wait_for_console_pattern(self, f'SeaBIOS PA-RISC {bits}-bit Firmware') 24e4a407d2SPhilippe Mathieu-Daudé wait_for_console_pattern(self, f'Emulated machine: HP {mach} ({bits}-bit') 25e4a407d2SPhilippe Mathieu-Daudé 26e4a407d2SPhilippe Mathieu-Daudé def test_hppa_32(self): 27e4a407d2SPhilippe Mathieu-Daudé self.set_machine('B160L') 28e4a407d2SPhilippe Mathieu-Daudé self.boot_seabios() 29e4a407d2SPhilippe Mathieu-Daudé 30e4a407d2SPhilippe Mathieu-Daudé def test_hppa_64(self): 31e4a407d2SPhilippe Mathieu-Daudé self.set_machine('C3700') 32e4a407d2SPhilippe Mathieu-Daudé self.boot_seabios() 33e4a407d2SPhilippe Mathieu-Daudé 34e4a407d2SPhilippe Mathieu-Daudéif __name__ == '__main__': 35e4a407d2SPhilippe Mathieu-Daudé QemuSystemTest.main() 36