On Wed, Jun 3, 2026 at 5:02 PM Joel Stanley <[email protected]> wrote: > > From: Nicholas Piggin <[email protected]> > > Add OpenSBI and Linux boot tests for the tt-atlantis machine. Based on > tests/functional/riscv64/test_sifive_u.py. > > Reviewed-by: Philippe Mathieu-Daudé <[email protected]> > Signed-off-by: Nicholas Piggin <[email protected]> > Signed-off-by: Joel Stanley <[email protected]>
Acked-by: Alistair Francis <[email protected]> Alistair > --- > MAINTAINERS | 1 + > tests/functional/riscv64/meson.build | 1 + > tests/functional/riscv64/test_opensbi.py | 4 ++ > tests/functional/riscv64/test_tt_atlantis.py | 57 ++++++++++++++++++++ > 4 files changed, 63 insertions(+) > create mode 100755 tests/functional/riscv64/test_tt_atlantis.py > > diff --git a/MAINTAINERS b/MAINTAINERS > index e52aa769c9ae..f4b7e7fd43a6 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1793,6 +1793,7 @@ S: Supported > F: docs/system/riscv/tt_*.rst > F: hw/riscv/tt_*.c > F: include/hw/riscv/tt_*.h > +F: tests/functional/riscv64/test_tt_*.py > > AMD Microblaze-V Generic Board > M: Sai Pavan Boddu <[email protected]> > diff --git a/tests/functional/riscv64/meson.build > b/tests/functional/riscv64/meson.build > index b996c89d7df9..c4456fabd757 100644 > --- a/tests/functional/riscv64/meson.build > +++ b/tests/functional/riscv64/meson.build > @@ -13,5 +13,6 @@ tests_riscv64_system_quick = [ > tests_riscv64_system_thorough = [ > 'boston', > 'sifive_u', > + 'tt_atlantis', > 'tuxrun', > ] > diff --git a/tests/functional/riscv64/test_opensbi.py > b/tests/functional/riscv64/test_opensbi.py > index d077e40f4278..0f8beb7e7a8c 100755 > --- a/tests/functional/riscv64/test_opensbi.py > +++ b/tests/functional/riscv64/test_opensbi.py > @@ -28,6 +28,10 @@ def test_riscv_sifive_u(self): > self.set_machine('sifive_u') > self.boot_opensbi() > > + def test_riscv_tt_atlantis(self): > + self.set_machine('tt-atlantis') > + self.boot_opensbi() > + > def test_riscv_virt(self): > self.set_machine('virt') > self.boot_opensbi() > diff --git a/tests/functional/riscv64/test_tt_atlantis.py > b/tests/functional/riscv64/test_tt_atlantis.py > new file mode 100755 > index 000000000000..48abd5cd27c2 > --- /dev/null > +++ b/tests/functional/riscv64/test_tt_atlantis.py > @@ -0,0 +1,57 @@ > +#!/usr/bin/env python3 > +# > +# Functional test that boots a Linux kernel on a Tenstorrent Atlantis machine > +# and checks the console > +# > +# Copyright (c) Linaro Ltd. > +# Copyright 2026 Tenstorrent > +# > +# SPDX-License-Identifier: GPL-2.0-or-later > + > +from qemu_test import Asset, LinuxKernelTest > + > + > +class TTAtlantis(LinuxKernelTest): > + > + ASSET_KERNEL = Asset( > + 'https://storage.tuxboot.com/kernels/6.11.9/riscv64/Image', > + '174f8bb87f08961e54fa3fcd954a8e31f4645f6d6af4dd43983d5e9841490fb0') > + ASSET_ROOTFS = Asset( > + ('https://github.com/groeck/linux-build-test/raw/' > + '9819da19e6eef291686fdd7b029ea00e764dc62f/rootfs/riscv64/' > + 'rootfs.ext2.gz'), > + 'b6ed95610310b7956f9bf20c4c9c0c05fea647900df441da9dfe767d24e8b28b') > + > + def do_test_riscv64_tt_atlantis(self, connect_disk): > + self.set_machine('tt-atlantis') > + kernel_path = self.ASSET_KERNEL.fetch() > + rootfs_path = self.uncompress(self.ASSET_ROOTFS) > + > + self.vm.set_console() > + kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + > 'earlycon=sbi ' > + > + if connect_disk: > + kernel_command_line += 'root=/dev/vda panic=-1 noreboot rootwait > ' > + self.vm.add_args('-device', > + > 'virtio-blk,drive=drive0,serial=0x1234,bus=pcie.0') > + self.vm.add_args('-drive', > + > f'file={rootfs_path},if=none,id=drive0,format=raw') > + pattern = 'Boot successful.' > + else: > + kernel_command_line += 'panic=0 noreboot ' > + pattern = 'Cannot open root device' > + > + self.vm.add_args('-kernel', kernel_path, > + '-append', kernel_command_line, > + '-no-reboot') > + > + self.vm.launch() > + self.wait_for_console_pattern(pattern) > + > + def test_riscv64_tt_atlantis(self): > + # tt-atlantis machine has no PCI host yet, so no disk > + self.do_test_riscv64_tt_atlantis(False) > + > + > +if __name__ == '__main__': > + LinuxKernelTest.main() > -- > 2.47.3 > >
