Date   

Re: UefiPayloadPkg: assert error in PeiPcdLib

King Sumo
 

On Fri, Aug 20, 2021 at 04:52 PM, Andrew Fish wrote:


If you move gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress back to being a
compile time constant (location in the DSC file matters) that might get you
past your ASSERT as a work around?
Yes, it works. Moved from PcdsDynamicDefault to PcdsFixedAtBuild and added hardcoded values.
I think Ray Ni <ray.ni@intel.com> must be contacted to provide a fix...
The build is done using:
build -a IA32 -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -t GCC5 -D BOOTLOADER=COREBOOT
(IA32 is also required for coreboot)

Perhaps the issue is related to the IA32 target? Calling PcdSet64S() is allowed?
./UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c:
if (GuidHob != NULL) {
AcpiBoardInfo = (ACPI_BOARD_INFO *)GET_GUID_HOB_DATA (GuidHob);
Status = PcdSet64S (PcdPciExpressBaseAddress, AcpiBoardInfo->PcieBaseAddress);
ASSERT_EFI_ERROR (Status);
Status = PcdSet64S (PcdPciExpressBaseSize, AcpiBoardInfo->PcieBaseSize);
ASSERT_EFI_ERROR (Status);
}

Thanks,
Sumo


Re: UefiPayloadPkg: assert error in PeiPcdLib

Andrew Fish
 

On Aug 20, 2021, at 2:18 PM, King Sumo <kingsumos@gmail.com> wrote:

Hi,

If I revert the patch I can see the log output from PayloadEntry(), e.g.:
GET_BOOTLOADER_PARAMETER() = 0x17F766000

But with the patch nothing else is shown in the log besides:
ASSERT_EFI_ERROR (Status = Not Found)
ASSERT [PeiCore]
/work/edk2/edk2-orig/MdePkg/Library/PeiPcdLib/PeiPcdLib.c(43): !EFI_ERROR

So looks like it's crashing before the PayloadEntry() call. In fact, according to PeiPcdLib.c:43 it fails to locate gPcdPpiGuid:
Status = PeiServicesLocatePpi (&gPcdPpiGuid, 0, NULL, (VOID **)&PcdPpi);
Maybe it's failling inside ./UefiPayloadPkg/UefiPayloadEntry/Ia32/SecEntry.nasm... pretty odd.

Any advices?
There is “build magic”(TM) around PCDs. There are different flavors of PCDs. PCDs can be build constants or looked up from a central database. The ASSERT is from the code trying to look something up. What flavor a PCD has is controlled by the platform build, so DSC file.

In yoru hash…
For: UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc

- gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|$(PCIE_BASE)

+ gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0

It looks like a PCD may have moved from a fixed at build (compile type constant) to something that needs to get looked up in the PCD database.

That PPI is usually produced by this PIEM:
MdeModulePkg/Universal/PCD/Pei/Pei.inf

Your ASSERT() is basically the above PEIM is missing.

If you move gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress back to being a compile time constant (location in the DSC file matters) that might get you past your ASSERT as a work around?

Thanks,

Andrew Fish

Thanks,
Sumo





Re: UefiPayloadPkg: assert error in PeiPcdLib

King Sumo
 

Hi,

If I revert the patch I can see the log output from PayloadEntry(), e.g.:
GET_BOOTLOADER_PARAMETER() = 0x17F766000

But with the patch nothing else is shown in the log besides:
ASSERT_EFI_ERROR (Status = Not Found)
ASSERT [PeiCore]
/work/edk2/edk2-orig/MdePkg/Library/PeiPcdLib/PeiPcdLib.c(43): !EFI_ERROR

So looks like it's crashing before the PayloadEntry() call. In fact, according to PeiPcdLib.c:43 it fails to locate gPcdPpiGuid:
Status = PeiServicesLocatePpi (&gPcdPpiGuid, 0, NULL, (VOID **)&PcdPpi);
Maybe it's failling inside ./UefiPayloadPkg/UefiPayloadEntry/Ia32/SecEntry.nasm... pretty odd.

Any advices?

Thanks,
Sumo


UefiPayloadPkg: assert error in PeiPcdLib

King Sumo
 

Hi,

Using coreboot 4.14 + UefiPayloadPkg the following error is shown:

ASSERT_EFI_ERROR (Status = Not Found)
ASSERT [PeiCore]
/work/edk2/edk2-orig/MdePkg/Library/PeiPcdLib/PeiPcdLib.c(43): !EFI_ERROR
(Status)


By doing a git bisect I found the following commit (doing a git revert
fixes the issue):
3900a63e3a UefiPayloadPkg/Pci: Use the PCIE Base Addr stored in
AcpiBoardInfo HOB

Basically this change gets the PCIe base address from the AcpiBoardInfo HOB.
I'm not sure if this AcpiBoardInfo HOB is really available for coreboot,
but the crash looks funny. It probably occurs while
setting PcdPciExpressBaseAddress or PcdPciExpressBaseSize (not sure, more
debug needed) but they are both defined...

Anyone run into the same problem?

Thanks,
Sumo


Re: Build failures Windows10, VS2019

Sean
 

