[edk2-devel] [PATCH] BaseTools: Skip .mcb file module in Binary Cache

Yao, Jiewen jiewen.yao at intel.com
Thu May 9 05:13:14 UTC 2019


Hi
Can we have better way to describe the binary cache?

I have 2 concern:
1) we have other type of binary besides MCB. How can we indicate that without update base tool source code ?
2) .inc might be text file, instead of binary. How can we support that?

Thank you
Yao Jiewen


> -----Original Message-----
> From: devel at edk2.groups.io [mailto:devel at edk2.groups.io] On Behalf Of
> Steven Shi
> Sent: Wednesday, May 8, 2019 10:00 PM
> To: devel at edk2.groups.io
> Cc: Feng, Bob C <bob.c.feng at intel.com>; Gao, Liming
> <liming.gao at intel.com>; Rodriguez, Christian
> <christian.rodriguez at intel.com>; Johnson, Michael
> <michael.johnson at intel.com>
> Subject: [edk2-devel] [PATCH] BaseTools: Skip .mcb file module in Binary
> Cache
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1723
> 
> Current Kabylake open platform will build fail if enabled
> to consume the binary cache, because the binary cache doesn't
> support to recovery the .mcb microcode file,
> e.g. m80406E8_00000026.mcb, in a platform level folder which
> is outside of the module output folder. In normal build
> without cache, the .mcb file is copied through OS copy/move
> commands defined in build rules which are not supported by
> Binary Cache.
> Change the Binary Cache to skip the .mcb file type module and
> always rebuild the module to apply the full build rules if
> it contains .mcb file.
> ---
>  BaseTools/Source/Python/AutoGen/AutoGen.py | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py
> b/BaseTools/Source/Python/AutoGen/AutoGen.py
> index 31721a6f9f..6b596c8a65 100644
> --- a/BaseTools/Source/Python/AutoGen/AutoGen.py
> +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
> @@ -3925,9 +3925,9 @@ class ModuleAutoGen(AutoGen):
>          # If library or Module is binary do not skip by hash
>          if self.IsBinaryModule:
>              return False
> -        # .inc is contains binary information so do not skip by hash as well
> +        # .inc and .mcb is contains binary information so do not skip by
> hash as well
>          for f_ext in self.SourceFileList:
> -            if '.inc' in str(f_ext):
> +            if '.inc' in str(f_ext) or '.mcb' in str(f_ext):
>                  return False
>          FileDir = path.join(GlobalData.gBinCacheSource,
> self.PlatformInfo.Name, self.BuildTarget + "_" + self.ToolChain, self.Arch,
> self.SourceDir, self.MetaFile.BaseName)
>          HashFile = path.join(FileDir, self.Name + '.hash')
> @@ -4138,9 +4138,9 @@ class ModuleAutoGen(AutoGen):
>          # If library or Module is binary do not skip by hash
>          if self.IsBinaryModule:
>              return False
> -        # .inc is contains binary information so do not skip by hash as well
> +        # .inc or '.mcb' is contains binary information so do not skip by
> hash as well
>          for f_ext in self.SourceFileList:
> -            if '.inc' in str(f_ext):
> +            if '.inc' in str(f_ext) or '.mcb' in str(f_ext):
>                  return False
>          if GlobalData.gUseHashCache:
>              # If there is a valid hash or function generated a valid hash;
> function will return False
> --
> 2.17.1.windows.2
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#40265): https://edk2.groups.io/g/devel/message/40265
Mute This Topic: https://groups.io/mt/31552068/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list