1# Test class to boot aspeed machines 2# 3# SPDX-License-Identifier: GPL-2.0-or-later 4 5from qemu_test import exec_command_and_wait_for_pattern 6from qemu_test import LinuxKernelTest 7 8class AspeedTest(LinuxKernelTest): 9 10 def do_test_arm_aspeed_openbmc(self, machine, image, uboot='2019.04', 11 cpu_id='0x0', soc='AST2500 rev A1'): 12 hostname = machine.removesuffix('-bmc') 13 14 self.set_machine(machine) 15 self.vm.set_console() 16 self.vm.add_args('-drive', f'file={image},if=mtd,format=raw', 17 '-snapshot') 18 self.vm.launch() 19 20 self.wait_for_console_pattern(f'U-Boot {uboot}') 21 self.wait_for_console_pattern('## Loading kernel from FIT Image') 22 self.wait_for_console_pattern('Starting kernel ...') 23 self.wait_for_console_pattern(f'Booting Linux on physical CPU {cpu_id}') 24 self.wait_for_console_pattern(f'ASPEED {soc}') 25 self.wait_for_console_pattern('/init as init process') 26 self.wait_for_console_pattern(f'systemd[1]: Hostname set to <{hostname}>.') 27 28 def do_test_arm_aspeed_buildroot_start(self, image, cpu_id, pattern='Aspeed EVB'): 29 self.require_netdev('user') 30 self.vm.set_console() 31 self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw,read-only=true', 32 '-net', 'nic', '-net', 'user') 33 self.vm.launch() 34 35 self.wait_for_console_pattern('U-Boot 2019.04') 36 self.wait_for_console_pattern('## Loading kernel from FIT Image') 37 self.wait_for_console_pattern('Starting kernel ...') 38 self.wait_for_console_pattern('Booting Linux on physical CPU ' + cpu_id) 39 self.wait_for_console_pattern('lease of 10.0.2.15') 40 # the line before login: 41 self.wait_for_console_pattern(pattern) 42 exec_command_and_wait_for_pattern(self, 'root', 'Password:') 43 exec_command_and_wait_for_pattern(self, 'passw0rd', '#') 44 45 def do_test_arm_aspeed_buildroot_poweroff(self): 46 exec_command_and_wait_for_pattern(self, 'poweroff', 47 'System halted') 48 49 def do_test_arm_aspeed_sdk_start(self, image): 50 self.require_netdev('user') 51 self.vm.set_console() 52 self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw', 53 '-net', 'nic', '-net', 'user', '-snapshot') 54 self.vm.launch() 55 56 self.wait_for_console_pattern('U-Boot 2019.04') 57 self.wait_for_console_pattern('## Loading kernel from FIT Image') 58 self.wait_for_console_pattern('Starting kernel ...') 59