Just to add yet another way and more info about how the CI does all this for every commit (I hate batch files and the junk in "edksetup")

If you follow this:
https://github.com/tianocore/edk2/tree/master/.pytool

You can build CI which will build and test packages like MdeModulePkg.dsc and others.

But there is one missing step between step 4 and Step 5.
You need to build the edk2 basetools. My preferred method is:

python BaseTools/Edk2ToolsBuild.py -t VS2019

If you want to build a platform like OVMF or EmulatorPkg they also have ReadMe.md files with pretty good details that include this required step.

https://github.com/tianocore/edk2/blob/master/EmulatorPkg/PlatformCI/ReadMe.md

Hope that helps.

Thanks
Sean

On 8/13/2021 10:44 AM, dss.v1.0@gmail.com wrote:
Friends,
Does anyone have a link to a single and consistent description of a build of edk2 starting from scratch on a new Windows 10 machine using the python BaseTools etc? The several recipes I have tried have all ultimately failed me.
Currently this is my breaking point:
```
(.venv)>edk2_build
Build environment: Windows-10-10.0.19042-SP0
Build start time: 13:29:22, Aug.13 2021
WORKSPACE = c:\users\dss\dev\mc\edk2
EDK_TOOLS_PATH = c:\users\dss\dev\mc\edk2\basetools
EDK_TOOLS_BIN = c:\users\dss\dev\mc\edk2\basetools\bin\win32
CONF_PATH = c:\users\dss\dev\mc\edk2\conf
PYTHON_COMMAND = py -3
Processing meta-data
Architecture(s) = X64
Build target = DEBUG
.Toolchain = VS2019
Active Platform = c:\users\dss\dev\mc\edk2\MdeModulePkg\MdeModulePkg.dsc
................
.
(many inf's built here)
.
.
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib.inf [X64]
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.20.27508\bin\Hostx86\x64\cl.exe" /showIncludes /nologo /E /TC /DVFRCOMPILE /FIPlatformVarCleanupLibStrDefs.h /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib /Ic:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\DEBUG /Ic:\users\dss\dev\mc\edk2\MdePkg /Ic:\users\dss\dev\mc\edk2\MdePkg\Include /Ic:\users\dss\dev\mc\edk2\MdePkg\Test\UnitTest\Include /Ic:\users\dss\dev\mc\edk2\MdePkg\Include\X64 /Ic:\users\dss\dev\mc\edk2\MdeModulePkg /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Include /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Library\BrotliCustomDecompressLib\brotli\c\include c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib\PlatVarCleanup.vfr > c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatVarCleanup.i
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\DxePrintLibPrint2Protocol\DxePrintLibPrint2Protocol.inf [X64]
PlatVarCleanup.vfr
"VfrCompile" -l -n --string-db c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatformVarCleanupLibStrDefs.hpk --output-directory c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\DEBUG\. c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatVarCleanup.i
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PeiReportStatusCodeLib\PeiReportStatusCodeLib.inf [X64]
'VfrCompile' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: '"VfrCompile' : return code '0x1'
Stop.
```
I have made a number of passes at it from various wiki's, README.rst's with no luck. Many months ago I chanced upon an install sequence that gave me a development workspace which would build .EFI apps, HelloWorld and such with some precompiled win32 basetools binaries. But that is now not reproducible.
Using the somewhat inconsistent instructions from the wiki, windows_build, https://pypi.org/project/edk2-basetools/ (which humorously explains edk2-basetools is not on pyPI, yes I see it was just added). I also looked at the CI implementation, but it is so containerized I could not glean my path through it. Mathew Carlsons repo and comments in discussions have moved me much closer to success than I was. But as seen above that was still not enough for me.
Anyhow, any help is appreciated.
thanks,
Dan


回复: [edk2-discuss] Build failures Windows10, VS2019

gaoliming
 

Have you full build log? You can check whether VfrCompile is compiled from
BaseTools source code or not.

Thanks
Liming
-----邮件原件-----
发件人: discuss@edk2.groups.io <discuss@edk2.groups.io> 代表 Matthew
Carlson via groups.io
发送时间: 2021年8月18日 20:59
收件人: discuss@edk2.groups.io; dss.v1.0@gmail.com
主题: Re: [edk2-discuss] Build failures Windows10, VS2019

Hello Dan,

VfrCompile is a c based barstools and should be compiled (I think edk2
setup
does this). Do you see that? I think it will be under
Basetools/Source/C/bin

https://github.com/tianocore/edk2/blob/master/BaseTools/Bin/CYGWIN_NT
-5.1-i686/VfrCompile



On Aug 13, 2021, at 12:44 PM, dss.v1.0@gmail.com wrote:

Friends,

Does anyone have a link to a single and consistent description of a
build of
edk2 starting from scratch on a new Windows 10 machine using the python
BaseTools etc? The several recipes I have tried have all ultimately failed
me.

Currently this is my breaking point:

