xref: /qemu/tests/functional/test_hppa_seabios.py (revision 4b1f5b73e060971c434e70694d571adfee553027)
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