[{"id":3668981,"web_url":"http://patchwork.ozlabs.org/comment/3668981/","msgid":"<1002958d-783e-4fad-9a89-65d53f1f6e84@redhat.com>","list_archive_url":null,"date":"2026-03-25T10:51:29","subject":"Re: [PATCH v5 7/7] target/riscv: Add test for RISC-V BE","submitter":{"id":66152,"url":"http://patchwork.ozlabs.org/api/people/66152/","name":"Thomas Huth","email":"thuth@redhat.com"},"content":"On 24/03/2026 17.40, Djordje Todorovic wrote:\n> Add functional test for RISC-V big-endian.\n> \n> Signed-off-by: Djordje Todorovic <djordje.todorovic@htecgroup.com>\n> ---\n>   tests/functional/riscv64/meson.build       |  1 +\n>   tests/functional/riscv64/test_bigendian.py | 57 ++++++++++++++++++++++\n>   2 files changed, 58 insertions(+)\n>   create mode 100644 tests/functional/riscv64/test_bigendian.py\n> \n> diff --git a/tests/functional/riscv64/meson.build b/tests/functional/riscv64/meson.build\n> index b996c89d7d..d06d6ea112 100644\n> --- a/tests/functional/riscv64/meson.build\n> +++ b/tests/functional/riscv64/meson.build\n> @@ -11,6 +11,7 @@ tests_riscv64_system_quick = [\n>   ]\n>   \n>   tests_riscv64_system_thorough = [\n> +  'bigendian',\n>     'boston',\n>     'sifive_u',\n>     'tuxrun',\n> diff --git a/tests/functional/riscv64/test_bigendian.py b/tests/functional/riscv64/test_bigendian.py\n> new file mode 100644\n> index 0000000000..9e0b3b7db5\n> --- /dev/null\n> +++ b/tests/functional/riscv64/test_bigendian.py\n> @@ -0,0 +1,57 @@\n> +#!/usr/bin/env python3\n> +#\n> +# Functional tests for RISC-V big-endian support\n> +#\n> +# Copyright (c) 2026 MIPS\n> +#\n> +# SPDX-License-Identifier: GPL-2.0-or-later\n> +\n> +from qemu_test import QemuSystemTest, Asset\n> +from qemu_test import wait_for_console_pattern\n> +\n> +\n> +class RiscvBigEndian(QemuSystemTest):\n> +    \"\"\"\n> +    Tests for RISC-V runtime big-endian data support.\n> +\n> +    Uses a bare-metal RV64 ELF that detects data endianness at runtime\n> +    by storing a 32-bit word and reading back byte 0. Prints \"ENDIAN: BE\"\n> +    or \"ENDIAN: LE\" to the NS16550A UART on the virt machine.\n> +    \"\"\"\n> +\n> +    timeout = 10\n> +\n> +    ASSET_BE_TEST = Asset(\n> +        'https://github.com/MIPS/linux-test-downloads/raw/main/'\n> +        'riscvbe-baremetal/be-test-bare-metal.elf',\n> +        '9ad51b675e101de65908fadbac064ed1d0564c17463715d09dd734db86ea0f58')\n> +\n> +    def _run_bare_metal(self, big_endian=False):\n> +        self.set_machine('virt')\n> +        kernel = self.ASSET_BE_TEST.fetch()\n> +        self.vm.add_args('-bios', 'none')\n> +        self.vm.add_args('-kernel', kernel)\n> +        if big_endian:\n> +            self.vm.add_args('-cpu', 'rv64,big-endian=on')\n> +        self.vm.set_console()\n> +        self.vm.launch()\n> +        expected = 'ENDIAN: BE' if big_endian else 'ENDIAN: LE'\n> +        wait_for_console_pattern(self, expected)\n> +\n> +    def test_bare_metal_littleendian(self):\n> +        \"\"\"\n> +        Boot bare-metal ELF on virt with default little-endian CPU.\n> +        Expects \"ENDIAN: LE\" on UART.\n> +        \"\"\"\n> +        self._run_bare_metal(big_endian=False)\n> +\n> +    def test_bare_metal_bigendian(self):\n> +        \"\"\"\n> +        Boot bare-metal ELF on virt with big-endian=on CPU property.\n> +        Expects \"ENDIAN: BE\" on UART.\n> +        \"\"\"\n> +        self._run_bare_metal(big_endian=True)\n> +\n> +\n> +if __name__ == '__main__':\n> +    QemuSystemTest.main()\n\nThanks for adding this!\n\nReviewed-by: Thomas Huth <thuth@redhat.com>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=GXcv/qTX;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=google header.b=ML1wpxmQ;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fgkHh6Fb3z1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 21:52:00 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1w5Lpt-000532-BC; Wed, 25 Mar 2026 06:51:41 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <thuth@redhat.com>) id 1w5Lps-00052q-5L\n for qemu-devel@nongnu.org; Wed, 25 Mar 2026 06:51:40 -0400","from us-smtp-delivery-124.mimecast.com ([170.10.133.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <thuth@redhat.com>) id 1w5Lpn-0004wZ-QS\n for qemu-devel@nongnu.org; Wed, 25 Mar 2026 06:51:37 -0400","from mail-wm1-f70.google.com (mail-wm1-f70.google.com\n [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-76-KYJ7iDHMOeKS5W5wvvaGrA-1; Wed, 25 Mar 2026 06:51:32 -0400","by mail-wm1-f70.google.com with SMTP id\n 5b1f17b1804b1-4837bfcfe0dso52701225e9.1\n for <qemu-devel@nongnu.org>; Wed, 25 Mar 2026 03:51:32 -0700 (PDT)","from [192.168.0.9] ([47.64.113.85]) by smtp.gmail.com with ESMTPSA\n id\n 5b1f17b1804b1-487117732a1sm116329925e9.15.2026.03.25.03.51.29\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Wed, 25 Mar 2026 03:51:30 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1774435894;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;\n bh=U9VFzuEcjXje5ShW3zxAHxwlfNiTkjCNuQpsaDcFuZY=;\n b=GXcv/qTXGPhShuW4pw2H45MNZXq7tms3eCafyPVnj0UiL9/Sbz/tVhOINi4+gmaah/uuA+\n a6lGa7pv/W0fFkRrBOEDrPoeoDtyAgqTs90OozeiJDLxRaWjhjcat+f/MhyRX7RIvi8Isx\n KkCF4Ngr2KCWuhgwMwdke3bWVAEJYuc=","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1774435891; x=1775040691; darn=nongnu.org;\n h=content-transfer-encoding:in-reply-to:autocrypt:from\n :content-language:references:cc:to:subject:user-agent:mime-version\n :date:message-id:from:to:cc:subject:date:message-id:reply-to;\n bh=U9VFzuEcjXje5ShW3zxAHxwlfNiTkjCNuQpsaDcFuZY=;\n b=ML1wpxmQR58PvuY7MUCdaq2/3yCsw/Rj5ykQqlYrInya0TaQVPG48pikM7GkRyeLdi\n qbDvW1bxEoyESirz2dK1HhJbEisJFzh2WqudS46UuKpU2c6cm9YyS/erb3jqXqkqS87U\n 2sO3TnxukJqhtLKfc2mQ883Y2gwZYaAkxqi5b1bK1flEn+0wZG89PwnhGc7F4Qnxd427\n qegBjJmp36LcrGKtcbVGG3CfQ2CuoR9QbgVBJxomRY31L0zJFUr9XXF1MgEMTy7yqfU0\n eWXMBe+la5m8t/z0yHvHCHCpLMc8mGF2TjZA2ylK69kB5HHKW6IA3MG2+iWfA3RHc1jM\n i3ww=="],"X-MC-Unique":"KYJ7iDHMOeKS5W5wvvaGrA-1","X-Mimecast-MFC-AGG-ID":"KYJ7iDHMOeKS5W5wvvaGrA_1774435891","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774435891; x=1775040691;\n h=content-transfer-encoding:in-reply-to:autocrypt:from\n :content-language:references:cc:to:subject:user-agent:mime-version\n :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=U9VFzuEcjXje5ShW3zxAHxwlfNiTkjCNuQpsaDcFuZY=;\n b=fvOChjENUJ0QesWJWoeeXHr8oZR9iV4QYn8SlAlvhZJoGbe2k7ovOuz61dm16KfWLZ\n D71LumqMTFFOzK3IqNxLj0HcAO5BTyVW09l5GUwDnzvrw1A9/uQtw67u2VKKCkjvM0nu\n eVEJGEHAsR9VVv/Kag5oCxMvRrU18gwKKYrnIK6emL01D92CH/sm5sRCMVDxWYihB6Av\n oZUkvZReP58cUs7THREE/QC0PHUBJcBBFC1u8pyL9qwnehR/fuEton/2jd9uCuxjvOYP\n 8YEOHSYoA8iLvkLzQXmlSSk0nJCZee9QxjsjRJjWm16sZ5TPjM7oVN5IKw519/jCPDsH\n SrQA==","X-Forwarded-Encrypted":"i=1;\n AJvYcCXvTbXg3DhJwHJxCiC6yag/4HI0EuTQhVqqGTqmqvaVleYQqu9ERy7g0lKXJDntRvXhFToj0xTJi4Tt@nongnu.org","X-Gm-Message-State":"AOJu0YxI1XF/2o6YAbTjlFJgZ/m4zSYhIaflUc9Q3bEIPRyGoEWtnQeg\n hI6oqWLhpQOaU7x+E2dw1wZPXtUZXyA5UeB4dZzDM32yJN29JRDxdOy7KLRV2ucTlEx/35hELro\n vMG1lQ059RHCtbm++p76OXCyw+b//G91bgfZrnas3da4WJnOlLgX7hA87","X-Gm-Gg":"ATEYQzwE2i06zjFUMr/Qhsp7RR+G99RdWO+1IA/xkJ/eDNYMFMa+kCig88M92k0Wlyx\n lKvzvZ74uOShfXCO35p7wEGXbbLqcAVG63sczhiTfsVVck7zfIYg8H8cIImReNpFiVI9c8AH/zN\n NFxK3JOszAPwu3ZqSUeIaVyYIkLkahy4QQyBFU6rmC8wejvyV/4w/5EVae5lyCXeRINeVsTyTUB\n U4TIgFKv7O7xOJtkqiW+ynfZ4hr3mBeDAAXyn7Xdyh81qVoMHiwLY0CjFnTl+tZWfcnKwl7SrDU\n easy6+zCl7hqO6CeyGhYiSoprEWssJbLmhDoPfc5Vfza1CkoVbQ4Q8HQP4hKk0OSh1CNtM1YFwG\n K9TcHBRskf6Ups4oFvA==","X-Received":["by 2002:a05:600c:46c6:b0:485:40c6:f507 with SMTP id\n 5b1f17b1804b1-4871609d044mr47842645e9.30.1774435890958;\n Wed, 25 Mar 2026 03:51:30 -0700 (PDT)","by 2002:a05:600c:46c6:b0:485:40c6:f507 with SMTP id\n 5b1f17b1804b1-4871609d044mr47842175e9.30.1774435890461;\n Wed, 25 Mar 2026 03:51:30 -0700 (PDT)"],"Message-ID":"<1002958d-783e-4fad-9a89-65d53f1f6e84@redhat.com>","Date":"Wed, 25 Mar 2026 11:51:29 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v5 7/7] target/riscv: Add test for RISC-V BE","To":"Djordje Todorovic <Djordje.Todorovic@htecgroup.com>,\n \"qemu-devel@nongnu.org\" <qemu-devel@nongnu.org>","Cc":"\"qemu-riscv@nongnu.org\" <qemu-riscv@nongnu.org>,\n \"cfu@mips.com\" <cfu@mips.com>, \"mst@redhat.com\" <mst@redhat.com>,\n \"marcel.apfelbaum@gmail.com\" <marcel.apfelbaum@gmail.com>,\n \"dbarboza@ventanamicro.com\" <dbarboza@ventanamicro.com>,\n \"philmd@linaro.org\" <philmd@linaro.org>,\n \"alistair23@gmail.com\" <alistair23@gmail.com>","References":"<20260324164007.549397-1-djordje.todorovic@htecgroup.com>\n <20260324164007.549397-8-djordje.todorovic@htecgroup.com>","Content-Language":"en-US","From":"Thomas Huth <thuth@redhat.com>","Autocrypt":"addr=thuth@redhat.com; keydata=\n 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","In-Reply-To":"<20260324164007.549397-8-djordje.todorovic@htecgroup.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Received-SPF":"pass client-ip=170.10.133.124; envelope-from=thuth@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001,\n RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,\n SPF_HELO_PASS=-0.001,\n SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]