1bbbd9b6eSWillian Rampazzo# Functional tests for the Lemote Fuloong-2E machine. 2bbbd9b6eSWillian Rampazzo# 3bbbd9b6eSWillian Rampazzo# Copyright (c) 2019 Philippe Mathieu-Daudé <f4bug@amsat.org> 4bbbd9b6eSWillian Rampazzo# 5bbbd9b6eSWillian Rampazzo# This work is licensed under the terms of the GNU GPL, version 2 or later. 6bbbd9b6eSWillian Rampazzo# See the COPYING file in the top-level directory. 7bbbd9b6eSWillian Rampazzo# 8bbbd9b6eSWillian Rampazzo# SPDX-License-Identifier: GPL-2.0-or-later 9bbbd9b6eSWillian Rampazzo 10bbbd9b6eSWillian Rampazzoimport os 11bbbd9b6eSWillian Rampazzo 12bbbd9b6eSWillian Rampazzofrom avocado import skipUnless 13*2283b627SPhilippe Mathieu-Daudéfrom avocado_qemu import QemuSystemTest 14bbbd9b6eSWillian Rampazzofrom avocado_qemu import wait_for_console_pattern 15bbbd9b6eSWillian Rampazzo 16*2283b627SPhilippe Mathieu-Daudéclass MipsFuloong2e(QemuSystemTest): 17bbbd9b6eSWillian Rampazzo 18bbbd9b6eSWillian Rampazzo timeout = 60 19bbbd9b6eSWillian Rampazzo 20bbbd9b6eSWillian Rampazzo @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code') 21bbbd9b6eSWillian Rampazzo @skipUnless(os.getenv('RESCUE_YL_PATH'), 'RESCUE_YL_PATH not available') 22bbbd9b6eSWillian Rampazzo def test_linux_kernel_isa_serial(self): 23bbbd9b6eSWillian Rampazzo """ 24bbbd9b6eSWillian Rampazzo :avocado: tags=arch:mips64el 25bbbd9b6eSWillian Rampazzo :avocado: tags=machine:fuloong2e 26bbbd9b6eSWillian Rampazzo :avocado: tags=endian:little 27bbbd9b6eSWillian Rampazzo :avocado: tags=device:bonito64 28bbbd9b6eSWillian Rampazzo :avocado: tags=device:via686b 29bbbd9b6eSWillian Rampazzo """ 30bbbd9b6eSWillian Rampazzo # Recovery system for the Yeeloong laptop 31bbbd9b6eSWillian Rampazzo # (enough to test the fuloong2e southbridge, accessing its ISA bus) 32bbbd9b6eSWillian Rampazzo # http://dev.lemote.com/files/resource/download/rescue/rescue-yl 33bbbd9b6eSWillian Rampazzo kernel_hash = 'ec4d1bd89a8439c41033ca63db60160cc6d6f09a' 34bbbd9b6eSWillian Rampazzo kernel_path = self.fetch_asset('file://' + os.getenv('RESCUE_YL_PATH'), 35bbbd9b6eSWillian Rampazzo asset_hash=kernel_hash) 36bbbd9b6eSWillian Rampazzo 37bbbd9b6eSWillian Rampazzo self.vm.set_console() 38bbbd9b6eSWillian Rampazzo self.vm.add_args('-kernel', kernel_path) 39bbbd9b6eSWillian Rampazzo self.vm.launch() 40bbbd9b6eSWillian Rampazzo wait_for_console_pattern(self, 'Linux version 2.6.27.7lemote') 41bbbd9b6eSWillian Rampazzo cpu_revision = 'CPU revision is: 00006302 (ICT Loongson-2)' 42bbbd9b6eSWillian Rampazzo wait_for_console_pattern(self, cpu_revision) 43