Re: [edk2-devel] Intel® FSP External Architecture Specification v2.2 Has Been Released

2020-08-22 Thread Canh Kha
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

2020-08-22 Thread Philippe Mathieu-Daudé
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

2020-08-22 Thread Andrew Fish via groups.io
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

2020-08-22 Thread Sahaj Sarup
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]
-=-=-=-=-=-=-=-=-=-=-=-