```
(.venv)>edk2_build
Build environment: Windows-10-10.0.19042-SP0
Build start time: 13:29:22, Aug.13 2021

WORKSPACE = c:\users\dss\dev\mc\edk2
EDK_TOOLS_PATH = c:\users\dss\dev\mc\edk2\basetools
EDK_TOOLS_BIN = c:\users\dss\dev\mc\edk2\basetools\bin\win32
CONF_PATH = c:\users\dss\dev\mc\edk2\conf
PYTHON_COMMAND = py -3


Processing meta-data
Architecture(s) = X64
Build target = DEBUG
.Toolchain = VS2019

Active Platform =
c:\users\dss\dev\mc\edk2\MdeModulePkg\MdeModulePkg.dsc
................
.
(many inf's built here)
.
.
Building ...
c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib\Pl
atformVarCleanupLib.inf [X64]
"C:\Program Files (x86)\Microsoft Visual
Studio\2019\Professional\VC\Tools\MSVC\14.20.27508\bin\Hostx86\x64\cl.e
xe" /showIncludes /nologo /E /TC /DVFRCOMPILE
/FIPlatformVarCleanupLibStrDefs.h
/Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib
/Ic:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeM
odulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\DEBUG
/Ic:\users\dss\dev\mc\edk2\MdePkg
/Ic:\users\dss\dev\mc\edk2\MdePkg\Include
/Ic:\users\dss\dev\mc\edk2\MdePkg\Test\UnitTest\Include
/Ic:\users\dss\dev\mc\edk2\MdePkg\Include\X64
/Ic:\users\dss\dev\mc\edk2\MdeModulePkg
/Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Include
/Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Library\BrotliCustomDecompre
ssLib\brotli\c\include
c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib\Pl
atVarCleanup.vfr >
c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeMod
ulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatV
arCleanup.i
Building ...
c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\DxePrintLibPrint2Protocol
\DxePrintLibPrint2Protocol.inf [X64]
PlatVarCleanup.vfr
"VfrCompile" -l -n --string-db
c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeMod
ulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\Platf
ormVarCleanupLibStrDefs.hpk --output-directory
c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeMod
ulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\DEBUG\.
c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeMod
ulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatV
arCleanup.i
Building ...
c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PeiReportStatusCodeLib\
PeiReportStatusCodeLib.inf [X64]
'VfrCompile' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: '"VfrCompile' : return code '0x1'
Stop.
```

I have made a number of passes at it from various wiki's, README.rst's
with
no luck. Many months ago I chanced upon an install sequence that gave me a
development workspace which would build .EFI apps, HelloWorld and such
with some precompiled win32 basetools binaries. But that is now not
reproducible.

Using the somewhat inconsistent instructions from the wiki,
windows_build,
https://pypi.org/project/edk2-basetools/ (which humorously explains
edk2-basetools is not on pyPI, yes I see it was just added). I also looked
at the
CI implementation, but it is so containerized I could not glean my path
through
it. Mathew Carlsons repo and comments in discussions have moved me much
closer to success than I was. But as seen above that was still not enough
for
me.

Anyhow, any help is appreciated.
thanks,
Dan








Re: Build failures Windows10, VS2019

Matthew Carlson
 

Hello Dan,

VfrCompile is a c based barstools and should be compiled (I think edk2 setup does this). Do you see that? I think it will be under Basetools/Source/C/bin

https://github.com/tianocore/edk2/blob/master/BaseTools/Bin/CYGWIN_NT-5.1-i686/VfrCompile

On Aug 13, 2021, at 12:44 PM, dss.v1.0@gmail.com wrote:

Friends,

Does anyone have a link to a single and consistent description of a build of edk2 starting from scratch on a new Windows 10 machine using the python BaseTools etc? The several recipes I have tried have all ultimately failed me.

Currently this is my breaking point:

```
(.venv)>edk2_build
Build environment: Windows-10-10.0.19042-SP0
Build start time: 13:29:22, Aug.13 2021

WORKSPACE = c:\users\dss\dev\mc\edk2
EDK_TOOLS_PATH = c:\users\dss\dev\mc\edk2\basetools
EDK_TOOLS_BIN = c:\users\dss\dev\mc\edk2\basetools\bin\win32
CONF_PATH = c:\users\dss\dev\mc\edk2\conf
PYTHON_COMMAND = py -3


Processing meta-data
Architecture(s) = X64
Build target = DEBUG
.Toolchain = VS2019

Active Platform = c:\users\dss\dev\mc\edk2\MdeModulePkg\MdeModulePkg.dsc
................
.
(many inf's built here)
.
.
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib.inf [X64]
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.20.27508\bin\Hostx86\x64\cl.exe" /showIncludes /nologo /E /TC /DVFRCOMPILE /FIPlatformVarCleanupLibStrDefs.h /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib /Ic:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\DEBUG /Ic:\users\dss\dev\mc\edk2\MdePkg /Ic:\users\dss\dev\mc\edk2\MdePkg\Include /Ic:\users\dss\dev\mc\edk2\MdePkg\Test\UnitTest\Include /Ic:\users\dss\dev\mc\edk2\MdePkg\Include\X64 /Ic:\users\dss\dev\mc\edk2\MdeModulePkg /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Include /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Library\BrotliCustomDecompressLib\brotli\c\include c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib\PlatVarCleanup.vfr > c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatVarCleanup.i
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\DxePrintLibPrint2Protocol\DxePrintLibPrint2Protocol.inf [X64]
PlatVarCleanup.vfr
"VfrCompile" -l -n --string-db c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatformVarCleanupLibStrDefs.hpk --output-directory c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\DEBUG\. c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatVarCleanup.i
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PeiReportStatusCodeLib\PeiReportStatusCodeLib.inf [X64]
'VfrCompile' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: '"VfrCompile' : return code '0x1'
Stop.
```

