tests/avocado: Add tests booting YAMON ROM on MIPS Malta machines
Add quick tests booting YAMON: $ avocado --show=app,console run -t machine:malta tests/avocado/machine_mips_malta.py (1/2) tests/avocado/machine_mips_malta.py:MaltaMachine.test_mipsel_malta_yamon: console: YAMON ROM Monitor, Revision 02.22. console: Copyright (c) 1999-2007 MIPS Technologies, Inc. - All Rights Reserved. console: For a list of available commands, type 'help'. console: Compilation time = May 24 2013 12:16:34 (pburton) console: Board type/revision = 0x02 (Malta) / 0x00 console: Core board type/revision = 0x01 (CoreLV) / 0x00 console: System controller/revision = Galileo / GT_64120A-B-0 console: FPGA revision = 0x0000 console: MAC address = ff.ff.ff.ff.ff.ff console: Board S/N = 0123456789 console: PCI bus frequency = 33.33 MHz console: Processor Company ID/options = 0x01 (MIPS Technologies, Inc.) / 0x00 console: Processor ID/revision = 0x93 (MIPS 24Kf) / 0x00 console: Endianness = Little console: CPU/Bus frequency = 333 MHz / 419 MHz console: Coherency = None console: Flash memory size = 4 MByte console: SDRAM size = 128 MByte console: First free SDRAM address = 0x800c32f0 console: WARNING: Environment variable flash area is invalid! console: HINT : Perform "erase -e" console: YAMON> PASS (1.88 s) (2/2) tests/avocado/machine_mips_malta.py:MaltaMachine.test_mips64el_malta_yamon: ... console: System controller/revision = Galileo / GT_64120A-B-0 console: Processor Company ID/options = 0x01 (MIPS Technologies, Inc.) / 0x00 console: Processor ID/revision = 0x82 (MIPS 20Kc) / 0xa0 ... console: YAMON> PASS (1.89 s) RESULTS : PASS 2 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0 JOB TIME : 4.57 s YAMON does some endian-swapped acceses on the ISD<->PCI CFG/DATA registers. These tests are useful to debug cross-endianness issues, in particular on big-endian host. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230104133935.4639-7-philmd@linaro.org>
This commit is contained in:
parent
a7db759ef7
commit
14c2b18414
@ -11,11 +11,13 @@ import os
|
||||
import gzip
|
||||
import logging
|
||||
|
||||
from avocado import skipUnless
|
||||
from avocado_qemu import QemuSystemTest
|
||||
from avocado_qemu import wait_for_console_pattern
|
||||
from avocado.utils import archive
|
||||
from avocado import skipIf
|
||||
from avocado import skipUnless
|
||||
from avocado.utils import archive
|
||||
from avocado_qemu import QemuSystemTest
|
||||
from avocado_qemu import exec_command_and_wait_for_pattern
|
||||
from avocado_qemu import interrupt_interactive_console_until_pattern
|
||||
from avocado_qemu import wait_for_console_pattern
|
||||
|
||||
|
||||
NUMPY_AVAILABLE = True
|
||||
@ -118,3 +120,40 @@ class MaltaMachineFramebuffer(QemuSystemTest):
|
||||
:avocado: tags=mips:smp
|
||||
"""
|
||||
self.do_test_i6400_framebuffer_logo(8)
|
||||
|
||||
class MaltaMachine(QemuSystemTest):
|
||||
|
||||
def do_test_yamon(self):
|
||||
rom_url = ('http://www.imgtec.com/tools/mips-tools/downloads/'
|
||||
'yamon/yamon-bin-02.22.zip')
|
||||
rom_hash = '8da7ecddbc5312704b8b324341ee238189bde480'
|
||||
zip_path = self.fetch_asset(rom_url, asset_hash=rom_hash)
|
||||
|
||||
archive.extract(zip_path, self.workdir)
|
||||
yamon_path = os.path.join(self.workdir, 'yamon-02.22.bin')
|
||||
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-bios', yamon_path)
|
||||
self.vm.launch()
|
||||
|
||||
prompt = 'YAMON>'
|
||||
pattern = 'YAMON ROM Monitor'
|
||||
interrupt_interactive_console_until_pattern(self, pattern, prompt)
|
||||
wait_for_console_pattern(self, prompt)
|
||||
self.vm.shutdown()
|
||||
|
||||
def test_mipsel_malta_yamon(self):
|
||||
"""
|
||||
:avocado: tags=arch:mipsel
|
||||
:avocado: tags=machine:malta
|
||||
:avocado: tags=endian:little
|
||||
"""
|
||||
self.do_test_yamon()
|
||||
|
||||
def test_mips64el_malta_yamon(self):
|
||||
"""
|
||||
:avocado: tags=arch:mips64el
|
||||
:avocado: tags=machine:malta
|
||||
:avocado: tags=endian:little
|
||||
"""
|
||||
self.do_test_yamon()
|
||||
|
Loading…
Reference in New Issue
Block a user