qapi: Move conditional code from QAPISchemaVariants to its subtypes
[qemu/kevin.git] / tests / avocado / replay_kernel.py
blob232d287c272f0d98e36267722de448affd3a83b2
1 # Record/replay test that boots a Linux kernel
3 # Copyright (c) 2020 ISP RAS
5 # Author:
6 # Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
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.
11 import os
12 import lzma
13 import shutil
14 import logging
15 import time
17 from avocado import skip
18 from avocado import skipUnless
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
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 """
34 timeout = 120
35 KERNEL_COMMON_COMMAND_LINE = 'printk.time=1 panic=-1 '
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')
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
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))
83 class ReplayKernelNormal(ReplayKernelBase):
85 def test_i386_pc(self):
86 """
87 :avocado: tags=arch:i386
88 :avocado: tags=machine:pc
89 """
90 kernel_url = ('https://storage.tuxboot.com/20230331/i386/bzImage')
91 kernel_hash = 'a3e5b32a354729e65910f5a1ffcda7c14a6c12a55e8213fb86e277f1b76ed956'
92 kernel_path = self.fetch_asset(kernel_url,
93 asset_hash=kernel_hash,
94 algorithm = "sha256")
96 kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
97 console_pattern = 'VFS: Cannot open root device'
99 self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
101 # See https://gitlab.com/qemu-project/qemu/-/issues/2094
102 @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test sometimes gets stuck')
103 def test_x86_64_pc(self):
105 :avocado: tags=arch:x86_64
106 :avocado: tags=machine:pc
107 :avocado: tags=flaky
109 kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
110 '/linux/releases/29/Everything/x86_64/os/images/pxeboot'
111 '/vmlinuz')
112 kernel_hash = '23bebd2680757891cf7adedb033532163a792495'
113 kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
115 kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
116 console_pattern = 'VFS: Cannot open root device'
118 self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
120 def test_mips_malta(self):
122 :avocado: tags=arch:mips
123 :avocado: tags=machine:malta
124 :avocado: tags=endian:big
126 deb_url = ('http://snapshot.debian.org/archive/debian/'
127 '20130217T032700Z/pool/main/l/linux-2.6/'
128 'linux-image-2.6.32-5-4kc-malta_2.6.32-48_mips.deb')
129 deb_hash = 'a8cfc28ad8f45f54811fc6cf74fc43ffcfe0ba04'
130 deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
131 kernel_path = self.extract_from_deb(deb_path,
132 '/boot/vmlinux-2.6.32-5-4kc-malta')
133 kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
134 console_pattern = 'Kernel command line: %s' % kernel_command_line
136 self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
138 def test_mips64el_malta(self):
140 This test requires the ar tool to extract "data.tar.gz" from
141 the Debian package.
143 The kernel can be rebuilt using this Debian kernel source [1] and
144 following the instructions on [2].
146 [1] http://snapshot.debian.org/package/linux-2.6/2.6.32-48/
147 #linux-source-2.6.32_2.6.32-48
148 [2] https://kernel-team.pages.debian.net/kernel-handbook/
149 ch-common-tasks.html#s-common-official
151 :avocado: tags=arch:mips64el
152 :avocado: tags=machine:malta
154 deb_url = ('http://snapshot.debian.org/archive/debian/'
155 '20130217T032700Z/pool/main/l/linux-2.6/'
156 'linux-image-2.6.32-5-5kc-malta_2.6.32-48_mipsel.deb')
157 deb_hash = '1aaec92083bf22fda31e0d27fa8d9a388e5fc3d5'
158 deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
159 kernel_path = self.extract_from_deb(deb_path,
160 '/boot/vmlinux-2.6.32-5-5kc-malta')
161 kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
162 console_pattern = 'Kernel command line: %s' % kernel_command_line
163 self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
165 def test_aarch64_virt(self):
167 :avocado: tags=arch:aarch64
168 :avocado: tags=machine:virt
169 :avocado: tags=cpu:cortex-a53
171 kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
172 '/linux/releases/29/Everything/aarch64/os/images/pxeboot'
173 '/vmlinuz')
174 kernel_hash = '8c73e469fc6ea06a58dc83a628fc695b693b8493'
175 kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
177 kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
178 'console=ttyAMA0')
179 console_pattern = 'VFS: Cannot open root device'
181 self.run_rr(kernel_path, kernel_command_line, console_pattern)
183 def test_arm_virt(self):
185 :avocado: tags=arch:arm
186 :avocado: tags=machine:virt
188 kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
189 '/linux/releases/29/Everything/armhfp/os/images/pxeboot'
190 '/vmlinuz')
191 kernel_hash = 'e9826d741b4fb04cadba8d4824d1ed3b7fb8b4d4'
192 kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
194 kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
195 'console=ttyAMA0')
196 console_pattern = 'VFS: Cannot open root device'
198 self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=1)
200 def test_arm_cubieboard_initrd(self):
202 :avocado: tags=arch:arm
203 :avocado: tags=machine:cubieboard
205 deb_url = ('https://apt.armbian.com/pool/main/l/'
206 'linux-6.6.16/linux-image-current-sunxi_24.2.1_armhf__6.6.16-Seb3e-D6b4a-P2359-Ce96bHfe66-HK01ba-V014b-B067e-R448a.deb')
207 deb_hash = 'f7c3c8c5432f765445dc6e7eab02f3bbe668256b'
208 deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
209 kernel_path = self.extract_from_deb(deb_path,
210 '/boot/vmlinuz-6.6.16-current-sunxi')
211 dtb_path = '/usr/lib/linux-image-6.6.16-current-sunxi/sun4i-a10-cubieboard.dtb'
212 dtb_path = self.extract_from_deb(deb_path, dtb_path)
213 initrd_url = ('https://github.com/groeck/linux-build-test/raw/'
214 '2eb0a73b5d5a28df3170c546ddaaa9757e1e0848/rootfs/'
215 'arm/rootfs-armv5.cpio.gz')
216 initrd_hash = '2b50f1873e113523967806f4da2afe385462ff9b'
217 initrd_path_gz = self.fetch_asset(initrd_url, asset_hash=initrd_hash)
218 initrd_path = os.path.join(self.workdir, 'rootfs.cpio')
219 archive.gzip_uncompress(initrd_path_gz, initrd_path)
221 kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
222 'console=ttyS0,115200 '
223 'usbcore.nousb '
224 'panic=-1 noreboot')
225 console_pattern = 'Boot successful.'
226 self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=1,
227 args=('-dtb', dtb_path,
228 '-initrd', initrd_path,
229 '-no-reboot'))
231 def test_s390x_s390_ccw_virtio(self):
233 :avocado: tags=arch:s390x
234 :avocado: tags=machine:s390-ccw-virtio
236 kernel_url = ('https://archives.fedoraproject.org/pub/archive'
237 '/fedora-secondary/releases/29/Everything/s390x/os/images'
238 '/kernel.img')
239 kernel_hash = 'e8e8439103ef8053418ef062644ffd46a7919313'
240 kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
242 kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=sclp0'
243 console_pattern = 'Kernel command line: %s' % kernel_command_line
244 self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=9)
246 def test_alpha_clipper(self):
248 :avocado: tags=arch:alpha
249 :avocado: tags=machine:clipper
251 kernel_url = ('http://archive.debian.org/debian/dists/lenny/main/'
252 'installer-alpha/20090123lenny10/images/cdrom/vmlinuz')
253 kernel_hash = '3a943149335529e2ed3e74d0d787b85fb5671ba3'
254 kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
256 uncompressed_kernel = archive.uncompress(kernel_path, self.workdir)
258 kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
259 console_pattern = 'Kernel command line: %s' % kernel_command_line
260 self.run_rr(uncompressed_kernel, kernel_command_line, console_pattern, shift=9,
261 args=('-nodefaults', ))
263 def test_ppc64_pseries(self):
265 :avocado: tags=arch:ppc64
266 :avocado: tags=machine:pseries
267 :avocado: tags=accel:tcg
269 kernel_url = ('https://archives.fedoraproject.org/pub/archive'
270 '/fedora-secondary/releases/29/Everything/ppc64le/os'
271 '/ppc/ppc64/vmlinuz')
272 kernel_hash = '3fe04abfc852b66653b8c3c897a59a689270bc77'
273 kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
275 kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=hvc0'
276 console_pattern = 'VFS: Cannot open root device'
277 self.run_rr(kernel_path, kernel_command_line, console_pattern)
279 def test_ppc64_powernv(self):
281 :avocado: tags=arch:ppc64
282 :avocado: tags=machine:powernv
283 :avocado: tags=accel:tcg
285 kernel_url = ('https://archives.fedoraproject.org/pub/archive'
286 '/fedora-secondary/releases/29/Everything/ppc64le/os'
287 '/ppc/ppc64/vmlinuz')
288 kernel_hash = '3fe04abfc852b66653b8c3c897a59a689270bc77'
289 kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
291 kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + \
292 'console=tty0 console=hvc0'
293 console_pattern = 'VFS: Cannot open root device'
294 self.run_rr(kernel_path, kernel_command_line, console_pattern)
296 def test_m68k_q800(self):
298 :avocado: tags=arch:m68k
299 :avocado: tags=machine:q800
301 deb_url = ('https://snapshot.debian.org/archive/debian-ports'
302 '/20191021T083923Z/pool-m68k/main'
303 '/l/linux/kernel-image-5.3.0-1-m68k-di_5.3.7-1_m68k.udeb')
304 deb_hash = '044954bb9be4160a3ce81f8bc1b5e856b75cccd1'
305 deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
306 kernel_path = self.extract_from_deb(deb_path,
307 '/boot/vmlinux-5.3.0-1-m68k')
309 kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
310 'console=ttyS0 vga=off')
311 console_pattern = 'No filesystem could mount root'
312 self.run_rr(kernel_path, kernel_command_line, console_pattern)
314 def do_test_advcal_2018(self, file_path, kernel_name, args=None):
315 archive.extract(file_path, self.workdir)
317 for entry in os.scandir(self.workdir):
318 if entry.name.startswith('day') and entry.is_dir():
319 kernel_path = os.path.join(entry.path, kernel_name)
320 break
322 kernel_command_line = ''
323 console_pattern = 'QEMU advent calendar'
324 self.run_rr(kernel_path, kernel_command_line, console_pattern,
325 args=args)
327 def test_arm_vexpressa9(self):
329 :avocado: tags=arch:arm
330 :avocado: tags=machine:vexpress-a9
332 tar_hash = '32b7677ce8b6f1471fb0059865f451169934245b'
333 tar_url = ('https://qemu-advcal.gitlab.io'
334 '/qac-best-of-multiarch/download/day16.tar.xz')
335 file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
336 dtb_path = self.workdir + '/day16/vexpress-v2p-ca9.dtb'
337 self.do_test_advcal_2018(file_path, 'winter.zImage',
338 args=('-dtb', dtb_path))
340 def test_m68k_mcf5208evb(self):
342 :avocado: tags=arch:m68k
343 :avocado: tags=machine:mcf5208evb
345 tar_hash = 'ac688fd00561a2b6ce1359f9ff6aa2b98c9a570c'
346 tar_url = ('https://qemu-advcal.gitlab.io'
347 '/qac-best-of-multiarch/download/day07.tar.xz')
348 file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
349 self.do_test_advcal_2018(file_path, 'sanity-clause.elf')
351 def test_microblaze_s3adsp1800(self):
353 :avocado: tags=arch:microblaze
354 :avocado: tags=machine:petalogix-s3adsp1800
356 tar_hash = '08bf3e3bfb6b6c7ce1e54ab65d54e189f2caf13f'
357 tar_url = ('https://qemu-advcal.gitlab.io'
358 '/qac-best-of-multiarch/download/day17.tar.xz')
359 file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
360 self.do_test_advcal_2018(file_path, 'ballerina.bin')
362 def test_ppc64_e500(self):
364 :avocado: tags=arch:ppc64
365 :avocado: tags=machine:ppce500
366 :avocado: tags=cpu:e5500
368 tar_hash = '6951d86d644b302898da2fd701739c9406527fe1'
369 tar_url = ('https://qemu-advcal.gitlab.io'
370 '/qac-best-of-multiarch/download/day19.tar.xz')
371 file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
372 self.do_test_advcal_2018(file_path, 'uImage')
374 def test_or1k_sim(self):
376 :avocado: tags=arch:or1k
377 :avocado: tags=machine:or1k-sim
379 tar_hash = '20334cdaf386108c530ff0badaecc955693027dd'
380 tar_url = ('https://qemu-advcal.gitlab.io'
381 '/qac-best-of-multiarch/download/day20.tar.xz')
382 file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
383 self.do_test_advcal_2018(file_path, 'vmlinux')
385 def test_ppc_g3beige(self):
387 :avocado: tags=arch:ppc
388 :avocado: tags=machine:g3beige
390 tar_hash = 'e0b872a5eb8fdc5bed19bd43ffe863900ebcedfc'
391 tar_url = ('https://qemu-advcal.gitlab.io'
392 '/qac-best-of-multiarch/download/day15.tar.xz')
393 file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
394 self.do_test_advcal_2018(file_path, 'invaders.elf',
395 args=('-M', 'graphics=off'))
397 def test_ppc_mac99(self):
399 :avocado: tags=arch:ppc
400 :avocado: tags=machine:mac99
402 tar_hash = 'e0b872a5eb8fdc5bed19bd43ffe863900ebcedfc'
403 tar_url = ('https://qemu-advcal.gitlab.io'
404 '/qac-best-of-multiarch/download/day15.tar.xz')
405 file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
406 self.do_test_advcal_2018(file_path, 'invaders.elf',
407 args=('-M', 'graphics=off'))
409 def test_sparc_ss20(self):
411 :avocado: tags=arch:sparc
412 :avocado: tags=machine:SS-20
414 tar_hash = 'b18550d5d61c7615d989a06edace051017726a9f'
415 tar_url = ('https://qemu-advcal.gitlab.io'
416 '/qac-best-of-multiarch/download/day11.tar.xz')
417 file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
418 self.do_test_advcal_2018(file_path, 'zImage.elf')
420 def test_xtensa_lx60(self):
422 :avocado: tags=arch:xtensa
423 :avocado: tags=machine:lx60
424 :avocado: tags=cpu:dc233c
426 tar_hash = '49e88d9933742f0164b60839886c9739cb7a0d34'
427 tar_url = ('https://qemu-advcal.gitlab.io'
428 '/qac-best-of-multiarch/download/day02.tar.xz')
429 file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
430 self.do_test_advcal_2018(file_path, 'santas-sleigh-ride.elf')
432 @skipUnless(os.getenv('AVOCADO_TIMEOUT_EXPECTED'), 'Test might timeout')
433 class ReplayKernelSlow(ReplayKernelBase):
434 # Override the timeout, because this kernel includes an inner
435 # loop which is executed with TB recompilings during replay,
436 # making it very slow.
437 timeout = 180
439 def test_mips_malta_cpio(self):
441 :avocado: tags=arch:mips
442 :avocado: tags=machine:malta
443 :avocado: tags=endian:big
444 :avocado: tags=slowness:high
446 deb_url = ('http://snapshot.debian.org/archive/debian/'
447 '20160601T041800Z/pool/main/l/linux/'
448 'linux-image-4.5.0-2-4kc-malta_4.5.5-1_mips.deb')
449 deb_hash = 'a3c84f3e88b54e06107d65a410d1d1e8e0f340f8'
450 deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
451 kernel_path = self.extract_from_deb(deb_path,
452 '/boot/vmlinux-4.5.0-2-4kc-malta')
453 initrd_url = ('https://github.com/groeck/linux-build-test/raw/'
454 '8584a59ed9e5eb5ee7ca91f6d74bbb06619205b8/rootfs/'
455 'mips/rootfs.cpio.gz')
456 initrd_hash = 'bf806e17009360a866bf537f6de66590de349a99'
457 initrd_path_gz = self.fetch_asset(initrd_url, asset_hash=initrd_hash)
458 initrd_path = self.workdir + "rootfs.cpio"
459 archive.gzip_uncompress(initrd_path_gz, initrd_path)
461 kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
462 'console=ttyS0 console=tty '
463 'rdinit=/sbin/init noreboot')
464 console_pattern = 'Boot successful.'
465 self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5,
466 args=('-initrd', initrd_path))
468 @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
469 def test_mips64el_malta_5KEc_cpio(self):
471 :avocado: tags=arch:mips64el
472 :avocado: tags=machine:malta
473 :avocado: tags=endian:little
474 :avocado: tags=slowness:high
475 :avocado: tags=cpu:5KEc
477 kernel_url = ('https://github.com/philmd/qemu-testing-blob/'
478 'raw/9ad2df38/mips/malta/mips64el/'
479 'vmlinux-3.19.3.mtoman.20150408')
480 kernel_hash = '00d1d268fb9f7d8beda1de6bebcc46e884d71754'
481 kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
482 initrd_url = ('https://github.com/groeck/linux-build-test/'
483 'raw/8584a59e/rootfs/'
484 'mipsel64/rootfs.mipsel64r1.cpio.gz')
485 initrd_hash = '1dbb8a396e916847325284dbe2151167'
486 initrd_path_gz = self.fetch_asset(initrd_url, algorithm='md5',
487 asset_hash=initrd_hash)
488 initrd_path = self.workdir + "rootfs.cpio"
489 archive.gzip_uncompress(initrd_path_gz, initrd_path)
491 kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
492 'console=ttyS0 console=tty '
493 'rdinit=/sbin/init noreboot')
494 console_pattern = 'Boot successful.'
495 self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5,
496 args=('-initrd', initrd_path))
498 def do_test_mips_malta32el_nanomips(self, kernel_path_xz):
499 kernel_path = self.workdir + "kernel"
500 with lzma.open(kernel_path_xz, 'rb') as f_in:
501 with open(kernel_path, 'wb') as f_out:
502 shutil.copyfileobj(f_in, f_out)
504 kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
505 'mem=256m@@0x0 '
506 'console=ttyS0')
507 console_pattern = 'Kernel command line: %s' % kernel_command_line
508 self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
510 def test_mips_malta32el_nanomips_4k(self):
512 :avocado: tags=arch:mipsel
513 :avocado: tags=machine:malta
514 :avocado: tags=endian:little
515 :avocado: tags=cpu:I7200
517 kernel_url = ('http://mipsdistros.mips.com/LinuxDistro/nanomips/'
518 'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/'
519 'generic_nano32r6el_page4k.xz')
520 kernel_hash = '477456aafd2a0f1ddc9482727f20fe9575565dd6'
521 kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
522 self.do_test_mips_malta32el_nanomips(kernel_path_xz)
524 def test_mips_malta32el_nanomips_16k_up(self):
526 :avocado: tags=arch:mipsel
527 :avocado: tags=machine:malta
528 :avocado: tags=endian:little
529 :avocado: tags=cpu:I7200
531 kernel_url = ('http://mipsdistros.mips.com/LinuxDistro/nanomips/'
532 'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/'
533 'generic_nano32r6el_page16k_up.xz')
534 kernel_hash = 'e882868f944c71c816e832e2303b7874d044a7bc'
535 kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
536 self.do_test_mips_malta32el_nanomips(kernel_path_xz)
538 def test_mips_malta32el_nanomips_64k_dbg(self):
540 :avocado: tags=arch:mipsel
541 :avocado: tags=machine:malta
542 :avocado: tags=endian:little
543 :avocado: tags=cpu:I7200
545 kernel_url = ('http://mipsdistros.mips.com/LinuxDistro/nanomips/'
546 'kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/'
547 'generic_nano32r6el_page64k_dbg.xz')
548 kernel_hash = '18d1c68f2e23429e266ca39ba5349ccd0aeb7180'
549 kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
550 self.do_test_mips_malta32el_nanomips(kernel_path_xz)