Branch: refs/heads/master
Home: https://github.com/tianocore/edk2
Commit: 73ac735be8f8d3f8e6e7ab02c34ad360b045452f
https://github.com/tianocore/edk2/commit/73ac735be8f8d3f8e6e7ab02c34ad360b045452f
Author: Gerd Hoffmann <[email protected]>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
Log Message:
-----------
MdeModulePkg/DxeIplPeim: fix PcdUse5LevelPageTable assert
PcdUse5LevelPageTable documentation says:
Indicates if 5-Level Paging will be enabled in long mode. 5-Level
Paging will not be enabled when the PCD is TRUE but CPU doesn't support
5-Level Paging.
So running in 4-level paging mode with PcdUse5LevelPageTable=TRUE is
possible. The only invalid combination is 5-level paging being active
with PcdUse5LevelPageTable=FALSE.
Fix the ASSERT accordingly.
Signed-off-by: Gerd Hoffmann <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Message-Id: <[email protected]>
Cc: Michael Roth <[email protected]>
Cc: Jiewen Yao <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Tom Lendacky <[email protected]>
Cc: Paolo Bonzini <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Cc: Min Xu <[email protected]>
Cc: Erdem Aktas <[email protected]>
Cc: Oliver Steffen <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
[[email protected]: turn the "Cc:" message headers from Gerd's on-list
posting into "Cc:" tags in the commit message, in order to pacify
"PatchCheck.py"]
Commit: 13fbc16556d05a70d1bbef2e673f1b16b22dd6c6
https://github.com/tianocore/edk2/commit/13fbc16556d05a70d1bbef2e673f1b16b22dd6c6
Author: Gerd Hoffmann <[email protected]>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c
Log Message:
-----------
MdeModulePkg/DxeIplPeim: rename variable
Rename Page5LevelSupported to Page5LevelEnabled.
The variable is set to true in case 5-paging level is enabled (64-bit
PEI) or will be enabled (32-bit PEI), it does *not* tell whenever the
5-level paging is supported by the CPU.
Signed-off-by: Gerd Hoffmann <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Message-Id: <[email protected]>
Cc: Michael Roth <[email protected]>
Cc: Jiewen Yao <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Tom Lendacky <[email protected]>
Cc: Paolo Bonzini <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Cc: Min Xu <[email protected]>
Cc: Erdem Aktas <[email protected]>
Cc: Oliver Steffen <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
[[email protected]: turn the "Cc:" message headers from Gerd's on-list
posting into "Cc:" tags in the commit message, in order to pacify
"PatchCheck.py"]
Commit: adebfe121ca02a3a9c610389929d5e158334a4ea
https://github.com/tianocore/edk2/commit/adebfe121ca02a3a9c610389929d5e158334a4ea
Author: Gerd Hoffmann <[email protected]>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M OvmfPkg/Library/PlatformInitLib/MemDetect.c
Log Message:
-----------
OvmfPkg/PlatformInitLib: add 5-level paging support
Adjust physical address space logic for la57 mode (5-level paging).
With a larger logical address space we can identity-map a larger
physical address space.
Signed-off-by: Gerd Hoffmann <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Message-Id: <[email protected]>
Cc: Michael Roth <[email protected]>
Cc: Jiewen Yao <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Tom Lendacky <[email protected]>
Cc: Paolo Bonzini <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Cc: Min Xu <[email protected]>
Cc: Erdem Aktas <[email protected]>
Cc: Oliver Steffen <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
[[email protected]: turn the "Cc:" message headers from Gerd's on-list
posting into "Cc:" tags in the commit message, in order to pacify
"PatchCheck.py"]
Commit: bac9c74080cf36590af0f572c07257c3541f8c02
https://github.com/tianocore/edk2/commit/bac9c74080cf36590af0f572c07257c3541f8c02
Author: Laszlo Ersek <[email protected]>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M BaseTools/Source/Python/AutoGen/GenC.py
Log Message:
-----------
BaseTools/AutoGen: declare ProcessLibraryConstructorList() for SEC modules
Most module types have standardized entry point function prototypes. They
are declared in headers like
- MdePkg/Include/Library/PeiCoreEntryPoint.h
- MdePkg/Include/Library/PeimEntryPoint.h
- MdePkg/Include/Library/DxeCoreEntryPoint.h
- MdePkg/Include/Library/UefiDriverEntryPoint.h
- MdePkg/Include/Library/UefiApplicationEntryPoint.h
These header files also declare matching ProcessLibraryConstructorList()
prototypes.
The SEC module type does not have a standardized entry point prototype
(aka parameter list), therefore no header file like the above ones exists
for SEC. Consequently, no header file *declares*
ProcessLibraryConstructorList() for SEC modules, even though AutoGen
always *defines* ProcessLibraryConstructorList() with the same, empty,
parameter list (i.e., just (VOID)).
The lack of a central declaration is a problem because in SEC code,
ProcessLibraryConstructorList() needs to be called manually, and those
calls need a prototype. Most SEC modules in edk2 get around this by
declaring ProcessLibraryConstructorList() manually, while some others use
an incorrect (PEIM) prototype.
Liming suggested in
<https://bugzilla.tianocore.org/show_bug.cgi?id=991#c2> that AutoGen
provide the declaration as well; implement that in this patch.
Mike suggested that the feature be gated with INF_VERSION, for
compatibility reasons. (INF_VERSION >= 1.30) reflects that the latest
(draft) version of the INF specification, as of this writing, is commit
a31e3c842bee / version 1.29.
For example, if we modify "OvmfPkg/Sec/SecMain.inf" as follows:
> diff --git a/OvmfPkg/Sec/SecMain.inf b/OvmfPkg/Sec/SecMain.inf
> index 3c47a664a95d..dca932a474ee 100644
> --- a/OvmfPkg/Sec/SecMain.inf
> +++ b/OvmfPkg/Sec/SecMain.inf
> @@ -8,7 +8,7 @@
> ##
>
> [Defines]
> - INF_VERSION = 0x00010005
> + INF_VERSION = 1.30
> BASE_NAME = SecMain
> FILE_GUID = df1ccef6-f301-4a63-9661-fc6030dcc880
> MODULE_TYPE = SEC
then the patch produces the following difference in
"Build/OvmfX64/NOOPT_GCC5/X64/OvmfPkg/Sec/SecMain/DEBUG/AutoGen.h":
> --- AutoGen.h.orig 2024-02-06 23:10:23.469535345 +0100
> +++ AutoGen.h 2024-02-07 00:00:57.361294055 +0100
> @@ -220,6 +220,13 @@
>
> // Definition of PCDs used in libraries is in AutoGen.c
>
> +// ProcessLibraryConstructorList() declared here because SEC has no standard
> entry point.
> +VOID
> +EFIAPI
> +ProcessLibraryConstructorList (
> + VOID
> + );
> +
>
> #ifdef __cplusplus
> }
which presently (as of edk2 commit edc6681206c1) triggers the following
build error:
> In file included from OvmfPkg/Sec/SecMain.c:14:
> MdePkg/Include/Library/PeimEntryPoint.h:74:1: error: conflicting types for
> ‘ProcessLibraryConstructorList’; have ‘void(void *, const
> EFI_PEI_SERVICES **)’ {aka ‘void(void *, const struct _EFI_PEI_SERVICES
> **)’}
> 74 | ProcessLibraryConstructorList (
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from <command-line>:
> Build/OvmfX64/NOOPT_GCC5/X64/OvmfPkg/Sec/SecMain/DEBUG/AutoGen.h:226:1: note:
> previous declaration of ‘ProcessLibraryConstructorList’ with type
> ‘void(void)’
> 226 | ProcessLibraryConstructorList (
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
That's a genuine bug in OvmfPkg that needs to be fixed, but we keep
compatibility with existent SEC modules until/unless they upgrade
INF_VERSION to 1.30+.
Cc: Bob Feng <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Michael D Kinney <[email protected]>
Cc: Rebecca Cran <[email protected]>
Cc: Yuwei Chen <[email protected]>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=991
Suggested-by: Liming Gao <[email protected]>
Suggested-by: Michael D Kinney <[email protected]>
Signed-off-by: Laszlo Ersek <[email protected]>
Message-Id: <[email protected]>
Reviewed-by: Liming Gao <[email protected]>
Commit: dc7cfa9bab7487aa0cec02d13aa8c34ff24b37a8
https://github.com/tianocore/edk2/commit/dc7cfa9bab7487aa0cec02d13aa8c34ff24b37a8
Author: Gerd Hoffmann <[email protected]>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M UefiCpuPkg/Library/MpInitLib/MpHandOff.h
M UefiCpuPkg/Library/MpInitLib/MpLib.c
M UefiCpuPkg/Library/MpInitLib/MpLib.h
M UefiCpuPkg/Library/MpInitLib/PeiMpLib.c
Log Message:
-----------
UefiCpuPkg/MpInitLib: add struct MP_HAND_OFF_CONFIG
Move the WaitLoopExecutionMode and StartupSignalValue fields to a
separate HOB with the new struct.
WaitLoopExecutionMode and StartupSignalValue are independent of
processor index ranges; they are global to MpInitLib (i.e., the entire
system). Therefore they shouldn't be repeated in every MpHandOff GUID
HOB.
Signed-off-by: Gerd Hoffmann <[email protected]>
Message-Id: <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Cc: Rahul Kumar <[email protected]>
Cc: Ray Ni <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Cc: Oliver Steffen <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
[[email protected]: turn the "Cc:" message headers from Gerd's on-list
posting into "Cc:" tags in the commit message, in order to pacify
"PatchCheck.py"]
Compare: https://github.com/tianocore/edk2/compare/d9a6e7b0b8a6...dc7cfa9bab74
To unsubscribe from these emails, change your notification settings at
https://github.com/tianocore/edk2/settings/notifications
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits