On Tue,  2 Aug 2022 15:13:37 +0800
Xiaotian Wu <wuxiaot...@loongson.cn> wrote:

> Signed-off-by: Xiaotian Wu <wuxiaot...@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 4828afb7c..e0cfe6f01 100644
> --- a/tests/util/grub-shell.in
> +++ b/tests/util/grub-shell.in
> @@ -194,6 +194,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 -smp 2 -nographic -L ${srcdir} \
> +               -bios /usr/share/qemu/edk2-loongarch64-code.fd $qemuopts"

The firmware should not be specified with an absolute path because that
effectively disables searching for the firmware and make the -L option
useless. So I believe it should just be "-bios edk2-loongarch64-code.fd".

> +     disk="device virtio-blk-pci,drive=hd1 -drive if=none,id=hd1,file="

I realize now that I was confused by the hd1 here. This is just an identifier
and has no other meaning. In fact, this disk gets set as the first disk
in QEMU. Looking at the code again, the extra disk handling code really needs
to be updated and reworked. I think this line is fine for now.

> +     serial_port=
> +     ;;
>      *)
>       boot=hd
>       qemu=qemu-system-i386
> @@ -395,6 +405,8 @@ fi
>  if [ x$boot = xhd ]; then
>      if [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = arm64-efi ] 
> || [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = arm-efi ]; then
>       device="device virtio-blk-device,drive=hd0 -drive if=none,id=hd0,file="
> +    elif [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = 
> loongarch64-efi ]; then
> +     device="device virtio-blk-pci,drive=hd0 -drive if=none,id=hd0,file="

The hd0 here is also misleading, as it will get set as the last of a series
of disks, which in the case of the partmap_test will the the second disk.
I know this is essentially copied from the if block above it, but instead
of using hd0, how about using "grubdev", which seems a more accurate name.

Also, I'm wondering why use "virtio-blk-pci" instead of "virtio-blk-device"
as ARM does above? I this just the more preferred way to do this with QEMU
now, or is there an important functional difference?

Glenn

>      elif [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = mips-arc 
> ]; then
>       device="hdb "
>      else
> @@ -405,6 +417,8 @@ fi
>  if [ x$boot = xcd ]; then
>      if [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = arm64-efi ] 
> || [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = arm-efi ]; then
>       device="device virtio-blk-device,drive=cd0 -drive 
> if=none,id=cd0,media=cdrom,file="
> +    elif [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = 
> loongarch64-efi ]; then
> +     device="device virtio-blk-pci,drive=cd0 -drive 
> if=none,id=cd0,media=cdrom,file="
>      elif [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = 
> powerpc-ieee1275 ] && [ x$pseries != xy ] ; then
>       device="-drive if=ide,media=cdrom,file="
>      else

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to