I have made a number of passes at it from various wiki's, README.rst's with no luck. Many months ago I chanced upon an install sequence that gave me a development workspace which would build .EFI apps, HelloWorld and such with some precompiled win32 basetools binaries. But that is now not reproducible.

Using the somewhat inconsistent instructions from the wiki, windows_build, https://pypi.org/project/edk2-basetools/ (which humorously explains edk2-basetools is not on pyPI, yes I see it was just added). I also looked at the CI implementation, but it is so containerized I could not glean my path through it. Mathew Carlsons repo and comments in discussions have moved me much closer to success than I was. But as seen above that was still not enough for me.

Anyhow, any help is appreciated.
thanks,
Dan





Re: Build failures Windows10, VS2019

Andrew Fish
 

I’ve not built on Windows in a long time but ……

VfrCompile is a C tool from the BaseTools project. So it requires that you build the BaseTools, and have the BaseTools executables in your path.

From the root of your edk2 git tree you need to...

To build the C BaseTools you:
edksetup.bat Rebuild

To setup a terminal window for a build you need to:
edksetup.bat


If you are not modifying the build tools you only need to build the BaseTools if you update the source code for the BaseTools.
You need to run edksetup.bat once for your terminal window. It should setup the path for you, and you should be good.

Not sure what `edk2_build` does in your example.

Thanks,

Andrew Fish

On Aug 13, 2021, at 10:44 AM, dss.v1.0@gmail.com wrote:

Friends,

Does anyone have a link to a single and consistent description of a build of edk2 starting from scratch on a new Windows 10 machine using the python BaseTools etc? The several recipes I have tried have all ultimately failed me.

Currently this is my breaking point:

```
(.venv)>edk2_build
Build environment: Windows-10-10.0.19042-SP0
Build start time: 13:29:22, Aug.13 2021

WORKSPACE = c:\users\dss\dev\mc\edk2
EDK_TOOLS_PATH = c:\users\dss\dev\mc\edk2\basetools
EDK_TOOLS_BIN = c:\users\dss\dev\mc\edk2\basetools\bin\win32
CONF_PATH = c:\users\dss\dev\mc\edk2\conf
PYTHON_COMMAND = py -3


Processing meta-data
Architecture(s) = X64
Build target = DEBUG
.Toolchain = VS2019

Active Platform = c:\users\dss\dev\mc\edk2\MdeModulePkg\MdeModulePkg.dsc
................
.
(many inf's built here)
.
.
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib.inf [X64]
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.20.27508\bin\Hostx86\x64\cl.exe" /showIncludes /nologo /E /TC /DVFRCOMPILE /FIPlatformVarCleanupLibStrDefs.h /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib /Ic:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\DEBUG /Ic:\users\dss\dev\mc\edk2\MdePkg /Ic:\users\dss\dev\mc\edk2\MdePkg\Include /Ic:\users\dss\dev\mc\edk2\MdePkg\Test\UnitTest\Include /Ic:\users\dss\dev\mc\edk2\MdePkg\Include\X64 /Ic:\users\dss\dev\mc\edk2\MdeModulePkg /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Include /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Library\BrotliCustomDecompressLib\brotli\c\include c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib\PlatVarCleanup.vfr > c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatVarCleanup.i
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\DxePrintLibPrint2Protocol\DxePrintLibPrint2Protocol.inf [X64]
PlatVarCleanup.vfr
"VfrCompile" -l -n --string-db c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatformVarCleanupLibStrDefs.hpk --output-directory c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\DEBUG\. c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatVarCleanup.i
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PeiReportStatusCodeLib\PeiReportStatusCodeLib.inf [X64]
'VfrCompile' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: '"VfrCompile' : return code '0x1'
Stop.
```

I have made a number of passes at it from various wiki's, README.rst's with no luck. Many months ago I chanced upon an install sequence that gave me a development workspace which would build .EFI apps, HelloWorld and such with some precompiled win32 basetools binaries. But that is now not reproducible.

Using the somewhat inconsistent instructions from the wiki, windows_build, https://pypi.org/project/edk2-basetools/ (which humorously explains edk2-basetools is not on pyPI, yes I see it was just added). I also looked at the CI implementation, but it is so containerized I could not glean my path through it. Mathew Carlsons repo and comments in discussions have moved me much closer to success than I was. But as seen above that was still not enough for me.

Anyhow, any help is appreciated.
thanks,
Dan





Re: 回复: [edk2-discuss] edk2 build error

dss.v1.0@...
 

Are these instructions appropriate for building edk2 in general. I have been failing to get a simple non-emulating development build working? Every set of instructions from the top level readme from github has resulted in failure, usually because of a problem with BaseTools. I have tried several variations based on instructions for python BaseTools, both from pyPI and Mathew Carlson’s personal repo. Is the stuart_build only available for the CI environment? Why are the instructions from the main repo so incorrect?

