Re: [edk2-devel] Intel® FSP External Architecture Specification v2.2 Has Been Released
Hi Nate, Do you have Tiger Lake platform to build bios with the Tiger Lake FSP? Is there a guide? Thanks, Canh -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#64558): https://edk2.groups.io/g/devel/message/64558 Mute This Topic: https://groups.io/mt/75736394/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] OvmfPkg/SmmControl2Dxe: negotiate ICH9_LPC_SMI_F_CPU_HOTPLUG
On 7/14/20 8:43 PM, Laszlo Ersek wrote: > The ICH9_LPC_SMI_F_BROADCAST and ICH9_LPC_SMI_F_CPU_HOTPLUG feature flags > cause QEMU to behave as follows: > > BROADCAST CPU_HOTPLUG use case / behavior > - --- > clear clearOVMF built without SMM_REQUIRE; or very old OVMF > (from before commit a316d7ac91d3 / 2017-02-07). > QEMU permits CPU hotplug operations, and does > not cause the OS to inject an SMI upon hotplug. > Firmware is not expected to be aware of hotplug > events. > > clear set Invalid feature set; QEMU rejects the feature > negotiation. > > setclearOVMF after a316d7ac91d3 / 2017-02-07, built with > SMM_REQUIRE, but no support for CPU hotplug. > QEMU gracefully refuses hotplug operations. > > setset OVMF after a316d7ac91d3 / 2017-02-07, built with > SMM_REQUIRE, and supporting CPU hotplug. QEMU > permits CPU hotplug operations, and causes the > OS to inject an SMI upon hotplug. Firmware is > expected to deal with hotplug events. > > Negotiate ICH9_LPC_SMI_F_CPU_HOTPLUG -- but only if SEV is disabled, as > OvmfPkg/CpuHotplugSmm can't deal with SEV yet. > > Cc: Ard Biesheuvel > Cc: Boris Ostrovsky > Cc: Igor Mammedov > Cc: Jordan Justen > Cc: Liran Alon > Cc: Philippe Mathieu-Daudé > Signed-off-by: Laszlo Ersek Reviewed-by: Philippe Mathieu-Daude > --- > > Notes: > This is the OVMF counterpart to Igor's QEMU series: > > - [RFC 0/3] x86: fix cpu hotplug with secure boot > https://lists.gnu.org/archive/html/qemu-devel/2020-07/msg03746.html > message-id: <20200710161704.309824-1-imamm...@redhat.com> > > Repo: https://pagure.io/lersek/edk2.git > Branch: negotiate_cpuhp_with_smi_rhbz1849177 > > OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf | 1 + > OvmfPkg/SmmControl2Dxe/SmiFeatures.c | 26 ++-- > 2 files changed, 25 insertions(+), 2 deletions(-) > > diff --git a/OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > b/OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > index 3abed141e644..b8fdea8deb84 100644 > --- a/OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > +++ b/OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > @@ -46,6 +46,7 @@ [LibraryClasses] >BaseLib >DebugLib >IoLib > + MemEncryptSevLib >MemoryAllocationLib >PcdLib >PciLib > diff --git a/OvmfPkg/SmmControl2Dxe/SmiFeatures.c > b/OvmfPkg/SmmControl2Dxe/SmiFeatures.c > index 6210b7515e3e..c9d875543205 100644 > --- a/OvmfPkg/SmmControl2Dxe/SmiFeatures.c > +++ b/OvmfPkg/SmmControl2Dxe/SmiFeatures.c > @@ -9,6 +9,7 @@ > > #include > #include > +#include > #include > #include > #include > @@ -21,6 +22,12 @@ > // "etc/smi/supported-features" and "etc/smi/requested-features" fw_cfg > files. > // > #define ICH9_LPC_SMI_F_BROADCAST BIT0 > +// > +// The following bit value stands for "enable CPU hotplug, and inject an SMI > +// with control value ICH9_APM_CNT_CPU_HOTPLUG upon hotplug", in the > +// "etc/smi/supported-features" and "etc/smi/requested-features" fw_cfg > files. > +// > +#define ICH9_LPC_SMI_F_CPU_HOTPLUG BIT1 > > // > // Provides a scratch buffer (allocated in EfiReservedMemoryType type memory) > @@ -67,6 +74,7 @@ NegotiateSmiFeatures ( >UINTNSupportedFeaturesSize; >UINTNRequestedFeaturesSize; >UINTNFeaturesOkSize; > + UINT64 RequestedFeaturesMask; > >// >// Look up the fw_cfg files used for feature negotiation. The selector keys > @@ -104,9 +112,16 @@ NegotiateSmiFeatures ( >QemuFwCfgReadBytes (sizeof mSmiFeatures, ); > >// > - // We want broadcast SMI and nothing else. > + // We want broadcast SMI, SMI on CPU hotplug, and nothing else. >// > - mSmiFeatures &= ICH9_LPC_SMI_F_BROADCAST; > + RequestedFeaturesMask = ICH9_LPC_SMI_F_BROADCAST; > + if (!MemEncryptSevIsEnabled ()) { > +// > +// For now, we only support hotplug with SEV disabled. > +// > +RequestedFeaturesMask |= ICH9_LPC_SMI_F_CPU_HOTPLUG; > + } > + mSmiFeatures &= RequestedFeaturesMask; >QemuFwCfgSelectItem (mRequestedFeaturesItem); >QemuFwCfgWriteBytes (sizeof mSmiFeatures, ); > > @@ -144,6 +159,13 @@ NegotiateSmiFeatures ( > DEBUG ((DEBUG_INFO, "%a: using SMI broadcast\n", __FUNCTION__)); >} > > + if ((mSmiFeatures & ICH9_LPC_SMI_F_CPU_HOTPLUG) == 0) { > +DEBUG ((DEBUG_INFO, "%a: CPU hotplug not negotiated\n", __FUNCTION__)); > + } else { > +DEBUG ((DEBUG_INFO, "%a: CPU hotplug with SMI negotiated\n", > + __FUNCTION__)); > + } > + >// >// Negotiation successful (although we
Re: [edk2-devel] intel: EDK2 Build failure for Quark/Gallileo
Sahaj, Your build failed trying to generate the Flash Device (FD). The FVs (Firmware Volumes) are a set of files named by UUID/GUID and each file can have a set of sections, and sections can encapsulate sections. It looks like the code processing one of the sections failed to find a SECTION dir. I’m not sure why it failed. I though sections usually ended up here: /home/ric/work/tianocore/Build/Quark/DEBUG_GCC5/IFV/Ffs Thanks, Andrew Fish > On Aug 21, 2020, at 10:29 PM, Sahaj Sarup wrote: > > Hi all, > > Due to some sinister intents I wanted to build upstream edk2 for Intel > Galileo, however I am very new to this codebase and am stuck with a > failed build. I have appended the buildlog, any help is appreciated. > > BUILD LOG: > > ric@beech:~/work/tianocore/edk2$ build -a IA32 -t GCC5 -p > QuarkPlatformPkg/Quark.dsc -D GALILEO=GEN1 -D CAPSULE_ENABLE=TRUE > Build environment: > Linux-5.7.12-200.fc32.x86_64-x86_64-with-Ubuntu-18.04-bionic > Build start time: 05:24:44, Aug.22 2020 > > WORKSPACE= /home/ric/work/tianocore > PACKAGES_PATH= > /home/ric/work/tianocore/edk2:/home/ric/work/tianocore/edk2-non-osi/Silicon/Intel:/home/ric/work/tianocore/edk2-platforms/Platform/Intel:/home/ric/work/tianocore/edk2-platforms/Silicon/Intel > EDK_TOOLS_PATH = /home/ric/work/tianocore/edk2/BaseTools > CONF_PATH= /home/ric/work/tianocore/edk2/Conf > PYTHON_COMMAND = /usr/bin/python2.7 > > > > Processing meta-data Architecture(s) = IA32 > .Build target = DEBUG > Toolchain= GCC5 > > Active Platform = > /home/ric/work/tianocore/edk2-platforms/Platform/Intel/QuarkPlatformPkg/Quark.dsc > ... > > > build.py... > : error C0DE: Unknown fatal error when processing > [/home/ric/work/tianocore/edk2/SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf > [IA32, GCC5, DEBUG]] > > (Please send email to devel@edk2.groups.io for help, attaching > following call stack trace!) > > (Python 2.7.17 on linux2) Traceback (most recent call last): > File > "/home/ric/work/tianocore/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", > line 2635, in Main >MyBuild.Launch() > File > "/home/ric/work/tianocore/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", > line 2430, in Launch >self._MultiThreadBuildPlatform() > File > "/home/ric/work/tianocore/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", > line 2238, in _MultiThreadBuildPlatform >Wa, self.BuildModules = self.PerformAutoGen(BuildTarget,ToolChain) > File > "/home/ric/work/tianocore/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", > line 2112, in PerformAutoGen >CmdListDict = self._GenFfsCmd(Wa.ArchList) > File > "/home/ric/work/tianocore/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", > line 2009, in _GenFfsCmd >GenFfsDict = GenFds.GenFfsMakefile('', GlobalData.gFdfParser, > self, ArchList, GlobalData) > File > "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/GenFds.py", > line 541, in GenFfsMakefile >FdObj.GenFd(Flag=True) > File "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/Fd.py", > line 131, in GenFd >RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, > self.BlockSizeList, self.ErasePolarity, > GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict, Flag=Flag) > File > "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/Region.py", > line 134, in AddToBuffer >FvObj.AddToBuffer(FvBuffer, FvBaseAddress, BlockSize, BlockNum, > ErasePolarity, Flag=Flag) > File "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/Fv.py", > line 127, in AddToBuffer >FileName = FfsFile.GenFfs(MacroDict, FvParentAddr=BaseAddress, > IsMakefile=Flag, FvName=self.UiFvName) > File > "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/FfsInfStatement.py", > line 518, in GenFfs >InputSectList, InputSectAlignments = > self.__GenComplexFileSection__(Rule, FvChildAddr, FvParentAddr, > IsMakefile=IsMakefile) > File > "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/FfsInfStatement.py", > line 969, in __GenComplexFileSection__ >SectList, Align = Sect.GenSection(self.OutputPath, > self.ModuleGuid, SecIndex, self.KeyStringList, self, IsMakefile = > IsMakefile) > File > "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/EfiSection.py", > line 135, in GenSection >f = open(File, 'r') > File > "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/Common/LongFilePathSupport.py", > line 33, in OpenLongFilePath >return open(LongFilePath(FileName), Mode, Buffer) > IOError: [Errno 2] No such file or directory: > '/home/ric/work/tianocore/Build/Quark/DEBUG_GCC5/IA32/ShellPkg/Application/Shell/Shell/OUTPUT/SECTION' > > > - Failed - > Build end time: 05:24:52, Aug.22 2020 > Build total time: 00:00:08 > > ric@beech:~/work/tianocore/edk2$ > > -- > Best Regards > Sahaj Sarup > > >
[edk2-devel] intel: EDK2 Build failure for Quark/Gallileo
Hi all, Due to some sinister intents I wanted to build upstream edk2 for Intel Galileo, however I am very new to this codebase and am stuck with a failed build. I have appended the buildlog, any help is appreciated. BUILD LOG: ric@beech:~/work/tianocore/edk2$ build -a IA32 -t GCC5 -p QuarkPlatformPkg/Quark.dsc -D GALILEO=GEN1 -D CAPSULE_ENABLE=TRUE Build environment: Linux-5.7.12-200.fc32.x86_64-x86_64-with-Ubuntu-18.04-bionic Build start time: 05:24:44, Aug.22 2020 WORKSPACE= /home/ric/work/tianocore PACKAGES_PATH= /home/ric/work/tianocore/edk2:/home/ric/work/tianocore/edk2-non-osi/Silicon/Intel:/home/ric/work/tianocore/edk2-platforms/Platform/Intel:/home/ric/work/tianocore/edk2-platforms/Silicon/Intel EDK_TOOLS_PATH = /home/ric/work/tianocore/edk2/BaseTools CONF_PATH= /home/ric/work/tianocore/edk2/Conf PYTHON_COMMAND = /usr/bin/python2.7 Processing meta-data Architecture(s) = IA32 .Build target = DEBUG Toolchain= GCC5 Active Platform = /home/ric/work/tianocore/edk2-platforms/Platform/Intel/QuarkPlatformPkg/Quark.dsc ... build.py... : error C0DE: Unknown fatal error when processing [/home/ric/work/tianocore/edk2/SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf [IA32, GCC5, DEBUG]] (Please send email to devel@edk2.groups.io for help, attaching following call stack trace!) (Python 2.7.17 on linux2) Traceback (most recent call last): File "/home/ric/work/tianocore/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2635, in Main MyBuild.Launch() File "/home/ric/work/tianocore/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2430, in Launch self._MultiThreadBuildPlatform() File "/home/ric/work/tianocore/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2238, in _MultiThreadBuildPlatform Wa, self.BuildModules = self.PerformAutoGen(BuildTarget,ToolChain) File "/home/ric/work/tianocore/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2112, in PerformAutoGen CmdListDict = self._GenFfsCmd(Wa.ArchList) File "/home/ric/work/tianocore/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2009, in _GenFfsCmd GenFfsDict = GenFds.GenFfsMakefile('', GlobalData.gFdfParser, self, ArchList, GlobalData) File "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/GenFds.py", line 541, in GenFfsMakefile FdObj.GenFd(Flag=True) File "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/Fd.py", line 131, in GenFd RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict, Flag=Flag) File "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/Region.py", line 134, in AddToBuffer FvObj.AddToBuffer(FvBuffer, FvBaseAddress, BlockSize, BlockNum, ErasePolarity, Flag=Flag) File "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/Fv.py", line 127, in AddToBuffer FileName = FfsFile.GenFfs(MacroDict, FvParentAddr=BaseAddress, IsMakefile=Flag, FvName=self.UiFvName) File "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/FfsInfStatement.py", line 518, in GenFfs InputSectList, InputSectAlignments = self.__GenComplexFileSection__(Rule, FvChildAddr, FvParentAddr, IsMakefile=IsMakefile) File "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/FfsInfStatement.py", line 969, in __GenComplexFileSection__ SectList, Align = Sect.GenSection(self.OutputPath, self.ModuleGuid, SecIndex, self.KeyStringList, self, IsMakefile = IsMakefile) File "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/GenFds/EfiSection.py", line 135, in GenSection f = open(File, 'r') File "/home/ric/work/tianocore/edk2/BaseTools/Source/Python/Common/LongFilePathSupport.py", line 33, in OpenLongFilePath return open(LongFilePath(FileName), Mode, Buffer) IOError: [Errno 2] No such file or directory: '/home/ric/work/tianocore/Build/Quark/DEBUG_GCC5/IA32/ShellPkg/Application/Shell/Shell/OUTPUT/SECTION' - Failed - Build end time: 05:24:52, Aug.22 2020 Build total time: 00:00:08 ric@beech:~/work/tianocore/edk2$ -- Best Regards Sahaj Sarup -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#64555): https://edk2.groups.io/g/devel/message/64555 Mute This Topic: https://groups.io/mt/76350403/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-