66 lines
1.6 KiB
Python
66 lines
1.6 KiB
Python
|
# OpenSBI boot test for RISC-V machines
|
||
|
#
|
||
|
# Copyright (c) 2022, Ventana Micro
|
||
|
#
|
||
|
# This work is licensed under the terms of the GNU GPL, version 2 or
|
||
|
# later. See the COPYING file in the top-level directory.
|
||
|
|
||
|
from avocado_qemu import QemuSystemTest
|
||
|
from avocado import skip
|
||
|
from avocado_qemu import wait_for_console_pattern
|
||
|
|
||
|
class RiscvOpenSBI(QemuSystemTest):
|
||
|
"""
|
||
|
:avocado: tags=accel:tcg
|
||
|
"""
|
||
|
timeout = 5
|
||
|
|
||
|
def boot_opensbi(self):
|
||
|
self.vm.set_console()
|
||
|
self.vm.launch()
|
||
|
wait_for_console_pattern(self, 'Platform Name')
|
||
|
wait_for_console_pattern(self, 'Boot HART MEDELEG')
|
||
|
|
||
|
@skip("requires OpenSBI fix to work")
|
||
|
def test_riscv32_spike(self):
|
||
|
"""
|
||
|
:avocado: tags=arch:riscv32
|
||
|
:avocado: tags=machine:spike
|
||
|
"""
|
||
|
self.boot_opensbi()
|
||
|
|
||
|
def test_riscv64_spike(self):
|
||
|
"""
|
||
|
:avocado: tags=arch:riscv64
|
||
|
:avocado: tags=machine:spike
|
||
|
"""
|
||
|
self.boot_opensbi()
|
||
|
|
||
|
def test_riscv32_sifive_u(self):
|
||
|
"""
|
||
|
:avocado: tags=arch:riscv32
|
||
|
:avocado: tags=machine:sifive_u
|
||
|
"""
|
||
|
self.boot_opensbi()
|
||
|
|
||
|
def test_riscv64_sifive_u(self):
|
||
|
"""
|
||
|
:avocado: tags=arch:riscv64
|
||
|
:avocado: tags=machine:sifive_u
|
||
|
"""
|
||
|
self.boot_opensbi()
|
||
|
|
||
|
def test_riscv32_virt(self):
|
||
|
"""
|
||
|
:avocado: tags=arch:riscv32
|
||
|
:avocado: tags=machine:virt
|
||
|
"""
|
||
|
self.boot_opensbi()
|
||
|
|
||
|
def test_riscv64_virt(self):
|
||
|
"""
|
||
|
:avocado: tags=arch:riscv64
|
||
|
:avocado: tags=machine:virt
|
||
|
"""
|
||
|
self.boot_opensbi()
|