| 1 | #!/usr/bin/env python3 |
| 2 | # |
| 3 | # Replay test that boots a Linux kernel on ppc64 machines |
| 4 | # and checks the console |
| 5 | # |
| 6 | # SPDX-License-Identifier: GPL-2.0-or-later |
| 7 | |
| 8 | from qemu_test import Asset, skipFlakyTest |
| 9 | from replay_kernel import ReplayKernelBase |
| 10 | |
| 11 | |
| 12 | class Ppc64Replay(ReplayKernelBase): |
| 13 | |
| 14 | ASSET_DAY19 = Asset( |
| 15 | ('https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/' |
| 16 | 'day19.tar.xz'), |
| 17 | '20b1bb5a8488c664defbb5d283addc91a05335a936c63b3f5ff7eee74b725755') |
| 18 | |
| 19 | @skipFlakyTest('https://gitlab.com/qemu-project/qemu/-/issues/2523') |
| 20 | def test_ppc64_e500(self): |
| 21 | self.set_machine('ppce500') |
| 22 | self.cpu = 'e5500' |
| 23 | kernel_path = self.archive_extract(self.ASSET_DAY19, |
| 24 | member='day19/uImage') |
| 25 | self.run_rr(kernel_path, self.REPLAY_KERNEL_COMMAND_LINE, |
| 26 | 'QEMU advent calendar') |
| 27 | |
| 28 | ASSET_KERNEL = Asset( |
| 29 | ('https://archives.fedoraproject.org/pub/archive/fedora-secondary/' |
| 30 | 'releases/29/Everything/ppc64le/os/ppc/ppc64/vmlinuz'), |
| 31 | '383c2f5c23bc0d9d32680c3924d3fd7ee25cc5ef97091ac1aa5e1d853422fc5f') |
| 32 | |
| 33 | def test_ppc64_pseries(self): |
| 34 | self.set_machine('pseries') |
| 35 | kernel_path = self.ASSET_KERNEL.fetch() |
| 36 | kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=hvc0' |
| 37 | console_pattern = 'VFS: Cannot open root device' |
| 38 | self.run_rr(kernel_path, kernel_command_line, console_pattern) |
| 39 | |
| 40 | def test_ppc64_powernv(self): |
| 41 | self.set_machine('powernv') |
| 42 | kernel_path = self.ASSET_KERNEL.fetch() |
| 43 | kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + \ |
| 44 | 'console=tty0 console=hvc0' |
| 45 | console_pattern = 'VFS: Cannot open root device' |
| 46 | self.run_rr(kernel_path, kernel_command_line, console_pattern) |
| 47 | |
| 48 | |
| 49 | if __name__ == '__main__': |
| 50 | ReplayKernelBase.main() |