OvmfPkg/PlatformCI: Add CI coverage for LoongArchVirtQemu

Add support for building LoongArchVirtQemu platform in CI

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4584

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Chao Li <lichao@loongson.cn>
diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
index 5809152..6762c2c 100644
--- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
+++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
@@ -186,6 +186,15 @@
             Run.Flags: "QEMU_SKIP=TRUE"

             Run: $(should_run)

 

+          QEMU_LOONGARCH64_DEBUG:

+            Build.File: "$(package)/PlatformCI/QemuBuild.py"

+            Build.Arch: "LOONGARCH64"

+            Build.Flags: ""

+            Build.Target: "DEBUG"

+            # this build is for LOONGARCH qemu virt not qemu-kvm

+            Run.Flags: "QEMU_SKIP=TRUE"

+            Run: $(should_run)

+

     workspace:

       clean: all

 

diff --git a/OvmfPkg/PlatformCI/QemuBuild.py b/OvmfPkg/PlatformCI/QemuBuild.py
index c737d98..e80e0cb 100644
--- a/OvmfPkg/PlatformCI/QemuBuild.py
+++ b/OvmfPkg/PlatformCI/QemuBuild.py
@@ -19,7 +19,7 @@
         for the different parts of stuart

     '''

     PackagesSupported = ("OvmfPkg",)

-    ArchSupported = ("RISCV64",)

+    ArchSupported = ("RISCV64","LOONGARCH64")

     TargetsSupported = ("DEBUG", "RELEASE", "NOOPT")

     Scopes = ('ovmf', 'edk2-build')

     WorkspaceRoot = os.path.realpath(os.path.join(

@@ -31,7 +31,11 @@
 

         ArchCsv: csv string containing all architectures to build

         '''

-        return "RiscVVirt/RiscVVirtQemu.dsc"

+        if "RISCV64" in ArchCsv.upper().split(","):

+            dsc = "RiscVVirt/RiscVVirtQemu.dsc"

+        if "LOONGARCH64" in ArchCsv.upper().split(","):

+            dsc = "LoongArchVirt/LoongArchVirtQemu.dsc"

+        return dsc

 

 import PlatformBuildLib

 PlatformBuildLib.CommonPlatform = CommonPlatform