Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: f0390f7bf14c1f5fe1205dc12185896150c70756
      
https://github.com/tianocore/edk2/commit/f0390f7bf14c1f5fe1205dc12185896150c70756
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2024-11-13 (Wed, 13 Nov 2024)

  Changed paths:
    M UefiCpuPkg/ResetVector/FixupVtf/Vtf.inf
    M UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf

  Log Message:
  -----------
  UefiCpuPkg: Make the ResetVector USER_DEFINED

The x86 reset vector is the initial FW code to run on an
AP. It should not link to any libraries and is implemented
entirely in assembly. This module is currently labled as
SEC, because it runs during the SEC phase, but by having it
SEC, it will be linked to all NULL libraries linked globally.
This causes issue with StackCheckLib (though any NULL
library being applied globally has the same issue) because
BaseTools will attempt to link the library and add an
extern to _ModuleEntryPoint, which does not exist for this
module.

Moving this module to USER_DEFINED instructs BaseTools to
not link any NULL libraries to it, which is the desired
behavior, and leads to a much cleaner global NULL library
implementation, in this case for StackCheckLib.

This change was tested on OVMF IA32/X64 and proved to work
as before.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: fd9e9848ac8ebd349e1fe2c15a46c56566a106c7
      
https://github.com/tianocore/edk2/commit/fd9e9848ac8ebd349e1fe2c15a46c56566a106c7
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2024-11-13 (Wed, 13 Nov 2024)

  Changed paths:
    M OvmfPkg/AmdSev/AmdSevX64.fdf
    M OvmfPkg/Bhyve/BhyveX64.fdf
    M OvmfPkg/Bhyve/ResetVector/ResetVector.inf
    M OvmfPkg/CloudHv/CloudHvX64.fdf
    M OvmfPkg/IntelTdx/IntelTdxX64.fdf
    M OvmfPkg/Microvm/MicrovmX64.fdf
    M OvmfPkg/OvmfPkgIa32.fdf
    M OvmfPkg/OvmfPkgIa32X64.fdf
    M OvmfPkg/OvmfPkgX64.fdf
    M OvmfPkg/OvmfXen.fdf
    M OvmfPkg/ResetVector/ResetVector.inf
    M OvmfPkg/XenResetVector/XenResetVector.inf

  Log Message:
  -----------
  OvmfPkg: Make ResetVector USER_DEFINED

Following the change in UefiCpuPkg, this moves OvmfPkg's
ResetVectors to USER_DEFINED modules to prevent any
NULL libraries from being linked against them, allowing
for expected behavior from the ResetVector and for
simpler implementation of NULL libraries applied globally.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: ef4f3aa3f7e3c28c7f0e1a3c35711f1a85becd71
      
https://github.com/tianocore/edk2/commit/ef4f3aa3f7e3c28c7f0e1a3c35711f1a85becd71
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2024-11-13 (Wed, 13 Nov 2024)

  Changed paths:
    M ArmPkg/ArmPkg.dsc
    M ArmPlatformPkg/ArmPlatformPkg.dsc
    M ArmVirtPkg/ArmVirt.dsc.inc
    M CryptoPkg/CryptoPkg.dsc
    M DynamicTablesPkg/DynamicTablesPkg.dsc
    M EmbeddedPkg/EmbeddedPkg.dsc
    M EmulatorPkg/EmulatorPkg.dsc
    M FatPkg/FatPkg.dsc
    M IntelFsp2Pkg/IntelFsp2Pkg.dsc
    M IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dsc
    M MdeModulePkg/MdeModulePkg.dsc
    M MdePkg/MdeLibs.dsc.inc
    M NetworkPkg/NetworkPkg.dsc
    M OvmfPkg/AmdSev/AmdSevX64.dsc
    M OvmfPkg/Bhyve/BhyveX64.dsc
    M OvmfPkg/CloudHv/CloudHvX64.dsc
    M OvmfPkg/IntelTdx/IntelTdxX64.dsc
    M OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc
    M OvmfPkg/Microvm/MicrovmX64.dsc
    M OvmfPkg/OvmfPkgIa32.dsc
    M OvmfPkg/OvmfPkgIa32X64.dsc
    M OvmfPkg/OvmfPkgX64.dsc
    M OvmfPkg/OvmfXen.dsc
    M OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc
    M PcAtChipsetPkg/PcAtChipsetPkg.dsc
    M PrmPkg/PrmPkg.dsc
    M RedfishPkg/RedfishPkg.dsc
    M SecurityPkg/SecurityPkg.dsc
    M ShellPkg/ShellPkg.dsc
    M SignedCapsulePkg/SignedCapsulePkg.dsc
    M SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
    M UefiCpuPkg/UefiCpuPkg.dsc
    M UefiPayloadPkg/UefiPayloadPkg.dsc
    M UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc

  Log Message:
  -----------
  MdePkg: MdeLibs.dsc.inc: Apply StackCheckLibNull to All Module Types

Now that the ResetVectors are USER_DEFINED modules, they will not
be linked against StackCheckLibNull, which were the only modules
causing issues. So, we can now remove the kludge we had before
and the requirement for every DSC to include StackCheckLibNull
for SEC modules and just apply StackCheckLibNull globally.

This also changes every DSC to drop the SEC definition of
StackCheckLibNull.

Continuous-integration-options: PatchCheck.ignore-multi-package

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


Compare: https://github.com/tianocore/edk2/compare/0c56edacfb72...ef4f3aa3f7e3

To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to