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