I am starting with a clean Windows 10 machine and VS2019. I have installed all the prerequisite applications.

Thanks muchly,
Dan Sabo


Re: running lastest OVMF(secure boot+smm) with stock QEMU ( Ubintu 20.04)

alys.the.work@...
 

Dann, thank you for reply... but is was just my fault.
trying to run manually build OVMF, I used OVMF_VARS.ms.fd from ubuntu stock... and it seems they are different in format.
So when i replaced it with OVMF_VARS.fd generated during build, OVMF started smoothly.
i'm a newbie in this uefi questions...but may be there is must be a check of OVMF_CODE.fd is compatible with OVMF_VARS.fd?
else we see quite undefined behavior at start. - it says kinda - "graphics is not initialized" and hangs.
-alex


Re: running lastest OVMF(secure boot+smm) with stock QEMU ( Ubintu 20.04)

alys.the.work@...
 

People, forget about my this trouble.
I was just running the CODE section from fresh build, with VAR section from stock OVMF.
Obviously they could be different in structure, and seems it's happened.
when i've got VARS from fresh build, it starts smoothly.
and this script is working.


Build failures Windows10, VS2019

dss.v1.0@...
 

Friends,

Does anyone have a link to a single and consistent description of a build of edk2 starting from scratch on a new Windows 10 machine using the python BaseTools etc? The several recipes I have tried have all ultimately failed me.

Currently this is my breaking point:

```
(.venv)>edk2_build
Build environment: Windows-10-10.0.19042-SP0
Build start time: 13:29:22, Aug.13 2021

WORKSPACE = c:\users\dss\dev\mc\edk2
EDK_TOOLS_PATH = c:\users\dss\dev\mc\edk2\basetools
EDK_TOOLS_BIN = c:\users\dss\dev\mc\edk2\basetools\bin\win32
CONF_PATH = c:\users\dss\dev\mc\edk2\conf
PYTHON_COMMAND = py -3


Processing meta-data
Architecture(s) = X64
Build target = DEBUG
.Toolchain = VS2019

Active Platform = c:\users\dss\dev\mc\edk2\MdeModulePkg\MdeModulePkg.dsc
................
.
(many inf's built here)
.
.
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib.inf [X64]
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.20.27508\bin\Hostx86\x64\cl.exe" /showIncludes /nologo /E /TC /DVFRCOMPILE /FIPlatformVarCleanupLibStrDefs.h /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib /Ic:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\DEBUG /Ic:\users\dss\dev\mc\edk2\MdePkg /Ic:\users\dss\dev\mc\edk2\MdePkg\Include /Ic:\users\dss\dev\mc\edk2\MdePkg\Test\UnitTest\Include /Ic:\users\dss\dev\mc\edk2\MdePkg\Include\X64 /Ic:\users\dss\dev\mc\edk2\MdeModulePkg /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Include /Ic:\users\dss\dev\mc\edk2\MdeModulePkg\Library\BrotliCustomDecompressLib\brotli\c\include c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PlatformVarCleanupLib\PlatVarCleanup.vfr > c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatVarCleanup.i
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\DxePrintLibPrint2Protocol\DxePrintLibPrint2Protocol.inf [X64]
PlatVarCleanup.vfr
"VfrCompile" -l -n --string-db c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatformVarCleanupLibStrDefs.hpk --output-directory c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\DEBUG\. c:\users\dss\dev\mc\edk2\Build\MdeModule\DEBUG_VS2019\X64\MdeModulePkg\Library\PlatformVarCleanupLib\PlatformVarCleanupLib\OUTPUT\PlatVarCleanup.i
Building ... c:\users\dss\dev\mc\edk2\MdeModulePkg\Library\PeiReportStatusCodeLib\PeiReportStatusCodeLib.inf [X64]
'VfrCompile' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: '"VfrCompile' : return code '0x1'
Stop.
```

I have made a number of passes at it from various wiki's, README.rst's with no luck. Many months ago I chanced upon an install sequence that gave me a development workspace which would build .EFI apps, HelloWorld and such with some precompiled win32 basetools binaries. But that is now not reproducible.

Using the somewhat inconsistent instructions from the wiki, windows_build, https://pypi.org/project/edk2-basetools/ (which humorously explains edk2-basetools is not on pyPI, yes I see it was just added). I also looked at the CI implementation, but it is so containerized I could not glean my path through it. Mathew Carlsons repo and comments in discussions have moved me much closer to success than I was. But as seen above that was still not enough for me.

Anyhow, any help is appreciated.
thanks,
Dan


Re: running lastest OVMF(secure boot+smm) with stock QEMU ( Ubintu 20.04)

dann frazier
 

On Thu, Aug 12, 2021 at 09:49:10PM +0300, alys via groups.io wrote:
Hello All.

I am playing with OVMF and want to run lastest Ubuntu
20.04 ISO disk, booting it securely from OVMF.

I've got lastest edk2 repository, and have it built with
options for secure_boot and smm, and without it.

then i tried to run OVMF_CODE.fd and OVMF_VARS.fd (for
unsecured and no smm build) under QEMU. and everything was
fine. it normally started Ubuntu installation.

