|
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_cryptomountIt 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_testThis 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/7abfb78b84f06dc198148ce6e344d7bbSigned-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;; esacdiff --git a/tests/ehci_test.in b/tests/ehci_test.inindex 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;; esacdiff --git a/tests/ohci_test.in b/tests/ohci_test.inindex 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;; esacdiff --git a/tests/pata_test.in b/tests/pata_test.inindex 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;; esacdiff --git a/tests/util/grub-shell.in b/tests/util/grub-shell.inindex 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.zstdebian 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
[Prev in Thread] | Current Thread | [Next in Thread] |