summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml43
-rw-r--r--ArmVirtPkg/PlatformCI/PlatformBuildLib.py4
-rw-r--r--ArmVirtPkg/PlatformCI/QemuBuild.py3
-rw-r--r--ArmVirtPkg/PlatformCI/QemuKernelBuild.py35
4 files changed, 83 insertions, 2 deletions
diff --git a/ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
index 44a1d3da67..2b6cc11916 100644
--- a/ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
+++ b/ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
@@ -72,6 +72,49 @@ jobs:
Run.Flags: $(run_flags)
Run: $(should_run)
+ QEMU_KERNEL_AARCH64_DEBUG:
+ Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
+ Build.Arch: "AARCH64"
+ Build.Flags: ""
+ Build.Target: "DEBUG"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
+ QEMU_KERNEL_AARCH64_RELEASE:
+ Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
+ Build.Arch: "AARCH64"
+ Build.Flags: ""
+ Build.Target: "RELEASE"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
+ QEMU_KERNEL_AARCH64_NOOPT:
+ Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
+ Build.Arch: "AARCH64"
+ Build.Flags: ""
+ Build.Target: "NOOPT"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
+ QEMU_KERNEL_ARM_DEBUG:
+ Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
+ Build.Arch: "ARM"
+ Build.Flags: ""
+ Build.Target: "DEBUG"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
+ QEMU_KERNEL_ARM_RELEASE:
+ Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
+ Build.Arch: "ARM"
+ Build.Flags: ""
+ Build.Target: "RELEASE"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
+ QEMU_KERNEL_ARM_NOOPT:
+ Build.File: "$(package)/PlatformCI/QemuKernelBuild.py"
+ Build.Arch: "ARM"
+ Build.Flags: ""
+ Build.Target: "NOOPT"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
+
workspace:
clean: all
diff --git a/ArmVirtPkg/PlatformCI/PlatformBuildLib.py b/ArmVirtPkg/PlatformCI/PlatformBuildLib.py
index 91aa9b31d3..405817cae7 100644
--- a/ArmVirtPkg/PlatformCI/PlatformBuildLib.py
+++ b/ArmVirtPkg/PlatformCI/PlatformBuildLib.py
@@ -226,13 +226,13 @@ class PlatformBuilder(UefiBuilder, BuildSettingsManager):
args += " -cpu cortex-a57" # emulate cpu
elif(self.env.GetValue("TARGET_ARCH").upper() == "ARM"):
cmd = "qemu-system-arm"
- args = "-M virt"
+ args = "-M virt,highmem=off"
args += " -cpu cortex-a15" # emulate cpu
else:
raise NotImplementedError()
# Common Args
- args += " -pflash " + Built_FV # path to fw
+ args += CommonPlatform.FvQemuArg + Built_FV # path to fw
args += " -m 1024" # 1gb memory
# turn off network
args += " -net none"
diff --git a/ArmVirtPkg/PlatformCI/QemuBuild.py b/ArmVirtPkg/PlatformCI/QemuBuild.py
index f4dcc1d1d2..c651a9501f 100644
--- a/ArmVirtPkg/PlatformCI/QemuBuild.py
+++ b/ArmVirtPkg/PlatformCI/QemuBuild.py
@@ -27,5 +27,8 @@ class CommonPlatform():
DscName = os.path.join("ArmVirtPkg", "ArmVirtQemu.dsc")
+ # this platform produces a bootable NOR flash image
+ FvQemuArg = " -pflash "
+
import PlatformBuildLib
PlatformBuildLib.CommonPlatform = CommonPlatform
diff --git a/ArmVirtPkg/PlatformCI/QemuKernelBuild.py b/ArmVirtPkg/PlatformCI/QemuKernelBuild.py
new file mode 100644
index 0000000000..f340dfac88
--- /dev/null
+++ b/ArmVirtPkg/PlatformCI/QemuKernelBuild.py
@@ -0,0 +1,35 @@
+# @file
+# Script to Build OVMF UEFI firmware
+#
+# Copyright (c) Microsoft Corporation.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+import os
+import sys
+
+sys.path.append(os.path.dirname(os.path.abspath(__file__)))
+from PlatformBuildLib import SettingsManager
+from PlatformBuildLib import PlatformBuilder
+
+ # ####################################################################################### #
+ # Common Configuration #
+ # ####################################################################################### #
+class CommonPlatform():
+ ''' Common settings for this platform. Define static data here and use
+ for the different parts of stuart
+ '''
+ PackagesSupported = ("ArmVirtPkg",)
+ ArchSupported = ("AARCH64", "ARM")
+ TargetsSupported = ("DEBUG", "RELEASE", "NOOPT")
+ Scopes = ('armvirt', 'edk2-build')
+ WorkspaceRoot = os.path.realpath(os.path.join(
+ os.path.dirname(os.path.abspath(__file__)), "..", ".."))
+
+ DscName = os.path.join("ArmVirtPkg", "ArmVirtQemuKernel.dsc")
+
+ # this platform produces an executable image that is invoked using
+ # the Linux/arm64 kernel boot protocol
+ FvQemuArg = " -kernel "
+
+import PlatformBuildLib
+PlatformBuildLib.CommonPlatform = CommonPlatform