Re: [PATCH] .azurepipelines: Enable CI for OvmfPkg and EmulatorPkg
Laszlo Ersek
On 04/06/20 12:11, Ard Biesheuvel wrote:
On 4/5/20 8:39 AM, Sean via groups.io wrote:Thanks Sean!Platform and Core CI patches are ready for review. I have 14 commitsThanks Sean. This is all looking really good. I think this stuff is I've posted a patch for 2662, and commented on 2661. For the ArmVirtPkg "README-pytools.md" file, I have a superficial comment:Platform CI The "E1000_ENABLE" reference may not be the best example (I understand it's an example) with ArmVirtPkg, as E1000_ENABLE isn't actually used in the ArmVirtPkg DSC/FDF files. Thanks Laszlo
|
|
Re: [PATCH v2 23/28] NXP/LS1043aRdbPkg/ArmPlatformLib: Use Allocate pool
Leif Lindholm
+Ard
On Mon, Apr 06, 2020 at 15:26:45 +0000, Pankaj Bansal (OSS) wrote: Sure. This one was converted to AllocatePool because the QEMU virt-----Original Message-----I referred ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.c machine is very simple (because it does not emulate much real hardware) and the port rarely changes. Ard's what's your opinion - do you think this worth it even for a platform that has #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS 25 ? Clearly there is still wasteage going on, but it's 16% less bad. Whilst functionally preferable, I think that would make for verySecondly, while I don't necessarilyWe can improve this by evaluating ASSERT after each entry like this : tedious reading. I'll let Ard call this one. / Leif /
|
|
Re: [PATCH v2 21/28] Slicon/NXP: Add PlatformPei Lib
Leif Lindholm
OK, taking another look at this patch, this simply needs to be
toggle quoted messageShow quoted text
deleted. Here is the sum total relevant difference compared to the ArmPlatformPkg one. DEBUG ((DEBUG_INIT, "Edk2 version is %a\n", XPRINT (WORKSPACE_GIT_VERSION))); DEBUG ((DEBUG_INIT, "Edk2 platforms version is %a\n", XPRINT (PACKAGES_PATH_GIT_VERSION))); If all you want to do is to print that sort of thing, please don't fork a core library to do so. First of all, please do like most other platforms and override gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString if -D FIRMWARE_VER is specified on your build command line. You can then extract current top commits of your respective repositories and not worry about getting this. I would suggest iterating across all locations in PACKAGES_PATH and then doing something similar to https://git.linaro.org/uefi/uefi-tools.git/tree/edk2-build.sh#n400 appending together. If something like this should be integrated into the build system (which might not be a bad idea), then it needs to be so properly, rather than shoehorned in for each platform. (In the past, this was difficult because we supported both git and svn, but I would say we have given up pretending that is possible.) For now, you could add the printout in a standalone Depex TRUE PEIM added to your [FV.FVMAIN_COMPACT]. / Leif
On Mon, Apr 06, 2020 at 14:53:02 +0000, Pankaj Bansal (OSS) wrote:
-----Original Message-----OK, I can rename these to
|
|
Re: [PATCH] OvmfPkg: supply missing lib class declarations in the DEC file
Philippe Mathieu-Daudé <philmd@...>
On 4/7/20 12:05 PM, Laszlo Ersek wrote:
List the header files in the OvmfPkg DEC file for the following libReviewed-by: Philippe Mathieu-Daude <philmd@...> ---
|
|
Re: [PATCH] OvmfPkg: supply missing lib class declarations in the DEC file
Ard Biesheuvel
On 4/7/20 12:05 PM, Laszlo Ersek wrote:
List the header files in the OvmfPkg DEC file for the following libReviewed-by: Ard Biesheuvel <ard.biesheuvel@...> ---
|
|
[PATCH] OvmfPkg: supply missing lib class declarations in the DEC file
Laszlo Ersek
List the header files in the OvmfPkg DEC file for the following lib
classes: - MemEncryptSevLib (one instance: BaseMemEncryptSevLib) - PlatformFvbLib (two instances: EmuVariableFvbLib, PlatformFvbLibNull) - VirtioLib (one instance: VirtioLib) - VirtioMmioDeviceLib (one instance: VirtioMmioDeviceLib) Cc: Ard Biesheuvel <ard.biesheuvel@...> Cc: Jordan Justen <jordan.l.justen@...> Cc: Philippe Mathieu-Daudé <philmd@...> Cc: Sean Brogan <sean.brogan@...> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2662 Signed-off-by: Laszlo Ersek <lersek@...> --- Notes: Repo: https://pagure.io/lersek/edk2.git Branch: lib_classes_bz_2662 OvmfPkg/OvmfPkg.dec | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec index eae4d5e7ab42..28030391cff2 100644 --- a/OvmfPkg/OvmfPkg.dec +++ b/OvmfPkg/OvmfPkg.dec @@ -22,6 +22,10 @@ [LibraryClasses] # LoadLinuxLib|Include/Library/LoadLinuxLib.h + ## @libraryclass Declares helper functions for Secure Encrypted + # Virtualization (SEV) guests. + MemEncryptSevLib|Include/Library/MemEncryptSevLib.h + ## @libraryclass Save and restore variables using a file # NvVarsFileLib|Include/Library/NvVarsFileLib.h @@ -45,6 +49,9 @@ [LibraryClasses] # return codes, to the UEFI console. PlatformBmPrintScLib|Include/Library/PlatformBmPrintScLib.h + ## @libraryclass Customize FVB2 protocol member functions for a platform. + PlatformFvbLib|Include/Library/PlatformFvbLib.h + ## @libraryclass Access QEMU's firmware configuration interface # QemuFwCfgLib|Include/Library/QemuFwCfgLib.h @@ -67,6 +74,13 @@ [LibraryClasses] # SerializeVariablesLib|Include/Library/SerializeVariablesLib.h + ## @libraryclass Declares utility functions for virtio device drivers. + VirtioLib|Include/Library/VirtioLib.h + + ## @libraryclass Install Virtio Device Protocol instances on virtio-mmio + # transports. + VirtioMmioDeviceLib|Include/Library/VirtioMmioDeviceLib.h + ## @libraryclass Invoke Xen hypercalls # XenHypercallLib|Include/Library/XenHypercallLib.h -- 2.19.1.3.g30247aa5d201
|
|
[PATCH] EmulatorPkg: Add MagicPageLib header file declaration.
Guomin Jiang
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2663
Add the public header file declaration. Cc: Jordan Justen <jordan.l.justen@...> Cc: Andrew Fish <afish@...> Cc: Ray Ni <ray.ni@...> Signed-off-by: Guomin Jiang <guomin.jiang@...> --- EmulatorPkg/EmulatorPkg.dec | 1 + 1 file changed, 1 insertion(+) diff --git a/EmulatorPkg/EmulatorPkg.dec b/EmulatorPkg/EmulatorPkg.dec index 99250d9fe5..27d8b2be4e 100644 --- a/EmulatorPkg/EmulatorPkg.dec +++ b/EmulatorPkg/EmulatorPkg.dec @@ -27,6 +27,7 @@ KeyMap|Include/Library/KeyMapLib.h=0D PpiListLib|Include/Library/PpiListLib.h=0D SmbiosLib|Include/Library/SmbiosLib.h=0D + EmuMagicPageLib|Include/Library/EmuMagicPageLib.h=0D =0D [Protocols]=0D gEmuThunkProtocolGuid =3D { 0x5CF32E0B, 0x8EDF, 0x2E44, { 0x9C,= 0xDA, 0x93, 0x20, 0x5E, 0x99, 0xEC, 0x1C } }=0D --=20 2.25.1.windows.1
|
|
Re: [PATCH 0/4] remove generation of EFI properties table
Ard Biesheuvel
On 4/7/20 9:27 AM, Wang, Jian J via groups.io wrote:
Ard,Thanks all. Merged into edk2/master.
|
|
Re: [EXT] Re: [PATCH 1/1] EmbeddedPkg/MmcDxe: Added MaxBlock Transfer Limit 65535 in R/W.
Loh, Tien Hock
Hi Leif, Gaurav,
toggle quoted messageShow quoted text
The changes look good to me, but I haven't tested it on Intel's SoCFPGA platform. I will need some time to test it as I'm working on some other tasks, maybe in a week or so. Thanks
-----Original Message-----
|
|
Re: [PATCH] .azurepiplines/pr-gate-steps.yml: Update python to 3.8.x for ci build
Liming Gao
Reviewed-by: Liming Gao <liming.gao@...>
toggle quoted messageShow quoted text
-----Original Message-----
|
|
Re: [PATCH] pip-requirements.txt: Update extensions min version to 0.13.3
Liming Gao
Reviewed-by: Liming Gao <liming.gao@...>
toggle quoted messageShow quoted text
-----Original Message-----
|
|
Re: [PATCH 0/4] remove generation of EFI properties table
Wang, Jian J
Ard,
toggle quoted messageShow quoted text
My apologies. I was indeed working desperately to catch some deadlines recently. I agree to remove the properties table. For the whole series, Reviewed-by: Jian J Wang <jian.j.wang@...> Regards, Jian
-----Original Message-----
|
|
Re: [EXT] Re: [PATCH 1/1] EmbeddedPkg/MmcDxe: Added MaxBlock Transfer Limit 65535 in R/W.
Gaurav Jain
toggle quoted messageShow quoted text
-----Original Message-----Hello Ard This change is for existing Platforms as well, that are using EmbeddedPkg driver. I can see Max Block Transfer Limit in MdeModulePkg also. This Limit is not defined in EmbeddedPkg, which is causing errors on NXP existing platform While reading Large images from MMC. Block transfer limit is defined in SD spec. Regards Gaurav Jain ++++++++++++++++++++--------------
|
|
[PATCH] BaseTools/WindowsVsToolChain.py: Update toolchain plugin
Zhang, Shenglei
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2659
Allow WindowsVsToolChain Plugin to add libraries and headers of user defined ARCH for VS2017 and VS2019. Cc: Bob Feng <bob.c.feng@...> Cc: Liming Gao <liming.gao@...> Signed-off-by: Shenglei Zhang <shenglei.zhang@...> --- .../WindowsVsToolChain/WindowsVsToolChain.py | 73 ++++++++++++++++--- 1 file changed, 62 insertions(+), 11 deletions(-) diff --git a/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py b/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py index c9279e1c75b5..0fba2c1b5325 100644 --- a/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py +++ b/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py @@ -13,6 +13,7 @@ import edk2toollib.windows.locate_tools as locate_tools from edk2toollib.windows.locate_tools import FindWithVsWhere from edk2toolext.environment import shell_environment from edk2toolext.environment import version_aggregator +from edk2toollib.utility_functions import GetHostInfo class WindowsVsToolChain(IUefiBuildPlugin): @@ -26,14 +27,41 @@ class WindowsVsToolChain(IUefiBuildPlugin): "UCRTVersion", "WindowsLibPath", "WindowsSdkBinPath", "WindowsSdkDir", "WindowsSdkVerBinPath", "WindowsSDKVersion", "VCToolsInstallDir", "Path"] -# + # # VS2017 - Follow VS2017 where there is potential for many versions of the tools. # If a specific version is required then the user must set both env variables: # VS150INSTALLPATH: base install path on system to VC install dir. Here you will find the VC folder, etc # VS150TOOLVER: version number for the VC compiler tools # VS2017_PREFIX: path to MSVC compiler folder with trailing slash (can be used instead of two vars above) + # VS2017_HOST: set the host architecture to use for host tools, and host libs, etc if thebuilder.env.GetValue("TOOL_CHAIN_TAG") == "VS2017": + # check to see if host is configured + # HostType for VS2017 should be (defined in tools_def): + # x86 == 32bit Intel + # x64 == 64bit Intel + # arm == 32bit Arm + # arm64 == 64bit Arm + # + HostType = shell_environment.GetEnvironment().get_shell_var("VS2017_HOST") + if HostType is not None: + HostType = HostType.lower() + self.Logger.info( + f"HOST TYPE defined by environment. Host Type is {HostType}") + else: + HostInfo = GetHostInfo() + if HostInfo.arch == "x86": + if HostInfo.bit == "32": + HostType = "x86" + elif HostInfo.bit == "64": + HostType = "x64" + else: + raise NotImplementedError() + + # VS2017_HOST options are not exactly the same as QueryVcVariables. This translates. + VC_HOST_ARCH_TRANSLATOR = { + "x86": "x86", "x64": "AMD64", "arm": "not supported", "arm64": "not supported"} + # check to see if full path already configured if shell_environment.GetEnvironment().get_shell_var("VS2017_PREFIX") != None: self.Logger.info("VS2017_PREFIX is already set.") @@ -58,16 +86,14 @@ class WindowsVsToolChain(IUefiBuildPlugin): "Tools", "MSVC", vc_ver) prefix = prefix + os.path.sep shell_environment.GetEnvironment().set_shell_var("VS2017_PREFIX", prefix) + shell_environment.GetEnvironment().set_shell_var("VS2017_HOST", HostType) shell_env = shell_environment.GetEnvironment() # Use the tools lib to determine the correct values for the vars that interest us. vs_vars = locate_tools.QueryVcVariables( - interesting_keys, "amd64", vs_version="vs2017") + interesting_keys, VC_HOST_ARCH_TRANSLATOR[HostType], vs_version="vs2017") for (k, v) in vs_vars.items(): - if k.upper() == "PATH": - shell_env.insert_path(v) - else: - shell_env.set_shell_var(k, v) + shell_env.set_shell_var(k, v) # now confirm it exists if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("VS2017_PREFIX")): @@ -80,8 +106,35 @@ class WindowsVsToolChain(IUefiBuildPlugin): # VS160INSTALLPATH: base install path on system to VC install dir. Here you will find the VC folder, etc # VS160TOOLVER: version number for the VC compiler tools # VS2019_PREFIX: path to MSVC compiler folder with trailing slash (can be used instead of two vars above) + # VS2017_HOST: set the host architecture to use for host tools, and host libs, etc elif thebuilder.env.GetValue("TOOL_CHAIN_TAG") == "VS2019": + # check to see if host is configured + # HostType for VS2019 should be (defined in tools_def): + # x86 == 32bit Intel + # x64 == 64bit Intel + # arm == 32bit Arm + # arm64 == 64bit Arm + # + HostType = shell_environment.GetEnvironment().get_shell_var("VS2019_HOST") + if HostType is not None: + HostType = HostType.lower() + self.Logger.info( + f"HOST TYPE defined by environment. Host Type is {HostType}") + else: + HostInfo = GetHostInfo() + if HostInfo.arch == "x86": + if HostInfo.bit == "32": + HostType = "x86" + elif HostInfo.bit == "64": + HostType = "x64" + else: + raise NotImplementedError() + + # VS2019_HOST options are not exactly the same as QueryVcVariables. This translates. + VC_HOST_ARCH_TRANSLATOR = { + "x86": "x86", "x64": "AMD64", "arm": "not supported", "arm64": "not supported"} + # check to see if full path already configured if shell_environment.GetEnvironment().get_shell_var("VS2019_PREFIX") != None: self.Logger.info("VS2019_PREFIX is already set.") @@ -106,16 +159,14 @@ class WindowsVsToolChain(IUefiBuildPlugin): "Tools", "MSVC", vc_ver) prefix = prefix + os.path.sep shell_environment.GetEnvironment().set_shell_var("VS2019_PREFIX", prefix) + shell_environment.GetEnvironment().set_shell_var("VS2019_HOST", HostType) shell_env = shell_environment.GetEnvironment() # Use the tools lib to determine the correct values for the vars that interest us. vs_vars = locate_tools.QueryVcVariables( - interesting_keys, "amd64", vs_version="vs2019") + interesting_keys, VC_HOST_ARCH_TRANSLATOR[HostType], vs_version="vs2019") for (k, v) in vs_vars.items(): - if k.upper() == "PATH": - shell_env.insert_path(v) - else: - shell_env.set_shell_var(k, v) + shell_env.set_shell_var(k, v) # now confirm it exists if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("VS2019_PREFIX")): -- 2.18.0.windows.1
|
|
[PATCH] .azurepiplines/pr-gate-steps.yml: Update python to 3.8.x for ci build
Zhang, Shenglei
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2617
Update edk2 build and test ci to use Python 3.8.x Cc: Sean Brogan <sean.brogan@...> Cc: Bret Barkelew <Bret.Barkelew@...> Cc: Michael D Kinney <michael.d.kinney@...> Cc: Liming Gao <liming.gao@...> Signed-off-by: Shenglei Zhang <shenglei.zhang@...> --- .azurepipelines/templates/pr-gate-steps.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azurepipelines/templates/pr-gate-steps.yml b/.azurepipelines/templates/pr-gate-steps.yml index a969661dea15..8c4ad4e2efe6 100644 --- a/.azurepipelines/templates/pr-gate-steps.yml +++ b/.azurepipelines/templates/pr-gate-steps.yml @@ -20,7 +20,7 @@ steps: - task: UsePythonVersion@0 inputs: - versionSpec: '3.7.x' + versionSpec: '3.8.x' architecture: 'x64' - script: pip install -r pip-requirements.txt --upgrade -- 2.18.0.windows.1
|
|
[PATCH] pip-requirements.txt: Update extensions min version to 0.13.3
Zhang, Shenglei
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2616
Pytool extensions are locked on 0.12.x but extensions has moved to 0.13.x. So update the pip-requirements.txt. Cc: Sean Brogan <sean.brogan@...> Cc: Bret Barkelew <Bret.Barkelew@...> Cc: Michael D Kinney <michael.d.kinney@...> Cc: Liming Gao <liming.gao@...> Signed-off-by: Shenglei Zhang <shenglei.zhang@...> --- pip-requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pip-requirements.txt b/pip-requirements.txt index 6a41a95ec594..574dac43b1a6 100644 --- a/pip-requirements.txt +++ b/pip-requirements.txt @@ -9,8 +9,8 @@ # https://pypi.org/project/pip/ # https://pip.pypa.io/en/stable/user_guide/#requirements-files # https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format -# +# https://www.python.org/dev/peps/pep-0440/#version-specifiers ## edk2-pytool-library==0.10.* -edk2-pytool-extensions==0.12.* +edk2-pytool-extensions~=0.13.3 -- 2.18.0.windows.1
|
|
Re: [PATCH] BaseTools/Scripts: Add scripts to set PACKAGES_PATH environment
Sean
Bob and Ray,
My point isn't that there is anything wrong with script. This script is designed to work with edk2-platforms repo or other repos of similar layout. This is a "platform" thing that is needed on some platforms (not edk2 core platforms). To me this means it does't belong in edk2 repo. Anytime new functionality is proposed I think it is important to evaluate the stakeholders of the given repository that is targeted and make sure the functionality is aligned. In my opinion when edk2 get too prescriptive about how to do things outside of edk2 or tries to prematurely provide functionality for all consumers to use then we often see this overhead added to the tree and low adoption rate. I would propose to add this to edk2-platforms since that is where this is needed and build up a nice "platform" design pattern. If it provides great value then talk about moving up in the repository stack. Finally, I know this is a trivial and small script. The overhead is minimal but i see this as a barometer for how the community aligns to support all isn't consumers. Many of us have to maintain forks with significant changes because edk2 carries too many prescriptive ideas. I want to push Tianocore to have better alignment with different repositories, their functionality and focus. I want to see downstream consumers spend less time maintaining their fork and shipping code more closely aligned with the open source edk2. thanks Sean
|
|
Re: [PATCH] BaseTools/Scripts: Add scripts to set PACKAGES_PATH environment
Bob Feng
Hi Sean,
That the Basetools works correctly depends on the PACAKGES_PATH is set correctly. I think this patch provides common function and provides assistance for the Basetools.
Thanks, Bob
From: Ni, Ray
Sent: Tuesday, April 7, 2020 10:16 AM To: devel@edk2.groups.io; sean.brogan@...; Luo, Heng <heng.luo@...> Cc: Feng, Bob C <bob.c.feng@...> Subject: RE: [edk2-devel] [PATCH] BaseTools/Scripts: Add scripts to set PACKAGES_PATH environment
Sean, PyTools is good. This patch is to support those platforms that haven’t adopted PyTools for their platform build.
Thanks, Ray
From: devel@edk2.groups.io <devel@edk2.groups.io>
On Behalf Of Sean via groups.io
I am not a fan of this. The community and design meetings have had a few discussions about tools (PyTools has been presented twice) and a few brief discussions about common patterns to build platforms but I don't think there is real alignment.
Each "platform" has its own way of doing things.
|
|
Re: [PATCH] EmulatorPkg/WinHost: Add link flags for VS2019 tool chains.
Guomin Jiang
Hi Justen, Andrew, Ray,
toggle quoted messageShow quoted text
Could you help review the changes. Best Regards Guomin
-----Original Message-----
|
|
Re: [PATCH] BaseTools/Scripts: Add scripts to set PACKAGES_PATH environment
Ni, Ray
Sean, PyTools is good. This patch is to support those platforms that haven’t adopted PyTools for their platform build.
Thanks, Ray
From: devel@edk2.groups.io <devel@edk2.groups.io>
On Behalf Of Sean via groups.io
Sent: Thursday, April 2, 2020 11:59 PM To: Luo, Heng <heng.luo@...>; devel@edk2.groups.io Subject: Re: [edk2-devel] [PATCH] BaseTools/Scripts: Add scripts to set PACKAGES_PATH environment
I am not a fan of this. The community and design meetings have had a few discussions about tools (PyTools has been presented twice) and a few brief discussions about common patterns to build platforms but I don't think there is real alignment.
Each "platform" has its own way of doing things.
|
|