next, i tried to run the same for SEC_BOOT+smm, but qemu
said - graphics not initialized.
hey Alex,

This sounds like LP: #1903681:
https://launchpad.net/ubuntu/+source/edk2/2020.11-1

Try an Ubuntu build of 2020.11-1 or newer.

-dann

OK. may be i've built something wrong, and I tried to run
OVMF from stock ubuntu 20.04 package(sec_boot+smm)

after few experiments I found needed options to run in successfully.

this is an options script to run QEMU.

*********************************

opts="-machine q35,smm=on,accel=kvm -m 2048"

opts="$opts -global driver=cfi.pflash01,property=secure,value=on"

#add two flashes
opts="$opts -drive file=OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,readonly=on"
opts="$opts -drive file=OVMF_VARS.ms.fd,if=pflash,format=raw,unit=1,readonly=off"

##virtual fat disk - where to unstall Ubuntu
opts="$opts -hda fat:rw:hda_"

##virtual cdrom with ubuntu installation
opts="$opts -drive file=ubuntu.iso,media=cdrom"

##disable net
opts="$opts -net none"

## to avoid warning that something is not supperted
opts="$opts -cpu host"

##would not run without it!!! if the build has smm support!!!
##at least for me
opts="$opts -global ICH9-LPC.disable_s3=1"

opts="$opts -boot menu=on"
############################
qemu-system-x86_64 $opts
*********************************

and this script normally starts my Ubuntu stock OVMF. and
because OVMF_VARS.ms.fd from there already

has all needed keys inside, I enjoy the Ubuntu
installation started in secured boot mode.


But though i can run stock ovmf, I still cannot start
ovmf, which I've built manually...

it normally starts ovmf, which I've built with secured
boot enabled, but without smm.


so, facts - stock ovmf (from Ubuntu packet) has been
started normally by my script in QEMU.

build from lastest git starts normally, only if there is
no SMM support, but SECURED_BOOT support is on.

But I need to start lastest OVMF with secured boot and smm support.

All advises appreciated.

Thank you. Alex.









running lastest OVMF(secure boot+smm) with stock QEMU ( Ubintu 20.04)

alys <alys-work@...>
 

Hello All.

I am playing with OVMF and want to run lastest Ubuntu 20.04 ISO disk, booting it securely from OVMF.

I've got lastest edk2 repository, and have it built with options for secure_boot and smm, and without it.

then i tried to run OVMF_CODE.fd and OVMF_VARS.fd (for unsecured and no smm build) under QEMU. and everything was fine. it normally started Ubuntu installation.

next, i tried to run the same for SEC_BOOT+smm, but qemu said - graphics not initialized.

OK. may be i've built something wrong, and I tried to run OVMF from stock ubuntu 20.04 package(sec_boot+smm)

after few experiments I found needed options to run in successfully.

this is an options script to run QEMU.

*********************************

opts="-machine q35,smm=on,accel=kvm -m 2048"

opts="$opts -global driver=cfi.pflash01,property=secure,value=on"

#add two flashes
opts="$opts -drive file=OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,readonly=on"
opts="$opts -drive file=OVMF_VARS.ms.fd,if=pflash,format=raw,unit=1,readonly=off"

##virtual fat disk - where to unstall Ubuntu
opts="$opts -hda fat:rw:hda_"

##virtual cdrom with ubuntu installation
opts="$opts -drive file=ubuntu.iso,media=cdrom"

##disable net
opts="$opts -net none"

## to avoid warning that something is not supperted
opts="$opts -cpu host"

##would not run without it!!! if the build has smm support!!!
##at least for me
opts="$opts -global ICH9-LPC.disable_s3=1"

opts="$opts -boot menu=on"
############################
qemu-system-x86_64 $opts
*********************************

and this script normally starts my Ubuntu stock OVMF. and because OVMF_VARS.ms.fd from there already

has all needed keys inside, I enjoy the Ubuntu installation started in secured boot mode.


But though i can run stock ovmf, I still cannot start ovmf, which I've built manually...

it normally starts ovmf, which I've built with secured boot enabled, but without smm.


so, facts - stock ovmf (from Ubuntu packet) has been started normally by my script in QEMU.

build from lastest git starts normally, only if there is no SMM support, but SECURED_BOOT support is on.

But I need to start lastest OVMF with secured boot and smm support.

All advises appreciated.

Thank you. Alex.


Is there a plan to implement TlsSetCertRevocationList

wenyi,xie
 

Hello everyone,

The function of TlsSetCertRevocationList in TlsConfig.c is unsopported yet. Is there any plan to implemente this function?

Thanks
Wenyi


Re: [EXTERNAL] [edk2-discuss] failure in building unit test locally

Andrew Fish
 

On Jul 27, 2021, at 9:17 AM, Bret Barkelew via groups.io <bret.barkelew=microsoft.com@groups.io> wrote:

Thanks for your follow-up. This is a known limitation that we have worked to resolve but ran into some unknown/unexpected errors. We definitely want to support both traditional and simplified character sets (as well as any other character sets), but if I recall there were some ambiguous OS mechanisms at work.

