xref: /qemu/tests/functional/test_mipsel_replay.py (revision d64db833d6e3cbe9ea5f36342480f920f3675cea)
1#!/usr/bin/env python3
2#
3# Replay tests for the little-endian 32-bit MIPS Malta board
4#
5# SPDX-License-Identifier: GPL-2.0-or-later
6
7from qemu_test import Asset, skipSlowTest
8from replay_kernel import ReplayKernelBase
9
10
11class MipselReplay(ReplayKernelBase):
12
13    ASSET_KERNEL_4K = Asset(
14        ('http://mipsdistros.mips.com/LinuxDistro/nanomips/'
15         'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/'
16         'generic_nano32r6el_page4k.xz'),
17        '019e034094ac6cf3aa77df5e130fb023ce4dbc804b04bfcc560c6403e1ae6bdb')
18    ASSET_KERNEL_16K = Asset(
19        ('http://mipsdistros.mips.com/LinuxDistro/nanomips/'
20         'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/'
21         'generic_nano32r6el_page16k_up.xz'),
22        '3a54a10b3108c16a448dca9ea3db378733a27423befc2a45a5bdf990bd85e12c')
23    ASSET_KERNEL_64K = Asset(
24        ('http://mipsdistros.mips.com/LinuxDistro/nanomips/'
25         'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/'
26         'generic_nano32r6el_page64k_dbg.xz'),
27        'ce21ff4b07a981ecb8a39db2876616f5a2473eb2ab459c6f67465b9914b0c6b6')
28
29    def do_test_replay_mips_malta32el_nanomips(self, kernel_asset):
30        self.set_machine('malta')
31        self.cpu = 'I7200'
32        kernel_path = self.uncompress(kernel_asset)
33
34        kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
35                               'mem=256m@@0x0 '
36                               'console=ttyS0')
37        console_pattern = 'Kernel command line: %s' % kernel_command_line
38        self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
39
40    @skipSlowTest()
41    def test_replay_mips_malta32el_nanomips_4k(self):
42        self.do_test_replay_mips_malta32el_nanomips(self.ASSET_KERNEL_4K)
43
44    @skipSlowTest()
45    def test_replay_mips_malta32el_nanomips_16k_up(self):
46        self.do_test_replay_mips_malta32el_nanomips(self.ASSET_KERNEL_16K)
47
48    @skipSlowTest()
49    def test_replay_mips_malta32el_nanomips_64k_dbg(self):
50        self.do_test_replay_mips_malta32el_nanomips(self.ASSET_KERNEL_64K)
51
52
53if __name__ == '__main__':
54    ReplayKernelBase.main()
55