1*407a6883SThomas Huth#!/usr/bin/env python3 2*407a6883SThomas Huth# 3*407a6883SThomas Huth# Test that Linux kernel boots on ppc machines and check the console 4*407a6883SThomas Huth# 5*407a6883SThomas Huth# Copyright (c) 2018, 2020 Red Hat, Inc. 6*407a6883SThomas Huth# 7*407a6883SThomas Huth# This work is licensed under the terms of the GNU GPL, version 2 or 8*407a6883SThomas Huth# later. See the COPYING file in the top-level directory. 9*407a6883SThomas Huth 10*407a6883SThomas Huthfrom qemu_test.utils import archive_extract 11*407a6883SThomas Huthfrom qemu_test import QemuSystemTest, Asset 12*407a6883SThomas Huthfrom qemu_test import wait_for_console_pattern 13*407a6883SThomas Huth 14*407a6883SThomas Huthclass Mpc8544dsMachine(QemuSystemTest): 15*407a6883SThomas Huth 16*407a6883SThomas Huth timeout = 90 17*407a6883SThomas Huth KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 ' 18*407a6883SThomas Huth panic_message = 'Kernel panic - not syncing' 19*407a6883SThomas Huth 20*407a6883SThomas Huth ASSET_IMAGE = Asset( 21*407a6883SThomas Huth ('https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/' 22*407a6883SThomas Huth 'day04.tar.xz'), 23*407a6883SThomas Huth '88bc83f3c9f3d633bcfc108a6342d677abca247066a2fb8d4636744a0d319f94') 24*407a6883SThomas Huth 25*407a6883SThomas Huth def test_ppc_mpc8544ds(self): 26*407a6883SThomas Huth self.require_accelerator("tcg") 27*407a6883SThomas Huth self.set_machine('mpc8544ds') 28*407a6883SThomas Huth file_path = self.ASSET_IMAGE.fetch() 29*407a6883SThomas Huth archive_extract(file_path, self.workdir, member='creek/creek.bin') 30*407a6883SThomas Huth self.vm.set_console() 31*407a6883SThomas Huth self.vm.add_args('-kernel', self.workdir + '/creek/creek.bin') 32*407a6883SThomas Huth self.vm.launch() 33*407a6883SThomas Huth wait_for_console_pattern(self, 'QEMU advent calendar 2020', 34*407a6883SThomas Huth self.panic_message) 35*407a6883SThomas Huth 36*407a6883SThomas Huthif __name__ == '__main__': 37*407a6883SThomas Huth QemuSystemTest.main() 38