From nobody Sat Apr 27 23:11:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+82301+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82301+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1634630929; cv=none; d=zohomail.com; s=zohoarc; b=Yxbe5Vwufn558R8/gxXqTSP2sWZD+iavFYOabb+ZUeHoSAimwjXHLiXiNuH5Nz82Sj308Nlzeq5sfVzJQdW1/4e+P/QpcDOSZW5vseKPGfldRALcb8dFEluIPVTavYH8x2dPWedzrrcht3cYNnxgBBSuctehRVVzXvVol25c5Lk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1634630929; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=NzjhUY2L7bwUlonQfLEzToXHdl4a8KNYdOEuK9SojTQ=; b=BgenW+JxFOaQ0xiLy7QBp8GWFE0I6GEWYJx11JRKYBbr4vOBHdBcQQ695MCR5qUUY4UA670afa1STgzOjLqIiRZJ+tE1yi9e/m5GH3qhq8xLcG/lBDop1UNLX/BC/qOpbBBjOdKMfulVHhrsli2NJ2lBd+Gt5EqlDB6i0Ry7MFQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82301+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1634630929508346.9026700781144; Tue, 19 Oct 2021 01:08:49 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Y8mhYY1788612x85VGSBSfGF; Tue, 19 Oct 2021 01:08:49 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.groups.io with SMTP id smtpd.web10.6826.1634630927984751603 for ; Tue, 19 Oct 2021 01:08:48 -0700 X-Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-301-v5dm1eB6NO2LPVWCyPE-RA-1; Tue, 19 Oct 2021 04:08:43 -0400 X-MC-Unique: v5dm1eB6NO2LPVWCyPE-RA-1 X-Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 73F6A18125C1; Tue, 19 Oct 2021 08:08:42 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F3A9660657; Tue, 19 Oct 2021 08:08:33 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 421BE18003BF; Tue, 19 Oct 2021 10:08:32 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann , Jiewen Yao , Jordan Justen , Ard Biesheuvel Subject: [edk2-devel] [PATCH 1/6] OvmfPkg/PlatformCI: factor out PlatformBuildLib.py Date: Tue, 19 Oct 2021 10:08:27 +0200 Message-Id: <20211019080832.265545-2-kraxel@redhat.com> In-Reply-To: <20211019080832.265545-1-kraxel@redhat.com> References: <20211019080832.265545-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: dtCCc74YhRzhXuaEoE0LDFJxx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1634630929; bh=7az0DxcrFqu7i+Z5n2dfhs+of+PbO7rg291ysVFOXp8=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=LiinssghYraJF1MRHwZUO31ws9WFJx+hA0nfELenBuDpak5rhW6nnnETp2/itOoM1fC VykznWWHp/yIYQe3lwsNoQxDLkJNgXW0lFToAIKiIjlrEm65H8Ef7AFubyhrc9Q1wHno4 jpsV15u0TpnNziv7WQVTsd3RHZ5aAlDA+Jk= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1634630930159100003 Content-Type: text/plain; charset="utf-8" Move SettingsManager and PlatformBuilder classes to PlatformBuildLib.py file, keep only CommonPlatform class in PlatformBuild.py. Allows reusing these classes for other builds. Pure code motion, no functional change. Signed-off-by: Gerd Hoffmann Acked-by: Ard Biesheuvel --- OvmfPkg/PlatformCI/PlatformBuild.py | 223 +----------------- .../{PlatformBuild.py =3D> PlatformBuildLib.py} | 32 --- 2 files changed, 6 insertions(+), 249 deletions(-) copy OvmfPkg/PlatformCI/{PlatformBuild.py =3D> PlatformBuildLib.py} (87%) diff --git a/OvmfPkg/PlatformCI/PlatformBuild.py b/OvmfPkg/PlatformCI/Platf= ormBuild.py index 627bb7b992db..413f004990e5 100644 --- a/OvmfPkg/PlatformCI/PlatformBuild.py +++ b/OvmfPkg/PlatformCI/PlatformBuild.py @@ -5,17 +5,11 @@ # SPDX-License-Identifier: BSD-2-Clause-Patent ## import os -import logging -import io - -from edk2toolext.environment import shell_environment -from edk2toolext.environment.uefi_build import UefiBuilder -from edk2toolext.invocables.edk2_platform_build import BuildSettingsManager -from edk2toolext.invocables.edk2_setup import SetupSettingsManager, Requir= edSubmodule -from edk2toolext.invocables.edk2_update import UpdateSettingsManager -from edk2toolext.invocables.edk2_pr_eval import PrEvalSettingsManager -from edk2toollib.utility_functions import RunCmd +import sys =20 +sys.path.append(os.path.join(os.getcwd(), 'OvmfPkg', 'PlatformCI')) +from PlatformBuildLib import SettingsManager +from PlatformBuildLib import PlatformBuilder =20 # ####################################################################= ################### # # Common Configuration = # @@ -45,210 +39,5 @@ class CommonPlatform(): dsc +=3D ".dsc" return dsc =20 - - # ####################################################################= ################### # - # Configuration for Update & Setup = # - # ####################################################################= ################### # -class SettingsManager(UpdateSettingsManager, SetupSettingsManager, PrEvalS= ettingsManager): - - def GetPackagesSupported(self): - ''' return iterable of edk2 packages supported by this build. - These should be edk2 workspace relative paths ''' - return CommonPlatform.PackagesSupported - - def GetArchitecturesSupported(self): - ''' return iterable of edk2 architectures supported by this build = ''' - return CommonPlatform.ArchSupported - - def GetTargetsSupported(self): - ''' return iterable of edk2 target tags supported by this build ''' - return CommonPlatform.TargetsSupported - - def GetRequiredSubmodules(self): - ''' return iterable containing RequiredSubmodule objects. - If no RequiredSubmodules return an empty iterable - ''' - rs =3D [] - - # intentionally declare this one with recursive false to avoid ove= rhead - rs.append(RequiredSubmodule( - "CryptoPkg/Library/OpensslLib/openssl", False)) - - # To avoid maintenance of this file for every new submodule - # lets just parse the .gitmodules and add each if not already in l= ist. - # The GetRequiredSubmodules is designed to allow a build to optimi= ze - # the desired submodules but it isn't necessary for this repositor= y. - result =3D io.StringIO() - ret =3D RunCmd("git", "config --file .gitmodules --get-regexp path= ", workingdir=3Dself.GetWorkspaceRoot(), outstream=3Dresult) - # Cmd output is expected to look like: - # submodule.CryptoPkg/Library/OpensslLib/openssl.path CryptoPkg/Li= brary/OpensslLib/openssl - # submodule.SoftFloat.path ArmPkg/Library/ArmSoftFloatLib/berkeley= -softfloat-3 - if ret =3D=3D 0: - for line in result.getvalue().splitlines(): - _, _, path =3D line.partition(" ") - if path is not None: - if path not in [x.path for x in rs]: - rs.append(RequiredSubmodule(path, True)) # add it = with recursive since we don't know - return rs - - def SetArchitectures(self, list_of_requested_architectures): - ''' Confirm the requests architecture list is valid and configure = SettingsManager - to run only the requested architectures. - - Raise Exception if a list_of_requested_architectures is not suppor= ted - ''' - unsupported =3D set(list_of_requested_architectures) - set(self.Ge= tArchitecturesSupported()) - if(len(unsupported) > 0): - errorString =3D ( "Unsupported Architecture Requested: " + " "= .join(unsupported)) - logging.critical( errorString ) - raise Exception( errorString ) - self.ActualArchitectures =3D list_of_requested_architectures - - def GetWorkspaceRoot(self): - ''' get WorkspacePath ''' - return CommonPlatform.WorkspaceRoot - - def GetActiveScopes(self): - ''' return tuple containing scopes that should be active for this = process ''' - return CommonPlatform.Scopes - - def FilterPackagesToTest(self, changedFilesList: list, potentialPackag= esList: list) -> list: - ''' Filter other cases that this package should be built - based on changed files. This should cover things that can't - be detected as dependencies. ''' - build_these_packages =3D [] - possible_packages =3D potentialPackagesList.copy() - for f in changedFilesList: - # BaseTools files that might change the build - if "BaseTools" in f: - if os.path.splitext(f) not in [".txt", ".md"]: - build_these_packages =3D possible_packages - break - - # if the azure pipeline platform template file changed - if "platform-build-run-steps.yml" in f: - build_these_packages =3D possible_packages - break - - return build_these_packages - - def GetPlatformDscAndConfig(self) -> tuple: - ''' If a platform desires to provide its DSC then Policy 4 will ev= aluate if - any of the changes will be built in the dsc. - - The tuple should be (, ) - ''' - dsc =3D CommonPlatform.GetDscName(",".join(self.ActualArchitecture= s)) - return (f"OvmfPkg/{dsc}", {}) - - - # ####################################################################= ################### # - # Actual Configuration for Platform Build = # - # ####################################################################= ################### # -class PlatformBuilder( UefiBuilder, BuildSettingsManager): - def __init__(self): - UefiBuilder.__init__(self) - - def AddCommandLineOptions(self, parserObj): - ''' Add command line options to the argparser ''' - parserObj.add_argument('-a', "--arch", dest=3D"build_arch", type= =3Dstr, default=3D"IA32,X64", - help=3D"Optional - CSV of architecture to build. IA32 will us= e IA32 for Pei & Dxe. " - "X64 will use X64 for both PEI and DXE. IA32,X64 will use IA3= 2 for PEI and " - "X64 for DXE. default is IA32,X64") - - def RetrieveCommandLineOptions(self, args): - ''' Retrieve command line options from the argparser ''' - - shell_environment.GetBuildVars().SetValue("TARGET_ARCH"," ".join(a= rgs.build_arch.upper().split(",")), "From CmdLine") - dsc =3D CommonPlatform.GetDscName(args.build_arch) - shell_environment.GetBuildVars().SetValue("ACTIVE_PLATFORM", f"Ovm= fPkg/{dsc}", "From CmdLine") - - def GetWorkspaceRoot(self): - ''' get WorkspacePath ''' - return CommonPlatform.WorkspaceRoot - - def GetPackagesPath(self): - ''' Return a list of workspace relative paths that should be mappe= d as edk2 PackagesPath ''' - return () - - def GetActiveScopes(self): - ''' return tuple containing scopes that should be active for this = process ''' - return CommonPlatform.Scopes - - def GetName(self): - ''' Get the name of the repo, platform, or product being build ''' - ''' Used for naming the log file, among others ''' - # check the startup nsh flag and if set then rename the log file. - # this helps in CI so we don't overwrite the build log since runni= ng - # uses the stuart_build command. - if(shell_environment.GetBuildVars().GetValue("MAKE_STARTUP_NSH", "= FALSE") =3D=3D "TRUE"): - return "OvmfPkg_With_Run" - return "OvmfPkg" - - def GetLoggingLevel(self, loggerType): - ''' Get the logging level for a given type - base =3D=3D lowest logging level supported - con =3D=3D Screen logging - txt =3D=3D plain text file logging - md =3D=3D markdown file logging - ''' - return logging.DEBUG - - def SetPlatformEnv(self): - logging.debug("PlatformBuilder SetPlatformEnv") - self.env.SetValue("PRODUCT_NAME", "OVMF", "Platform Hardcoded") - self.env.SetValue("MAKE_STARTUP_NSH", "FALSE", "Default to false") - self.env.SetValue("QEMU_HEADLESS", "FALSE", "Default to false") - return 0 - - def PlatformPreBuild(self): - return 0 - - def PlatformPostBuild(self): - return 0 - - def FlashRomImage(self): - VirtualDrive =3D os.path.join(self.env.GetValue("BUILD_OUTPUT_BASE= "), "VirtualDrive") - os.makedirs(VirtualDrive, exist_ok=3DTrue) - OutputPath_FV =3D os.path.join(self.env.GetValue("BUILD_OUTPUT_BAS= E"), "FV") - - # - # QEMU must be on the path - # - cmd =3D "qemu-system-x86_64" - args =3D "-debugcon stdio" = # write messages to stdio - args +=3D " -global isa-debugcon.iobase=3D0x402" = # debug messages out thru virtual io port - args +=3D " -net none" = # turn off network - args +=3D f" -drive file=3Dfat:rw:{VirtualDrive},format=3Draw,medi= a=3Ddisk" # Mount disk with startup.nsh - - if (self.env.GetValue("QEMU_HEADLESS").upper() =3D=3D "TRUE"): - args +=3D " -display none" # no graphics - - if (self.env.GetBuildValue("SMM_REQUIRE") =3D=3D "1"): - args +=3D " -machine q35,smm=3Don" #,accel=3D(tcg|kvm)" - #args +=3D " -m ..." - #args +=3D " -smp ..." - args +=3D " -global driver=3Dcfi.pflash01,property=3Dsecure,va= lue=3Don" - args +=3D " -drive if=3Dpflash,format=3Draw,unit=3D0,file=3D" = + os.path.join(OutputPath_FV, "OVMF_CODE.fd") + ",readonly=3Don" - args +=3D " -drive if=3Dpflash,format=3Draw,unit=3D1,file=3D" = + os.path.join(OutputPath_FV, "OVMF_VARS.fd") - else: - args +=3D " -pflash " + os.path.join(OutputPath_FV, "OVMF.fd")= # path to firmware - - - if (self.env.GetValue("MAKE_STARTUP_NSH").upper() =3D=3D "TRUE"): - f =3D open(os.path.join(VirtualDrive, "startup.nsh"), "w") - f.write("BOOT SUCCESS !!! \n") - ## add commands here - f.write("reset -s\n") - f.close() - - ret =3D RunCmd(cmd, args) - - if ret =3D=3D 0xc0000005: - #for some reason getting a c0000005 on successful return - return 0 - - return ret - - - +import PlatformBuildLib +PlatformBuildLib.CommonPlatform =3D CommonPlatform diff --git a/OvmfPkg/PlatformCI/PlatformBuild.py b/OvmfPkg/PlatformCI/Platf= ormBuildLib.py similarity index 87% copy from OvmfPkg/PlatformCI/PlatformBuild.py copy to OvmfPkg/PlatformCI/PlatformBuildLib.py index 627bb7b992db..90ac0b29a892 100644 --- a/OvmfPkg/PlatformCI/PlatformBuild.py +++ b/OvmfPkg/PlatformCI/PlatformBuildLib.py @@ -17,35 +17,6 @@ from edk2toolext.invocables.edk2_pr_eval import PrEvalSe= ttingsManager from edk2toollib.utility_functions import RunCmd =20 =20 - # ####################################################################= ################### # - # Common Configuration = # - # ####################################################################= ################### # -class CommonPlatform(): - ''' Common settings for this platform. Define static data here and use - for the different parts of stuart - ''' - PackagesSupported =3D ("OvmfPkg",) - ArchSupported =3D ("IA32", "X64") - TargetsSupported =3D ("DEBUG", "RELEASE", "NOOPT") - Scopes =3D ('ovmf', 'edk2-build') - WorkspaceRoot =3D os.path.realpath(os.path.join( - os.path.dirname(os.path.abspath(__file__)), "..", "..")) - - @classmethod - def GetDscName(cls, ArchCsv: str) -> str: - ''' return the DSC given the architectures requested. - - ArchCsv: csv string containing all architectures to build - ''' - dsc =3D "OvmfPkg" - if "IA32" in ArchCsv.upper().split(","): - dsc +=3D "Ia32" - if "X64" in ArchCsv.upper().split(","): - dsc +=3D "X64" - dsc +=3D ".dsc" - return dsc - - # ####################################################################= ################### # # Configuration for Update & Setup = # # ####################################################################= ################### # @@ -249,6 +220,3 @@ class PlatformBuilder( UefiBuilder, BuildSettingsManage= r): return 0 =20 return ret - - - --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#82301): https://edk2.groups.io/g/devel/message/82301 Mute This Topic: https://groups.io/mt/86435028/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sat Apr 27 23:11:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+82306+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82306+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1634630938; cv=none; d=zohomail.com; s=zohoarc; b=RoYBgDB9PsbQII+LzUbZZu89gKAo9+tBSmPD7t5fNLzsRBu5NajU2+D+G21HXF3Sh9o6ogMzP27Z29BKrDluKnwXwclAPVwSvjf2Wyme9Sf/glgt3SU+H3mAx9r97foeY68VuGwXVrzDgFb0Sens+PJ6IPxTcky6w2SytlTlyts= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1634630938; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=mdwf8msufZPOi4uvSJtSt5mElMH8Dm/J9WyKjW6kRr0=; b=QQf4OW2F8bzuqgrYFpIz09FzAy1RE19TuE0qbNZFWkP0dvZ4g6xK6zs4szVHGZs0EzjHkj565vqVzuz7yMV+1xZ5spEOCB+dDsa4EGuhP6J24RLiSb1K7ifxad/qtTLEnBZHSu8Usz/NVY4HX9KhfPKBol6MfGB0haF8WB8QSd0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82306+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1634630938924744.777263972599; Tue, 19 Oct 2021 01:08:58 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 6xcTYY1788612xUUjx72XEhG; Tue, 19 Oct 2021 01:08:58 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.groups.io with SMTP id smtpd.web09.6739.1634630937912662765 for ; Tue, 19 Oct 2021 01:08:58 -0700 X-Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-211-UuPKpLR7OE6eEAxrFpuAqg-1; Tue, 19 Oct 2021 04:08:44 -0400 X-MC-Unique: UuPKpLR7OE6eEAxrFpuAqg-1 X-Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 23E1F10A8E05; Tue, 19 Oct 2021 08:08:43 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9FC1F19C59; Tue, 19 Oct 2021 08:08:39 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 449DB180060E; Tue, 19 Oct 2021 10:08:32 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann , Jiewen Yao , Jordan Justen , Ard Biesheuvel Subject: [edk2-devel] [PATCH 2/6] OvmfPkg/PlatformCI: add QEMU_SKIP Date: Tue, 19 Oct 2021 10:08:28 +0200 Message-Id: <20211019080832.265545-3-kraxel@redhat.com> In-Reply-To: <20211019080832.265545-1-kraxel@redhat.com> References: <20211019080832.265545-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: mGo7GrrnmOb5bkjItrsryFAax1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1634630938; bh=g8/QKqS907WGKXSX9k96jPQWAhBwgD6/ZjJbOmnSXvU=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=olG72mFXd/1cATqlsTepxHnnMSjRKnu4U++JAs4rN4PqWCgBbWhzU2+XVn5+6ZMTy2c GAAgkkKlaTAMwlUajKLug1hpQPCctakr1fZcvIjKOSwefPWVuPqJW6wZcZOgxNESkCVqj f6mIx1Hdg49COeXv9qrHZFcMLCRgPzVAQe0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1634630940928100018 Content-Type: text/plain; charset="utf-8" Skip the qemu boot test in case QEMU_SKIP is set to true. Signed-off-by: Gerd Hoffmann Acked-by: Ard Biesheuvel --- OvmfPkg/PlatformCI/PlatformBuildLib.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OvmfPkg/PlatformCI/PlatformBuildLib.py b/OvmfPkg/PlatformCI/Pl= atformBuildLib.py index 90ac0b29a892..bfef9849c749 100644 --- a/OvmfPkg/PlatformCI/PlatformBuildLib.py +++ b/OvmfPkg/PlatformCI/PlatformBuildLib.py @@ -183,6 +183,11 @@ class PlatformBuilder( UefiBuilder, BuildSettingsManag= er): os.makedirs(VirtualDrive, exist_ok=3DTrue) OutputPath_FV =3D os.path.join(self.env.GetValue("BUILD_OUTPUT_BAS= E"), "FV") =20 + if (self.env.GetValue("QEMU_SKIP") and + self.env.GetValue("QEMU_SKIP").upper() =3D=3D "TRUE"): + logging.info("skipping qemu boot test") + return 0 + # # QEMU must be on the path # --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#82306): https://edk2.groups.io/g/devel/message/82306 Mute This Topic: https://groups.io/mt/86435033/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sat Apr 27 23:11:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+82303+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82303+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1634630935; cv=none; d=zohomail.com; s=zohoarc; b=f2C8af8LtAnZC/d/HXbKJbqDxhCf4pKjAmb/oVrDpg0AVkLpdhE9DBkNAI9RnHwjhbAG1Nr57CWhbIEb0fjCjXMFaBZ0BqVEAOEHFC/RTjdFqO3qKL6+HHU03oR4Al/2D4e1pa3v2wB4J/pvlyC+H/tpRLON+Rljc3jFcIL8XXI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1634630935; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=gwQm346tg2kuOKKfhduP0sZdkMbP16MeDU50RjxBelg=; b=do78zZWaS5mLe9O5Viy1Ekb6AGulyPn5kqAYIyrDK+CZgEoRg/6WHqYyU8NzWvlkiZXPL+sjI3NQXN120EdOpMMbHF7NfFQv7bmHaxUZc6zfJEK7viy/PmqUB4rPZUA2gJ8Sl3ISV2ICKATe3iQT146Q/qtEoMKgHebVXxaUEqk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82303+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1634630935022976.7786483754946; Tue, 19 Oct 2021 01:08:55 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id cD7zYY1788612xkNCdGaNJMg; Tue, 19 Oct 2021 01:08:54 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web08.6726.1634630933652055513 for ; Tue, 19 Oct 2021 01:08:54 -0700 X-Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-57-3Vs4ZFvQNFaSyaQ8gr7QzA-1; Tue, 19 Oct 2021 04:08:48 -0400 X-MC-Unique: 3Vs4ZFvQNFaSyaQ8gr7QzA-1 X-Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0710180363B; Tue, 19 Oct 2021 08:08:47 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 30FCC1002D6A; Tue, 19 Oct 2021 08:08:44 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 4A1BD180060F; Tue, 19 Oct 2021 10:08:32 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann , Jiewen Yao , Jordan Justen , Ard Biesheuvel Subject: [edk2-devel] [PATCH 3/6] OvmfPkg/PlatformCI: add BhyveBuild.py Date: Tue, 19 Oct 2021 10:08:29 +0200 Message-Id: <20211019080832.265545-4-kraxel@redhat.com> In-Reply-To: <20211019080832.265545-1-kraxel@redhat.com> References: <20211019080832.265545-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: aKfaknJL4WkmHfzvaK1FVUmAx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1634630934; bh=kCwv95S8G51lOU7ZDCgfrfquA7CQW6zQMtdzm4Cnh+Y=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=pTwl0aIdFwJKqxJnx1OU3B5qP6Dij1tuFCZ+n2e0l1qlbisCxrhUrSTyriTyZfuQh8n GeEt01jFHZVUoxGTh8nDEhUEWN8bw+ZU6e7U6Lh6jAL+0Y+VK8cJ4ol6mdxhUu9Mnw7u2 QZlWAF7At+3gYHYj4LtXEx5Fgu/YD4nWsL4= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1634630936473100006 Content-Type: text/plain; charset="utf-8" Add build test for OvmfPkg/Bhyve. Signed-off-by: Gerd Hoffmann Acked-by: Ard Biesheuvel --- .../.azurepipelines/Ubuntu-GCC5.yml | 9 +++++ OvmfPkg/PlatformCI/BhyveBuild.py | 37 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 OvmfPkg/PlatformCI/BhyveBuild.py diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/OvmfPkg/P= latformCI/.azurepipelines/Ubuntu-GCC5.yml index 7117b86b8177..cc37a2be8f93 100644 --- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml +++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml @@ -113,6 +113,15 @@ jobs: Build.Target: "NOOPT" Run.Flags: $(run_flags) Run: $(should_run) + + BHYVE_X64_DEBUG: + Build.File: "$(package)/PlatformCI/BhyveBuild.py" + Build.Arch: "X64" + Build.Flags: "" + Build.Target: "DEBUG" + # this build is for freebsd bhyve not qemu-kvm + Run.Flags: "QEMU_SKIP=3DTRUE" + Run: $(should_run) workspace: clean: all =20 diff --git a/OvmfPkg/PlatformCI/BhyveBuild.py b/OvmfPkg/PlatformCI/BhyveBui= ld.py new file mode 100644 index 000000000000..dd5bfe6661cf --- /dev/null +++ b/OvmfPkg/PlatformCI/BhyveBuild.py @@ -0,0 +1,37 @@ +# @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.join(os.getcwd(), 'OvmfPkg', 'PlatformCI')) +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 =3D ("OvmfPkg",) + ArchSupported =3D ("X64",) + TargetsSupported =3D ("DEBUG", "RELEASE", "NOOPT") + Scopes =3D ('ovmf', 'edk2-build') + WorkspaceRoot =3D os.path.realpath(os.path.join( + os.path.dirname(os.path.abspath(__file__)), "..", "..")) + + @classmethod + def GetDscName(cls, ArchCsv: str) -> str: + ''' return the DSC given the architectures requested. + + ArchCsv: csv string containing all architectures to build + ''' + return "Bhyve/BhyveX64.dsc" + +import PlatformBuildLib +PlatformBuildLib.CommonPlatform =3D CommonPlatform --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#82303): https://edk2.groups.io/g/devel/message/82303 Mute This Topic: https://groups.io/mt/86435030/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sat Apr 27 23:11:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+82302+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82302+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1634630932; cv=none; d=zohomail.com; s=zohoarc; b=Df+N9WcxNDcfvr3h6ovVANarsQ2mDu5phZDHbjKYu3pSo72C9AHUDxo+77SXxpqDM3YrFxu/P8LpDcG8Ec0S42Enfu8aw53L65p1ZqmHc4a0acrmG7CQBhKhAEcV2ES9eY9jSf0gANT7qZufLwWDc1zqInwWCvL5t70KnHCB3ME= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1634630932; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=ajHSn1DYkGxiUZBsvRWjrZUJp675xlKzmUjCTzKNlxw=; b=K+7Y4rqgpQHD8qGgQwtZYcy+f6qgRHteVhyCVkW4gLNhBdTV9O0wW2w20GAWF3NPBGeYcxpiO7vIsyU1dp9wt2w6HO4XcTU5NDfF7Q3GLULSIdvqRwRbD/uPfjRgH4qqseM2jdlwkHTnzPUXJtpLgEcLJDmePSVhoqW5H0ja3n4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82302+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1634630932989817.3598327304223; Tue, 19 Oct 2021 01:08:52 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id PnMAYY1788612xg7r4a799bk; Tue, 19 Oct 2021 01:08:52 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.groups.io with SMTP id smtpd.web12.6698.1634630931938041182 for ; Tue, 19 Oct 2021 01:08:52 -0700 X-Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-590-eLA2guwrPTyoDOAV1zafrQ-1; Tue, 19 Oct 2021 04:08:48 -0400 X-MC-Unique: eLA2guwrPTyoDOAV1zafrQ-1 X-Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AC47610A8E00; Tue, 19 Oct 2021 08:08:47 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D541560BF1; Tue, 19 Oct 2021 08:08:44 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 4CCAE180063D; Tue, 19 Oct 2021 10:08:32 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann , Jiewen Yao , Jordan Justen , Ard Biesheuvel Subject: [edk2-devel] [PATCH 4/6] OvmfPkg/PlatformCI: add MicrovmBuild.py Date: Tue, 19 Oct 2021 10:08:30 +0200 Message-Id: <20211019080832.265545-5-kraxel@redhat.com> In-Reply-To: <20211019080832.265545-1-kraxel@redhat.com> References: <20211019080832.265545-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: wfZH48bYxcTlya2wWtdH3VwRx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1634630932; bh=rlmw8p300OMrtJlJ3/PCVBD5vB9r1FIct32J5+37UgY=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=fpPfEnL2KuJRWJr/DN7Z0P5Wj4Q2Df0NzdhgvC2KChabMHH1Qb5rNqkvHIug448kLmT bdCb8jxVyFt/bugmk9chtn+sjftDfrwzGcRXOlKH3Uo0IIJGM13HoMpLOS3YztITJoWZQ pPPu6zNCvUpCkWwd6S+YfE/8XFT0el4cjOw= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1634630934292100001 Content-Type: text/plain; charset="utf-8" Add build test for OvmfPkg/Microvm. Signed-off-by: Gerd Hoffmann Acked-by: Ard Biesheuvel --- .../.azurepipelines/Ubuntu-GCC5.yml | 10 +++++ OvmfPkg/PlatformCI/MicrovmBuild.py | 37 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 OvmfPkg/PlatformCI/MicrovmBuild.py diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/OvmfPkg/P= latformCI/.azurepipelines/Ubuntu-GCC5.yml index cc37a2be8f93..cd7eaae54ec7 100644 --- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml +++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml @@ -122,6 +122,16 @@ jobs: # this build is for freebsd bhyve not qemu-kvm Run.Flags: "QEMU_SKIP=3DTRUE" Run: $(should_run) + + MICROVM_X64_DEBUG: + Build.File: "$(package)/PlatformCI/MicrovmBuild.py" + Build.Arch: "X64" + Build.Flags: "" + Build.Target: "DEBUG" + # no storage supported by microvm build + # can't boot to uefi shell -> skip test + Run.Flags: "QEMU_SKIP=3DTRUE" + Run: $(should_run) workspace: clean: all =20 diff --git a/OvmfPkg/PlatformCI/MicrovmBuild.py b/OvmfPkg/PlatformCI/Microv= mBuild.py new file mode 100644 index 000000000000..c397837e6e5e --- /dev/null +++ b/OvmfPkg/PlatformCI/MicrovmBuild.py @@ -0,0 +1,37 @@ +# @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.join(os.getcwd(), 'OvmfPkg', 'PlatformCI')) +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 =3D ("OvmfPkg",) + ArchSupported =3D ("X64",) + TargetsSupported =3D ("DEBUG", "RELEASE", "NOOPT") + Scopes =3D ('ovmf', 'edk2-build') + WorkspaceRoot =3D os.path.realpath(os.path.join( + os.path.dirname(os.path.abspath(__file__)), "..", "..")) + + @classmethod + def GetDscName(cls, ArchCsv: str) -> str: + ''' return the DSC given the architectures requested. + + ArchCsv: csv string containing all architectures to build + ''' + return "Microvm/MicrovmX64.dsc" + +import PlatformBuildLib +PlatformBuildLib.CommonPlatform =3D CommonPlatform --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#82302): https://edk2.groups.io/g/devel/message/82302 Mute This Topic: https://groups.io/mt/86435029/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sat Apr 27 23:11:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+82304+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82304+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1634630936; cv=none; d=zohomail.com; s=zohoarc; b=YDcGiOuB2JaQkxVe7Yu5O3vAAgV+A8y0CmYZEhmYV2rkkKEknC3V7coz8OTlWhXgc/mSVaDxh+udgbgTMyl9Mki9QfhHRAsfgXUkDgLYNrdMxbgWEIYsW0/L81+a0ZcxaUEUdw/O5hOTgH+DiJ+MsvKVWgLePjaF27dszkObDEs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1634630936; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=4s+43XtZ6LobDnfO2Bty+3pDcATqjZ9dBZaKJWLrQkI=; b=c/WQgoqs4phLws6osivPIcVQMKSIUjUm/Q9Gr9H4Upw6GReHtqafZS3nzeNsaVSuTIa9/A+oAQFrpuKZdIWLGdp04/MKbAoGkZq56IIGLm1nJSo8gPGFQ5aCF93wCC6jWo5+5UdhI642CH6ffk5QLBtrJVrlFXBNXqq13Bf2gaY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82304+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1634630936730218.65643597130645; Tue, 19 Oct 2021 01:08:56 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id lWO5YY1788612xtsFXYflr6m; Tue, 19 Oct 2021 01:08:56 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.groups.io with SMTP id smtpd.web09.6736.1634630935188721920 for ; Tue, 19 Oct 2021 01:08:55 -0700 X-Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-355-ptgrkMpWNBOU7QhHBA07ZQ-1; Tue, 19 Oct 2021 04:08:50 -0400 X-MC-Unique: ptgrkMpWNBOU7QhHBA07ZQ-1 X-Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id ED78910A8E04; Tue, 19 Oct 2021 08:08:48 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B3B3B1002D6A; Tue, 19 Oct 2021 08:08:48 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 4F8531800796; Tue, 19 Oct 2021 10:08:32 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann , Jiewen Yao , Jordan Justen , Ard Biesheuvel Subject: [edk2-devel] [PATCH 5/6] OvmfPkg/PlatformCI: add AmdSevBuild.py Date: Tue, 19 Oct 2021 10:08:31 +0200 Message-Id: <20211019080832.265545-6-kraxel@redhat.com> In-Reply-To: <20211019080832.265545-1-kraxel@redhat.com> References: <20211019080832.265545-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: QHXAG9XvFTpywrAUtovhQC0kx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1634630936; bh=HZ/yrucQe54dKkSfET6whiilzWwMwZBIBdGjEwNdNfA=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=TFw9uWzGMKVO9HXv15ANnx4VNS+WRkmMHgGq/IBXVpKpWdtfjx4rdl0ANHXqmy1nhb7 BrymxwXuXRCGB20js1VFB2zH2ga4jS5bbeKVbVIzuTsRnTjaU6fxsNNo1fXhPfIPRpV1a OGyAqhoTr/Q8oRh7LsksPrvn2bg8OOdJtuw= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1634630938661100009 Content-Type: text/plain; charset="utf-8" Add build test for OvmfPkg/AmdSev. Signed-off-by: Gerd Hoffmann Acked-by: Ard Biesheuvel --- .../.azurepipelines/Ubuntu-GCC5.yml | 10 +++++ OvmfPkg/PlatformCI/AmdSevBuild.py | 37 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 OvmfPkg/PlatformCI/AmdSevBuild.py diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/OvmfPkg/P= latformCI/.azurepipelines/Ubuntu-GCC5.yml index cd7eaae54ec7..803bc8bbba6a 100644 --- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml +++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml @@ -114,6 +114,16 @@ jobs: Run.Flags: $(run_flags) Run: $(should_run) =20 + AMDSEV_X64_DEBUG: + Build.File: "$(package)/PlatformCI/AmdSevBuild.py" + Build.Arch: "X64" + Build.Flags: "" + Build.Target: "DEBUG" + # restricted + stripped down build + # can't boot to uefi shell -> skip test + Run.Flags: "QEMU_SKIP=3DTRUE" + Run: $(should_run) + BHYVE_X64_DEBUG: Build.File: "$(package)/PlatformCI/BhyveBuild.py" Build.Arch: "X64" diff --git a/OvmfPkg/PlatformCI/AmdSevBuild.py b/OvmfPkg/PlatformCI/AmdSevB= uild.py new file mode 100644 index 000000000000..7348a86e05a1 --- /dev/null +++ b/OvmfPkg/PlatformCI/AmdSevBuild.py @@ -0,0 +1,37 @@ +# @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.join(os.getcwd(), 'OvmfPkg', 'PlatformCI')) +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 =3D ("OvmfPkg",) + ArchSupported =3D ("X64",) + TargetsSupported =3D ("DEBUG", "RELEASE", "NOOPT") + Scopes =3D ('ovmf', 'edk2-build') + WorkspaceRoot =3D os.path.realpath(os.path.join( + os.path.dirname(os.path.abspath(__file__)), "..", "..")) + + @classmethod + def GetDscName(cls, ArchCsv: str) -> str: + ''' return the DSC given the architectures requested. + + ArchCsv: csv string containing all architectures to build + ''' + return "AmdSev/AmdSevX64.dsc" + +import PlatformBuildLib +PlatformBuildLib.CommonPlatform =3D CommonPlatform --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#82304): https://edk2.groups.io/g/devel/message/82304 Mute This Topic: https://groups.io/mt/86435031/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sat Apr 27 23:11:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+82305+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82305+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1634630937; cv=none; d=zohomail.com; s=zohoarc; b=PiKpaApvj3kOcA9lXfRX+xbWiZoDKihHxEYMuhPDiM7s+16BER5McaxLzHGdLRwk3B1a+udoiBhjrQ5ICQ2YgPxRRrcWOV3W+V9fGLaSjFmAkX0dfhVqSTPjKv5b+1tZWSjN0NUJgin7jTclZt9pxjX+YN+oFVaKzmWhqsnp/yQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1634630937; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=FbIJjEQUYPNbsnP3pIMx6PBalLsYnDG1a87iD+WyQPQ=; b=EI9aR8GX+9OOk9k55BgqfQO6YK94MkSA1qU6cMZQc+EkK+BuadoHBaiZ+R7HPQKsXAJoMiKYITF8cDA0qznvXL8TvHuHNjLeHKZM45uKaTcU8keHr9W7xsZusRxGCL7RXGET7fvUaFTizqpKiS/Fu5BxjlLW4sqVEPGVqDfxMpA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82305+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1634630937938197.59265449225848; Tue, 19 Oct 2021 01:08:57 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id s8HVYY1788612x1JwnlUa8P3; Tue, 19 Oct 2021 01:08:57 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.groups.io with SMTP id smtpd.web08.6727.1634630936810484358 for ; Tue, 19 Oct 2021 01:08:57 -0700 X-Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-285-tSwdnv-QNYitaGzt_eG8zw-1; Tue, 19 Oct 2021 04:08:50 -0400 X-MC-Unique: tSwdnv-QNYitaGzt_eG8zw-1 X-Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A8FBC18125C6; Tue, 19 Oct 2021 08:08:49 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7244A1981F; Tue, 19 Oct 2021 08:08:49 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 523661800866; Tue, 19 Oct 2021 10:08:32 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann , Jiewen Yao , Jordan Justen , Ard Biesheuvel Subject: [edk2-devel] [PATCH 6/6] OvmfPkg/PlatformCI: dummy grub.efi for AmdSev Date: Tue, 19 Oct 2021 10:08:32 +0200 Message-Id: <20211019080832.265545-7-kraxel@redhat.com> In-Reply-To: <20211019080832.265545-1-kraxel@redhat.com> References: <20211019080832.265545-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: zdfBMixAx4kbTnuxyNXtp5Oxx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1634630937; bh=RiVttm3ah/DylwdfRFrc8IdCZIjovp2qFT9F64eYEu0=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=WJCU8XE41fRD/7uJ35ie6E6wfFmljOCnc2qDfBly6VVQh7fzkrdt+myji5888oLr/PO lbSVIWVS5Tslv7WGhWDSBWtIh+rs9A1M6vg5ERtZunENYA9mvdtTulYY5HGzpFU6o8xzN sSpBX8+ZpNdbKpZpgsa1DFrXVPC1TXsYu0U= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1634630938781100013 Content-Type: text/plain; charset="utf-8" Building grub.efi for AmdSev is difficult because it depends on patches not yet merged to upstream grub. So shortcut the grub build by simply creating an empty grub.efi file. That allows to at least build-test the AmdSev variant. Signed-off-by: Gerd Hoffmann Acked-by: Ard Biesheuvel --- OvmfPkg/PlatformCI/AmdSevBuild.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OvmfPkg/PlatformCI/AmdSevBuild.py b/OvmfPkg/PlatformCI/AmdSevB= uild.py index 7348a86e05a1..4a38a2a5016a 100644 --- a/OvmfPkg/PlatformCI/AmdSevBuild.py +++ b/OvmfPkg/PlatformCI/AmdSevBuild.py @@ -6,6 +6,7 @@ ## import os import sys +import subprocess =20 sys.path.append(os.path.join(os.getcwd(), 'OvmfPkg', 'PlatformCI')) from PlatformBuildLib import SettingsManager @@ -35,3 +36,7 @@ class CommonPlatform(): =20 import PlatformBuildLib PlatformBuildLib.CommonPlatform =3D CommonPlatform + +# hack alert -- create dummy grub.efi +subprocess.run(['touch', 'OvmfPkg/AmdSev/Grub/grub.efi']) +subprocess.run(['ls', '-l', '--sort=3Dtime', 'OvmfPkg/AmdSev/Grub']) --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#82305): https://edk2.groups.io/g/devel/message/82305 Mute This Topic: https://groups.io/mt/86435032/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-