grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v14 10/10] tests: Add LoongArch to various test cases


From: Glenn Washburn
Subject: Re: [PATCH v14 10/10] tests: Add LoongArch to various test cases
Date: Wed, 12 Apr 2023 15:53:36 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0

On 4/10/23 07:58, Xiaotian Wu wrote:
在 2023-04-10星期一的 15:36 +0800,Xiaotian Wu写道:
在 2023-04-10星期一的 03:20 -0300,Glenn Washburn写道:
On 4/8/23 02:05, Xiaotian Wu wrote:
The test results of running "make check" with qemu 7.2 are as
follows:
=================================================================
==
=========
    Testsuite summary for GRUB 2.11
=================================================================
==
=========
    # TOTAL: 85
    # PASS:  57
    # SKIP:  8
    # XFAIL: 0
    # FAIL:  1
    # XPASS: 0
    # ERROR: 19
=================================================================
==
=========

These ERROR cases need to be run as root user:
    ERROR: ext234_test
    ERROR: hfsplus_test
    ERROR: ntfs_test
    ERROR: reiserfs_test
    ERROR: fat_test
    ERROR: minixfs_test
    ERROR: xfs_test
    ERROR: f2fs_test
    ERROR: nilfs2_test
    ERROR: romfs_test
    ERROR: exfat_test
    ERROR: udf_test
    ERROR: hfs_test
    ERROR: jfs_test
    ERROR: btrfs_test
    ERROR: zfs_test
    ERROR: luks1_test
    ERROR: luks2_test
    ERROR: grub_cmd_cryptomount

It would be great if you would follow the instructions in the
INSTALL
file to install the appropriate dependencies and to run the tests
as
root. Are you suggesting that you do not have access to the root
user?
I can try to retest with root, but maybe the test case will fail.


These test cases are skipped:
    SKIP: pata_test
    SKIP: ahci_test
    SKIP: uhci_test
    SKIP: ohci_test
    SKIP: ehci_test
    SKIP: fddboot_test
    SKIP: netboot_test
    SKIP: pseries_test

This test case fails because of: qemu-system-loongarch64:
ram_size
must be greater than 1G.
    FAIL: grub_func_test

This sounds strange to me because you give QEMU 4G of memory in
grub-shell (see below). Are you saying that you ran the tests on a
system with 1G or less of memory?

Yes, I set the memory to 4G, but on line 16 of the
"tests/grub_func_test.in" file, it is reset to 512M.
After modifying "test/grub_func_test.in", I made a test, but it failed,
the log is below, I'm not sure if it's related to grub, please check,
thanks.

https://gist.github.com/yetist/7abfb78b84f06dc198148ce6e344d7bb



Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
---
   tests/ahci_test.in       |  2 +-
   tests/ehci_test.in       |  2 +-
   tests/ohci_test.in       |  2 +-
   tests/pata_test.in       |  2 +-
   tests/uhci_test.in       |  2 +-
   tests/util/grub-shell.in | 14 ++++++++++++++
   6 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/tests/ahci_test.in b/tests/ahci_test.in
index 6d2e61d4e..70646a24e 100644
--- a/tests/ahci_test.in
+++ b/tests/ahci_test.in
@@ -30,7 +30,7 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
       mips*-arc | mips*-qemu_mips)
         exit 77;;
       # FIXME: No native drivers are available for those
-    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi)
+    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi |
loongarch64-
efi)
         exit 77;;
   esac
diff --git a/tests/ehci_test.in b/tests/ehci_test.in
index df671b4b6..bf823a5de 100644
--- a/tests/ehci_test.in
+++ b/tests/ehci_test.in
@@ -30,7 +30,7 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
       mips*-arc | mips*-qemu_mips)
         exit 77;;
       # FIXME: No native drivers are available for those
-    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi)
+    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi |
loongarch64-
efi)
         exit 77;;
   esac