We would appreciate any help or contributions to get these character sets supported, but I understand if you don’t have the time.
Sean,

So there is no way decode() locale.getpreferredencoding() to UTF-8?

I hit some issues post processing edk2 git-grep output in Python and I fixed that via:
tfile.read().decode(errors='replace’)

Basically just force the errors to be ignored?

Is the problem the data is not encoded with the same default as the OS, so Python can’t figure it out?

Thanks,

Andrew Fish

I thought we already had an issue open to track it, but I couldn’t find it so I created a new one here:
Support non-ASCII character sets in Stuart tools · Issue #267 · tianocore/edk2-pytool-extensions (github.com)<https://github.com/tianocore/edk2-pytool-extensions/issues/267>

We can mark it as a duplicate if I find the original report.

- Bret

From: wenyi,xie via groups.io<mailto:xiewenyi2=huawei.com@groups.io>
Sent: Monday, July 26, 2021 12:53 AM
To: Sean Brogan<mailto:spbrogan@outlook.com>; discuss@edk2.groups.io<mailto:discuss@edk2.groups.io>
Subject: [EXTERNAL] Re: [edk2-discuss] failure in building unit test locally

Hi, everyone

I have found the root cause of failure, it's because the language in my windows is Chinese, and the software not support Unicode will use gbk as the coding format.
After I change the language, the problem is solved.

Thanks
Wenyi

On 2021/7/21 10:56, xiewenyi (A) wrote:
Hi,Sean

I have upload the log to github, link is like below.
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fleadsama%2FShowLog%2Fblob%2Fmain%2FREADME.md&;data=04%7C01%7Cbret.barkelew%40microsoft.com%7C990acd0e770447c7a28b08d9500a7dea%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637628828276590927%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cqhTkl5QFXsXwnq%2F0DYHfWieHhOiPsxTRgBKBkJhhsE%3D&amp;reserved=0

Thanks
Wenyi

On 2021/7/20 23:26, Sean Brogan wrote:
In the workspace/build folder there should be some logs .
Can you look at those and/or send the CI Log?

Thanks
Sean



On 7/20/2021 2:08 AM, wenyi,xie via groups.io wrote:
Hello, everyone

I want to build unit test locally, my environment is win10, python 3.9.6, VS2019.
I excute the command according to steps in the ReadMe.
1. stuart_setup -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019
2. stuart_update -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019
3. stuart_ci_build -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019 -t NOOPT -p MdePkg

In step 3, the log is just stopped at "Running Build NOOPT", how do I know the cause of the build failure ?
SECTION - Init SDE
WARNING - Using Pip Tools based BaseTools
SECTION - Loading Plugins
SECTION - Start Invocable Tool
SECTION - Getting Environment
SECTION - Loading plugins
SECTION - Building MdePkg Package
PROGRESS - --Running MdePkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - Allowing Override for key TARGET_ARCH
PROGRESS - Start time: 2021-07-20 16:55:27.953832
PROGRESS - Setting up the Environment
PROGRESS - Running Pre Build
PROGRESS - Running Build NOOPT




.









Re: [EXTERNAL] Re: [edk2-discuss] failure in building unit test locally

wenyi,xie
 

Hi Bret,

It seems no need to change the language of windows, I found that the root cause is that the language of Visual Studio I installed is Chinese. So if any warning or error occured during building,
the VS will output error message in Chinese. This message then is passed to BaseTools, but BaseTools can't decode it using gbk, so UnicodeEncodeError happened like below.

INFO - --- Logging error ---
INFO - Traceback (most recent call last):
INFO - File "C:\Program Files\Python37\lib\logging_init_.py", line 1028, in emit
INFO - stream.write(msg + self.terminator)
INFO - UnicodeEncodeError: 'gbk' codec can't encode character '\u017b' in position 26: illegal multibyte sequence
INFO - Call stack:
INFO - File "C:\Program Files\Python37\lib\threading.py", line 890, in _bootstrap
INFO - self._bootstrap_inner()
INFO - File "C:\Program Files\Python37\lib\threading.py", line 926, in _bootstrap_inner
INFO - self.run()
INFO - File "d:\repository\edkii\ci\lib\site-packages\edk2basetools\AutoGen\AutoGenWorker.py", line 91, in run
INFO - self.InfoLogger_agent.log(log_message.levelno,log_message.getMessage())
INFO - Message: ' x64 Microsoft (R) C/C++ \u017b 19.29.30038.1 '
INFO - Arguments: ()

After I change the language of VS, I can get the real error message as below. The file cmocka.h include some character can't represented.
I try to add # pragma warning (disable:4819) to the first line of cmocka.h, and then building is successful.

ERROR - Compiler #2220 from b'd:\\\\repository\\\\edkii\\\\edk2\\\\UnitTestFrameworkPkg\\\\Library\\\\CmockaLib\\\\cmocka\\\\include\\\\cmocka.h(1849): the following warning is treated as an error'
WARNING - Compiler #4819 from b'd:\\\\repository\\\\edkii\\\\edk2\\\\UnitTestFrameworkPkg\\\\Library\\\\CmockaLib\\\\cmocka\\\\include\\\\cmocka.h(1849): The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss'

Thanks
Wenyi

On 2021/7/28 0:17, Bret Barkelew wrote:
Thanks for your follow-up. This is a known limitation that we have worked to resolve but ran into some unknown/unexpected errors. We definitely want to support both traditional and simplified character sets (as well as any other character sets), but if I recall there were some ambiguous OS mechanisms at work.

 

We would appreciate any help or contributions to get these character sets supported, but I understand if you don’t have the time.

 

I thought we already had an issue open to track it, but I couldn’t find it so I created a new one here:

Support non-ASCII character sets in Stuart tools · Issue #267 · tianocore/edk2-pytool-extensions (github.com) <https://github.com/tianocore/edk2-pytool-extensions/issues/267>

 

We can mark it as a duplicate if I find the original report.

 

- Bret

 

*From: *wenyi,xie via groups.io <mailto:xiewenyi2=huawei.com@groups.io>
*Sent: *Monday, July 26, 2021 12:53 AM
*To: *Sean Brogan <mailto:spbrogan@outlook.com>; discuss@edk2.groups.io <mailto:discuss@edk2.groups.io>
*Subject: *[EXTERNAL] Re: [edk2-discuss] failure in building unit test locally

 

Hi, everyone

I have found the root cause of failure, it's because the language in my windows is Chinese, and the software not support Unicode will use gbk as the coding format.
After I change the language, the problem is solved.

Thanks
Wenyi

On 2021/7/21 10:56, xiewenyi (A) wrote:
Hi,Sean

I have upload the log to github, link is like below.
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fleadsama%2FShowLog%2Fblob%2Fmain%2FREADME.md&;data=04%7C01%7Cbret.barkelew%40microsoft.com%7C990acd0e770447c7a28b08d9500a7dea%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637628828276590927%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cqhTkl5QFXsXwnq%2F0DYHfWieHhOiPsxTRgBKBkJhhsE%3D&amp;reserved=0

Thanks
Wenyi

On 2021/7/20 23:26, Sean Brogan wrote:
In the workspace/build folder there should be some logs .
Can you look at those and/or send the CI Log?

Thanks
Sean



On 7/20/2021 2:08 AM, wenyi,xie via groups.io wrote:
Hello, everyone

I want to build unit test locally, my environment is win10, python 3.9.6, VS2019.
I excute the command according to steps in the ReadMe.
1. stuart_setup -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019
2. stuart_update -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019
3. stuart_ci_build -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019 -t NOOPT -p MdePkg

In step 3, the log is just stopped at "Running Build NOOPT", how do I know the cause of the build failure ?
SECTION - Init SDE
WARNING - Using Pip Tools based BaseTools
SECTION - Loading Plugins
SECTION - Start Invocable Tool
SECTION - Getting Environment
SECTION - Loading plugins
SECTION - Building MdePkg Package
PROGRESS - --Running MdePkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - Allowing Override for key TARGET_ARCH
PROGRESS - Start time: 2021-07-20 16:55:27.953832
PROGRESS - Setting up the Environment
PROGRESS - Running Pre Build
PROGRESS - Running Build NOOPT




.



 


Re: Some questions about create own setup sub page

Guomin Jiang
 

It seem that the file-encoding is incorrect.

Are you using UTF-8?

-----Original Message-----
From: discuss@edk2.groups.io <discuss@edk2.groups.io> On Behalf Of
LawrenceGuan
Sent: Thursday, August 5, 2021 2:01 PM
To: discuss@edk2.groups.io
Subject: [edk2-discuss] Some questions about create own setup sub page

Dear members,

I am a newbie for EDK2 and aim to create my own setup subpage as attached
file "102638.jpg". Of course, I referenced all files of "device manager" but still
meet build error as "BuildErrorForMySubPage.png".

Could someone give me some instructions to resolve it?

Many thanks!





Some questions about create own setup sub page

LawrenceGuan
 

Dear members,

I am a newbie for EDK2 and aim to create my own setup subpage as attached file "102638.jpg". Of course, I referenced all files of "device manager" but still meet build error as "BuildErrorForMySubPage.png".

Could someone give me some instructions to resolve it?

Many thanks!


Problem with -kernel (-initrd, -append) qemu options

Christoph Willing
 

I cannot use -kernel, -initrd & -append options with qemu when using the OVMF files of any release from edk2-stable201808 onward, nor from the git master branch. The last release that has usable OVMF files is vUDK2018.

Normal booting (not using -kernel,... options) works fine, perhaps explaining why the problem has gone undetected so long (I guess my use case is not common). I have tested and confirmed to myself on various platforms; Slackware64-14.2, Slackware64-15.0, Clear Linux 34250 and Ubuntu 20.04. The different OSs all have different Qemu versions, namely 4.0.0, 6.0.0, 5.2.0 and 4.2.1 respectively. All OSs & qemu versions show the same problem.

I used git-bisect to find where the problem started and created a patch to resolve it. I opened a bugzilla case and have submitted the patch there.

I wonder whether an OvmfPkg maintainer could take a look at https://bugzilla.tianocore.org/show_bug.cgi?id=3504 and do whatever is needed to progress beyond there please? Hopefully just confirm and push :)

Thanks,
chris

61 - 80 of 889