]> Git Repo - qemu.git/blob - tests/avocado/replay_kernel.py
works with less than base ISA qemu-system-riscv32 -M virt -bios none -kernel output...
[qemu.git] / tests / avocado / replay_kernel.py
1 # Record/replay test that boots a Linux kernel
2 #
3 # Copyright (c) 2020 ISP RAS
4 #
5 # Author:
6 #  Pavel Dovgalyuk <[email protected]>
7 #
8 # This work is licensed under the terms of the GNU GPL, version 2 or
9 # later.  See the COPYING file in the top-level directory.
10
11 import os
12 import lzma
13 import shutil
14 import logging
15 import time
16
17 from avocado import skip
18 from avocado import skipIf
19 from avocado import skipUnless
20 from avocado_qemu import wait_for_console_pattern
21 from avocado.utils import archive
22 from avocado.utils import process
23 from boot_linux_console import LinuxKernelTest
24
25 class ReplayKernelBase(LinuxKernelTest):
26     """
27     Boots a Linux kernel in record mode and checks that the console
28     is operational and the kernel command line is properly passed
29     from QEMU to the kernel.
30     Then replays the same scenario and verifies, that QEMU correctly
31     terminates.
32     """
33
34     timeout = 120
35     KERNEL_COMMON_COMMAND_LINE = 'printk.time=1 panic=-1 '
36
37     def run_vm(self, kernel_path, kernel_command_line, console_pattern,
38                record, shift, args, replay_path):
39         # icount requires TCG to be available
40         self.require_accelerator('tcg')
41
42         logger = logging.getLogger('replay')
43         start_time = time.time()
44         vm = self.get_vm()
45         vm.set_console()
46         if record:
47             logger.info('recording the execution...')
48             mode = 'record'
49         else:
50             logger.info('replaying the execution...')
51             mode = 'replay'
52         vm.add_args('-icount', 'shift=%s,rr=%s,rrfile=%s' %
53                     (shift, mode, replay_path),
54                     '-kernel', kernel_path,
55                     '-append', kernel_command_line,
56                     '-net', 'none',
57                     '-no-reboot')
58         if args:
59             vm.add_args(*args)
60         vm.launch()
61         self.wait_for_console_pattern(console_pattern, vm)
62         if record:
63             vm.shutdown()
64             logger.info('finished the recording with log size %s bytes'
65                         % os.path.getsize(replay_path))
66         else:
67             vm.wait()
68             logger.info('successfully finished the replay')
69         elapsed = time.time() - start_time
70         logger.info('elapsed time %.2f sec' % elapsed)
71         return elapsed
72
73     def run_rr(self, kernel_path, kernel_command_line, console_pattern,
74                shift=7, args=None):
75         replay_path = os.path.join(self.workdir, 'replay.bin')
76         t1 = self.run_vm(kernel_path, kernel_command_line, console_pattern,
77                          True, shift, args, replay_path)
78         t2 = self.run_vm(kernel_path, kernel_command_line, console_pattern,
79                          False, shift, args, replay_path)
80         logger = logging.getLogger('replay')
81         logger.info('replay overhead {:.2%}'.format(t2 / t1 - 1))
82
83 class ReplayKernelNormal(ReplayKernelBase):
84     @skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab')
85     def test_x86_64_pc(self):
86         """
87         :avocado: tags=arch:x86_64
88         :avocado: tags=machine:pc
89         """
90         kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
91                       '/linux/releases/29/Everything/x86_64/os/images/pxeboot'
92                       '/vmlinuz')
93         kernel_hash = '23bebd2680757891cf7adedb033532163a792495'
94         kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
95
96         kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
97         console_pattern = 'VFS: Cannot open root device'
98
99         self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
100
101     def test_mips_malta(self):
102         """
103         :avocado: tags=arch:mips
104         :avocado: tags=machine:malta
105         :avocado: tags=endian:big
106         """
107         deb_url = ('http://snapshot.debian.org/archive/debian/'
108                    '20130217T032700Z/pool/main/l/linux-2.6/'
109                    'linux-image-2.6.32-5-4kc-malta_2.6.32-48_mips.deb')
110         deb_hash = 'a8cfc28ad8f45f54811fc6cf74fc43ffcfe0ba04'
111         deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
112         kernel_path = self.extract_from_deb(deb_path,
113                                             '/boot/vmlinux-2.6.32-5-4kc-malta')
114         kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
115         console_pattern = 'Kernel command line: %s' % kernel_command_line
116
117         self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
118
119     def test_mips64el_malta(self):
120         """
121         This test requires the ar tool to extract "data.tar.gz" from
122         the Debian package.
123
124         The kernel can be rebuilt using this Debian kernel source [1] and
125         following the instructions on [2].
126
127         [1] http://snapshot.debian.org/package/linux-2.6/2.6.32-48/
128             #linux-source-2.6.32_2.6.32-48
129         [2] https://kernel-team.pages.debian.net/kernel-handbook/
130             ch-common-tasks.html#s-common-official
131
132         :avocado: tags=arch:mips64el
133         :avocado: tags=machine:malta
134         """
135         deb_url = ('http://snapshot.debian.org/archive/debian/'
136                    '20130217T032700Z/pool/main/l/linux-2.6/'
137                    'linux-image-2.6.32-5-5kc-malta_2.6.32-48_mipsel.deb')
138         deb_hash = '1aaec92083bf22fda31e0d27fa8d9a388e5fc3d5'
139         deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
140         kernel_path = self.extract_from_deb(deb_path,
141                                             '/boot/vmlinux-2.6.32-5-5kc-malta')
142         kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
143         console_pattern = 'Kernel command line: %s' % kernel_command_line
144         self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
145
146     def test_aarch64_virt(self):
147         """
148         :avocado: tags=arch:aarch64
149         :avocado: tags=machine:virt
150         :avocado: tags=cpu:cortex-a53
151         """
152         kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
153                       '/linux/releases/29/Everything/aarch64/os/images/pxeboot'
154                       '/vmlinuz')
155         kernel_hash = '8c73e469fc6ea06a58dc83a628fc695b693b8493'
156         kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
157
158         kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
159                                'console=ttyAMA0')
160         console_pattern = 'VFS: Cannot open root device'
161
162         self.run_rr(kernel_path, kernel_command_line, console_pattern)
163
164     def test_arm_virt(self):
165         """
166         :avocado: tags=arch:arm
167         :avocado: tags=machine:virt
168         """
169         kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
170                       '/linux/releases/29/Everything/armhfp/os/images/pxeboot'
171                       '/vmlinuz')
172         kernel_hash = 'e9826d741b4fb04cadba8d4824d1ed3b7fb8b4d4'
173         kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
174
175         kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
176                                'console=ttyAMA0')
177         console_pattern = 'VFS: Cannot open root device'
178
179         self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=1)
180
181     @skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab')
182     def test_arm_cubieboard_initrd(self):
183         """
184         :avocado: tags=arch:arm
185         :avocado: tags=machine:cubieboard
186         """
187         deb_url = ('https://apt.armbian.com/pool/main/l/'
188                    'linux-5.10.16-sunxi/linux-image-current-sunxi_21.02.2_armhf.deb')
189         deb_hash = '9fa84beda245cabf0b4fa84cf6eaa7738ead1da0'
190         deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
191         kernel_path = self.extract_from_deb(deb_path,
192                                             '/boot/vmlinuz-5.10.16-sunxi')
193         dtb_path = '/usr/lib/linux-image-current-sunxi/sun4i-a10-cubieboard.dtb'
194         dtb_path = self.extract_from_deb(deb_path, dtb_path)
195         initrd_url = ('https://github.com/groeck/linux-build-test/raw/'
196                       '2eb0a73b5d5a28df3170c546ddaaa9757e1e0848/rootfs/'
197                       'arm/rootfs-armv5.cpio.gz')
198         initrd_hash = '2b50f1873e113523967806f4da2afe385462ff9b'
199         initrd_path_gz = self.fetch_asset(initrd_url, asset_hash=initrd_hash)
200         initrd_path = os.path.join(self.workdir, 'rootfs.cpio')
201         archive.gzip_uncompress(initrd_path_gz, initrd_path)
202
203         kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
204                                'console=ttyS0,115200 '
205                                'usbcore.nousb '
206                                'panic=-1 noreboot')
207         console_pattern = 'Boot successful.'
208         self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=1,
209                     args=('-dtb', dtb_path,
210                           '-initrd', initrd_path,
211                           '-no-reboot'))
212
213     def test_s390x_s390_ccw_virtio(self):
214         """
215         :avocado: tags=arch:s390x
216         :avocado: tags=machine:s390-ccw-virtio
217         """
218         kernel_url = ('https://archives.fedoraproject.org/pub/archive'
219                       '/fedora-secondary/releases/29/Everything/s390x/os/images'
220                       '/kernel.img')
221         kernel_hash = 'e8e8439103ef8053418ef062644ffd46a7919313'
222         kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
223
224         kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=sclp0'
225         console_pattern = 'Kernel command line: %s' % kernel_command_line
226         self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=9)
227
228     def test_alpha_clipper(self):
229         """
230         :avocado: tags=arch:alpha
231         :avocado: tags=machine:clipper
232         """
233         kernel_url = ('http://archive.debian.org/debian/dists/lenny/main/'
234                       'installer-alpha/20090123lenny10/images/cdrom/vmlinuz')
235         kernel_hash = '3a943149335529e2ed3e74d0d787b85fb5671ba3'
236         kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
237
238         uncompressed_kernel = archive.uncompress(kernel_path, self.workdir)
239
240         kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
241         console_pattern = 'Kernel command line: %s' % kernel_command_line
242         self.run_rr(uncompressed_kernel, kernel_command_line, console_pattern, shift=9,
243             args=('-nodefaults', ))
244
245     def test_ppc64_pseries(self):
246         """
247         :avocado: tags=arch:ppc64
248         :avocado: tags=machine:pseries
249         :avocado: tags=accel:tcg
250         """
251         kernel_url = ('https://archives.fedoraproject.org/pub/archive'
252                       '/fedora-secondary/releases/29/Everything/ppc64le/os'
253                       '/ppc/ppc64/vmlinuz')
254         kernel_hash = '3fe04abfc852b66653b8c3c897a59a689270bc77'
255         kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
256
257         kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=hvc0'
258         # icount is not good enough for PPC64 for complete boot yet
259         console_pattern = 'Kernel command line: %s' % kernel_command_line
260         self.run_rr(kernel_path, kernel_command_line, console_pattern)
261
262     def test_m68k_q800(self):
263         """
264         :avocado: tags=arch:m68k
265         :avocado: tags=machine:q800
266         """
267         deb_url = ('https://snapshot.debian.org/archive/debian-ports'
268                    '/20191021T083923Z/pool-m68k/main'
269                    '/l/linux/kernel-image-5.3.0-1-m68k-di_5.3.7-1_m68k.udeb')
270         deb_hash = '044954bb9be4160a3ce81f8bc1b5e856b75cccd1'
271         deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
272         kernel_path = self.extract_from_deb(deb_path,
273                                             '/boot/vmlinux-5.3.0-1-m68k')
274
275         kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
276                                'console=ttyS0 vga=off')
277         console_pattern = 'No filesystem could mount root'
278         self.run_rr(kernel_path, kernel_command_line, console_pattern)
279
280     def do_test_advcal_2018(self, file_path, kernel_name, args=None):
281         archive.extract(file_path, self.workdir)
282
283         for entry in os.scandir(self.workdir):
284             if entry.name.startswith('day') and entry.is_dir():
285                 kernel_path = os.path.join(entry.path, kernel_name)
286                 break
287
288         kernel_command_line = ''
289         console_pattern = 'QEMU advent calendar'
290         self.run_rr(kernel_path, kernel_command_line, console_pattern,
291                     args=args)
292
293     def test_arm_vexpressa9(self):
294         """
295         :avocado: tags=arch:arm
296         :avocado: tags=machine:vexpress-a9
297         """
298         tar_hash = '32b7677ce8b6f1471fb0059865f451169934245b'
299         tar_url = ('https://qemu-advcal.gitlab.io'
300                    '/qac-best-of-multiarch/download/day16.tar.xz')
301         file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
302         dtb_path = self.workdir + '/day16/vexpress-v2p-ca9.dtb'
303         self.do_test_advcal_2018(file_path, 'winter.zImage',
304                                  args=('-dtb', dtb_path))
305
306     def test_m68k_mcf5208evb(self):
307         """
308         :avocado: tags=arch:m68k
309         :avocado: tags=machine:mcf5208evb
310         """
311         tar_hash = 'ac688fd00561a2b6ce1359f9ff6aa2b98c9a570c'
312         tar_url = ('https://qemu-advcal.gitlab.io'
313                    '/qac-best-of-multiarch/download/day07.tar.xz')
314         file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
315         self.do_test_advcal_2018(file_path, 'sanity-clause.elf')
316
317     @skip("Test currently broken") # Console stuck as of 5.2-rc1
318     def test_microblaze_s3adsp1800(self):
319         """
320         :avocado: tags=arch:microblaze
321         :avocado: tags=machine:petalogix-s3adsp1800
322         """
323         tar_hash = '08bf3e3bfb6b6c7ce1e54ab65d54e189f2caf13f'
324         tar_url = ('https://qemu-advcal.gitlab.io'
325                    '/qac-best-of-multiarch/download/day17.tar.xz')
326         file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
327         self.do_test_advcal_2018(file_path, 'ballerina.bin')
328
329     def test_ppc64_e500(self):
330         """
331         :avocado: tags=arch:ppc64
332         :avocado: tags=machine:ppce500
333         :avocado: tags=cpu:e5500
334         """
335         tar_hash = '6951d86d644b302898da2fd701739c9406527fe1'
336         tar_url = ('https://qemu-advcal.gitlab.io'
337                    '/qac-best-of-multiarch/download/day19.tar.xz')
338         file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
339         self.do_test_advcal_2018(file_path, 'uImage')
340
341     def test_or1k_sim(self):
342         """
343         :avocado: tags=arch:or1k
344         :avocado: tags=machine:or1k-sim
345         """
346         tar_hash = '20334cdaf386108c530ff0badaecc955693027dd'
347         tar_url = ('https://qemu-advcal.gitlab.io'
348                    '/qac-best-of-multiarch/download/day20.tar.xz')
349         file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
350         self.do_test_advcal_2018(file_path, 'vmlinux')
351
352     def test_nios2_10m50(self):
353         """
354         :avocado: tags=arch:nios2
355         :avocado: tags=machine:10m50-ghrd
356         """
357         tar_hash = 'e4251141726c412ac0407c5a6bceefbbff018918'
358         tar_url = ('https://qemu-advcal.gitlab.io'
359                    '/qac-best-of-multiarch/download/day14.tar.xz')
360         file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
361         self.do_test_advcal_2018(file_path, 'vmlinux.elf')
362
363     def test_ppc_g3beige(self):
364         """
365         :avocado: tags=arch:ppc
366         :avocado: tags=machine:g3beige
367         """
368         tar_hash = 'e0b872a5eb8fdc5bed19bd43ffe863900ebcedfc'
369         tar_url = ('https://qemu-advcal.gitlab.io'
370                    '/qac-best-of-multiarch/download/day15.tar.xz')
371         file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
372         self.do_test_advcal_2018(file_path, 'invaders.elf',
373                                  args=('-M', 'graphics=off'))
374
375     def test_ppc_mac99(self):
376         """
377         :avocado: tags=arch:ppc
378         :avocado: tags=machine:mac99
379         """
380         tar_hash = 'e0b872a5eb8fdc5bed19bd43ffe863900ebcedfc'
381         tar_url = ('https://qemu-advcal.gitlab.io'
382                    '/qac-best-of-multiarch/download/day15.tar.xz')
383         file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
384         self.do_test_advcal_2018(file_path, 'invaders.elf',
385                                  args=('-M', 'graphics=off'))
386
387     def test_sparc_ss20(self):
388         """
389         :avocado: tags=arch:sparc
390         :avocado: tags=machine:SS-20
391         """
392         tar_hash = 'b18550d5d61c7615d989a06edace051017726a9f'
393         tar_url = ('https://qemu-advcal.gitlab.io'
394                    '/qac-best-of-multiarch/download/day11.tar.xz')
395         file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
396         self.do_test_advcal_2018(file_path, 'zImage.elf')
397
398     def test_xtensa_lx60(self):
399         """
400         :avocado: tags=arch:xtensa
401         :avocado: tags=machine:lx60
402         :avocado: tags=cpu:dc233c
403         """
404         tar_hash = '49e88d9933742f0164b60839886c9739cb7a0d34'
405         tar_url = ('https://qemu-advcal.gitlab.io'
406                    '/qac-best-of-multiarch/download/day02.tar.xz')
407         file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
408         self.do_test_advcal_2018(file_path, 'santas-sleigh-ride.elf')
409
410 @skipUnless(os.getenv('AVOCADO_TIMEOUT_EXPECTED'), 'Test might timeout')
411 class ReplayKernelSlow(ReplayKernelBase):
412     # Override the timeout, because this kernel includes an inner
413     # loop which is executed with TB recompilings during replay,
414     # making it very slow.
415     timeout = 180
416
417     def test_mips_malta_cpio(self):
418         """
419         :avocado: tags=arch:mips
420         :avocado: tags=machine:malta
421         :avocado: tags=endian:big
422         :avocado: tags=slowness:high
423         """
424         deb_url = ('http://snapshot.debian.org/archive/debian/'
425                    '20160601T041800Z/pool/main/l/linux/'
426                    'linux-image-4.5.0-2-4kc-malta_4.5.5-1_mips.deb')
427         deb_hash = 'a3c84f3e88b54e06107d65a410d1d1e8e0f340f8'
428         deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
429         kernel_path = self.extract_from_deb(deb_path,
430                                             '/boot/vmlinux-4.5.0-2-4kc-malta')
431         initrd_url = ('https://github.com/groeck/linux-build-test/raw/'
432                       '8584a59ed9e5eb5ee7ca91f6d74bbb06619205b8/rootfs/'
433                       'mips/rootfs.cpio.gz')
434         initrd_hash = 'bf806e17009360a866bf537f6de66590de349a99'
435         initrd_path_gz = self.fetch_asset(initrd_url, asset_hash=initrd_hash)
436         initrd_path = self.workdir + "rootfs.cpio"
437         archive.gzip_uncompress(initrd_path_gz, initrd_path)
438
439         kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
440                                'console=ttyS0 console=tty '
441                                'rdinit=/sbin/init noreboot')
442         console_pattern = 'Boot successful.'
443         self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5,
444                     args=('-initrd', initrd_path))
445
446     @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
447     def test_mips64el_malta_5KEc_cpio(self):
448         """
449         :avocado: tags=arch:mips64el
450         :avocado: tags=machine:malta
451         :avocado: tags=endian:little
452         :avocado: tags=slowness:high
453         :avocado: tags=cpu:5KEc
454         """
455         kernel_url = ('https://github.com/philmd/qemu-testing-blob/'
456                       'raw/9ad2df38/mips/malta/mips64el/'
457                       'vmlinux-3.19.3.mtoman.20150408')
458         kernel_hash = '00d1d268fb9f7d8beda1de6bebcc46e884d71754'
459         kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
460         initrd_url = ('https://github.com/groeck/linux-build-test/'
461                       'raw/8584a59e/rootfs/'
462                       'mipsel64/rootfs.mipsel64r1.cpio.gz')
463         initrd_hash = '1dbb8a396e916847325284dbe2151167'
464         initrd_path_gz = self.fetch_asset(initrd_url, algorithm='md5',
465                                           asset_hash=initrd_hash)
466         initrd_path = self.workdir + "rootfs.cpio"
467         archive.gzip_uncompress(initrd_path_gz, initrd_path)
468
469         kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
470                                'console=ttyS0 console=tty '
471                                'rdinit=/sbin/init noreboot')
472         console_pattern = 'Boot successful.'
473         self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5,
474                     args=('-initrd', initrd_path))
475
476     def do_test_mips_malta32el_nanomips(self, kernel_path_xz):
477         kernel_path = self.workdir + "kernel"
478         with lzma.open(kernel_path_xz, 'rb') as f_in:
479             with open(kernel_path, 'wb') as f_out:
480                 shutil.copyfileobj(f_in, f_out)
481
482         kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
483                                'mem=256m@@0x0 '
484                                'console=ttyS0')
485         console_pattern = 'Kernel command line: %s' % kernel_command_line
486         self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
487
488     def test_mips_malta32el_nanomips_4k(self):
489         """
490         :avocado: tags=arch:mipsel
491         :avocado: tags=machine:malta
492         :avocado: tags=endian:little
493         :avocado: tags=cpu:I7200
494         """
495         kernel_url = ('https://mipsdistros.mips.com/LinuxDistro/nanomips/'
496                       'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/'
497                       'generic_nano32r6el_page4k.xz')
498         kernel_hash = '477456aafd2a0f1ddc9482727f20fe9575565dd6'
499         kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
500         self.do_test_mips_malta32el_nanomips(kernel_path_xz)
501
502     def test_mips_malta32el_nanomips_16k_up(self):
503         """
504         :avocado: tags=arch:mipsel
505         :avocado: tags=machine:malta
506         :avocado: tags=endian:little
507         :avocado: tags=cpu:I7200
508         """
509         kernel_url = ('https://mipsdistros.mips.com/LinuxDistro/nanomips/'
510                       'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/'
511                       'generic_nano32r6el_page16k_up.xz')
512         kernel_hash = 'e882868f944c71c816e832e2303b7874d044a7bc'
513         kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
514         self.do_test_mips_malta32el_nanomips(kernel_path_xz)
515
516     def test_mips_malta32el_nanomips_64k_dbg(self):
517         """
518         :avocado: tags=arch:mipsel
519         :avocado: tags=machine:malta
520         :avocado: tags=endian:little
521         :avocado: tags=cpu:I7200
522         """
523         kernel_url = ('https://mipsdistros.mips.com/LinuxDistro/nanomips/'
524                       'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/'
525                       'generic_nano32r6el_page64k_dbg.xz')
526         kernel_hash = '18d1c68f2e23429e266ca39ba5349ccd0aeb7180'
527         kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
528         self.do_test_mips_malta32el_nanomips(kernel_path_xz)
This page took 0.053486 seconds and 4 git commands to generate.