diff --git a/tests/ohci_test.in b/tests/ohci_test.in
index 741ad881f..a40d3bc0a 100644
--- a/tests/ohci_test.in
+++ b/tests/ohci_test.in
@@ -30,7 +30,7 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
       mips*-arc | mips*-qemu_mips)
         exit 77;;
       # FIXME: No native drivers are available for those
-    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi)
+    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi |
loongarch64-
efi)
         exit 77;;
   esac
diff --git a/tests/pata_test.in b/tests/pata_test.in
index 31144a8fd..4d0e7d573 100644
--- a/tests/pata_test.in
+++ b/tests/pata_test.in
@@ -33,7 +33,7 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
       i386-efi)
         exit 77;;
       # FIXME: No native drivers are available for those
-    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi)
+    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi |
loongarch64-
efi)
         exit 77;;
       i386-ieee1275)
         disk=hdb
diff --git a/tests/uhci_test.in b/tests/uhci_test.in
index 5aa5eb726..de199a281 100644
--- a/tests/uhci_test.in
+++ b/tests/uhci_test.in
@@ -30,7 +30,7 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
       mips*-arc | mips*-qemu_mips)
         exit 77;;
       # FIXME: No native drivers are available for those
-    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi)
+    powerpc-ieee1275 | sparc64-ieee1275 | arm*-efi |
loongarch64-
efi)
         exit 77;;
   esac
diff --git a/tests/util/grub-shell.in b/tests/util/grub-shell.in
index 75f71dc1a..bbeb63ef4 100644
--- a/tests/util/grub-shell.in
+++ b/tests/util/grub-shell.in
@@ -208,6 +208,16 @@ case "${grub_modinfo_target_cpu}-
${grub_modinfo_platform}" in
         disk="device virtio-blk-device,drive=hd1 -drive
if=none,id=hd1,file="
         serial_port=efi0
         ;;
+    loongarch64-efi)
+       qemu=qemu-system-loongarch64
+       boot=hd
+       console=console
+       trim=1
+       qemuopts="-machine virt -cpu la464-loongarch-cpu -smp 4 -
nographic -m 4G \
+                 -bios /usr/share/edk2/loongarch64/QEMU_CODE.fd
$qemuopts"

The tests are only officially supported on Debian. So is this
firmware
file installed from a Debian package? If so what is the package
name
and
what apt repository is it located?

I did a local test on archlinux, the package is "edk2-loongarch64",
the
installation directory refers to the packaging rules of fedora and
archlinux, it will be installed in the "/usr/share/edk2/<arch>/"
directory.

edk2-aarch64 on fedora:
https://koji.fedoraproject.org/koji/rpminfo?rpmID=33833091
edk2-riscv64 on fedora:
https://koji.fedoraproject.org/koji/rpminfo?rpmID=33833092

edk2-aarch64 on archlinux:
https://archlinux.org/packages/extra/any/edk2-aarch64/
edk2-arm on archlinux:
https://archlinux.org/packages/extra/any/edk2-arm/
edk2-loongarch64 on archlinux:
https://mirrors.wsyu.edu.cn/loongarch/archlinux/extra/os/loong64/edk2-loongarch64-202211-4-any.pkg.tar.zst


debian doesn't support LoongArch yet, maybe I should use "-L" to load
"QEMU_CODE.fd" from the current directory as in previous versions?

This is something we've yet to resolve well, IMO. Currently the absolute path should be to the location that the firmware resides in Debian. Since, as you note, there is no Debian package yet, there is no such path. I suppose for now, you can keep the path as is, with the idea of changing it to the Debian path when that becomes available.

I have a pending patch that looks first in the source directory and then in an absolute path, which is the Debian location. When that gets merged, the firmware file name searched for in the source directory should not be "QEMU_CODE.fd", which is too generic. Can you think of a name more specific to LoongArch? Maybe LOONGARCH64_CODE.fd? This should probably be the name for the absolute path as well (notice how fedora names riscv64 firmware).

Glenn




reply via email to

[Prev in Thread] Current Thread [Next in Thread]