34045 Commits

Author SHA1 Message Date
Marvin Häuser
c1fc02bdc0 MdeModulePkg/DxeCore: Re-use ImageIsFromFv for memory protection 2025-02-27 14:18:11 +03:00
Savva Mitrofanov
0eab0d7bd8 CI: Remove Dependabot configuration 2025-02-27 14:18:11 +03:00
Mikhail Krichanov
19ac87e9fc BaseTools/Conf: Added EDK2_GCC_NOLTO build option. 2025-02-27 14:18:11 +03:00
Mikhail Krichanov
70c33a719f Build: Replaced GCC5 toolchain with GCC. 2025-02-27 14:18:11 +03:00
Mikhail Krichanov
0fd4737bda Revert "MdeModulePkg: Enable forward edge CFI in mem attributes table"
This reverts commit e4ef609319236a018c60b84f68d9d923c4ba383e.
2025-02-27 14:18:11 +03:00
Mikhail Krichanov
f0e69127bc MdeModulePkg/Core/Dxe: Integrate CPU Architectural producer
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3223

In the current design, memory protection is not available till CpuDxe
is loaded. To resolve this, introduce CpuArchLib to move the
CPU Architectural initialization to DxeCore.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Vitaly Cheptsov <vit9696@protonmail.com>
Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
2025-02-27 14:18:11 +03:00
Mikhail Krichanov
422bbca9dc OvmfPkg, BaseTools: Fixed Amaranth compilation for gcc-12.3.0. 2025-02-27 14:18:11 +03:00
Mikhail Krichanov
d65e65a084 BaseTools: Introduce new HII section design 2025-02-27 14:18:11 +03:00
Mikhail Krichanov
194fe1a571 BaseTools/C: Consume UefiImageLib and ImageToolEmit 2025-02-27 14:18:11 +03:00
Marvin Häuser
8c47d46a9f BaseTools/GenFv: Remove .text and .data from FV map 2025-02-27 14:18:11 +03:00
Marvin Häuser
43a247e3db Remove hacks related to former lack of XCODE5 .hii support 2025-02-27 14:18:11 +03:00
Mikhail Krichanov
2777ff4565 Added STATUS.md file summarizing current states of packages. 2025-02-27 14:12:27 +03:00
Marvin Häuser
e2778dfe81 BaseTools/build_rule: Drop deprecated ASM16 definition 2025-02-27 14:09:46 +03:00
Mikhail Krichanov
fd94c0b1dd Drop support for the TE format 2025-02-27 14:09:46 +03:00
Marvin Häuser
ed6dde5a8e ArmPkg/ArmMmuLib: ASSERT ArmReplaceLiveTranslationEntry alignment 2025-02-27 14:09:46 +03:00
Marvin Häuser
fec15737ef MdeModulePkg/ExtendedFirmwarePerformance: Fix FPDT struct alignment 2025-02-27 14:09:46 +03:00
Marvin Häuser
ce38fb17af UefiPayloadPkg/UefiPayloadEntry: Return image destination size as UINT32 2025-02-27 14:09:46 +03:00
Mikhail Krichanov
2dea7aa5cb UefiCpuPkg/CpuExceptionHandlerLib: Creates unified ExceptionHandlerAsm
This change removes Xcode5ExceptionHandlerAsm and merge it's
functionality into ExceptionHandlerAsm.
Also decreases number of vectors to 32 for:
- 64-bit PeiCpuExceptionHandlerLib
- 32-bit PeiCpuExceptionHandlerLib, SecPeiCpuExceptionHandlerLib

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2025-02-27 14:09:05 +03:00
Mikhail Krichanov
222fa4c422 BaseTools/CommonLib: Consume MemoryAllocationLib 2025-02-27 14:09:05 +03:00
Marvin Häuser
df7afdba5f EmbeddedPkg/PrePiLib: Deduplicate MemoryAllocationLib declarations 2025-02-27 14:09:05 +03:00
Marvin Häuser
fd913cb8aa EmbeddedPkg/NonCoherentDmaLib: Utilize AllocateAlignedPagesEx 2025-02-27 14:09:05 +03:00
Mikhail Krichanov
0a05774156 MdePkg/MemoryAllocationLib: Add Allocate(Aligned)CodePages 2025-02-27 14:09:05 +03:00
Marvin Häuser
fb8c11a45a EmulatorPkg/Host: Consume MemoryAllocationLib 2025-02-27 14:09:05 +03:00
Mikhail Krichanov
1b953973bf MdePkg: Introduce CommonMemoryAllocationLib 2025-02-27 14:09:05 +03:00
Marvin Häuser
d00f423b4a MdeModulePkg: Manage MemoryProfileLib separately 2025-02-27 14:09:05 +03:00
Marvin Häuser
91da787bab MdePkg/Base.h: Introduce ALIGN_VALUE_SUBTRAHEND 2025-02-27 14:09:05 +03:00
Marvin Häuser
d09f23477b EmulatorPkg/Host: Remove orphaned GetImageReadFunction() 2025-02-27 14:09:05 +03:00
Marvin Häuser
6365c0c3c1 MdeModulePkg/CorePei: Remove unused ShadowedImageRead member 2025-02-27 14:09:05 +03:00
Marvin Häuser
9a51354bba BaseTools/GenFvInternalLib: Remove unused BaseOfCode parameter 2025-02-27 14:09:05 +03:00
Marvin Häuser
2b7c70ed1f EmulatorPkg: Fix some image loader related issues 2025-02-27 14:09:05 +03:00
Marvin Häuser
96a89b6b45 EmulatorPkg: Fix Thunk PPI/Protocol library types 2025-02-27 14:09:05 +03:00
Marvin Häuser
4d1bc365d6 EmulatorPkg/Host: Remove orphaned SecImageRead() 2025-02-27 14:09:05 +03:00
Marvin Häuser
ecc70e92d6 BaseTools/GenFv: Remove duplicated alignment macros 2025-02-27 14:09:05 +03:00
Marvin Häuser
0967b199ef EmulatorPkg/Host: Fix XCODE5 build 2025-02-27 14:09:05 +03:00
Marvin Häuser
0a6cd25c9a BaseTools/DevicePath: Consume MdePkg/UefiDevicePathLib
BaseTools has been duplicating and adapting code that is defined in
MdePkg and MdeModulePkg. This leads to desync issues where the same
symbols may be backed by different functions with slightly different
semantics and also fixes that apply only to BaseTools or only to MdePkg
and MdeModulePkg.

To address these issues, update BaseTools/Source/C to utilize the code
from MdePkg and MdeModulePkg.

Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
2025-02-27 14:09:05 +03:00
Marvin Häuser
9a592c980f BaseTools/CommonLib: Consume MdePkg and MdeModulePkg
BaseTools has been duplicating and adapting code that is defined in
MdePkg and MdeModulePkg. This leads to desync issues where the same
symbols may be backed by different functions with slightly different
semantics and also fixes that apply only to BaseTools or only to MdePkg
and MdeModulePkg.

To address these issues, update BaseTools/Source/C to utilize the code
from MdePkg and MdeModulePkg.

Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
2025-02-27 14:09:05 +03:00
Marvin Häuser
071c0f3898 UefiCpuPkg/MtrrLib: Add missing PcdLib.h include
MtrrLib does not include PcdLib.h despite explicitly using its
definitions. Add the include to fix compilation for modules that do not
utilize AutoGen.

Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
2025-02-27 14:09:05 +03:00
Marvin Häuser
57d5d3074c MdePkg/Base.h: Add support for C++ alignof
In preparation of including Base.h in C++ BaseTools programs, support
the C++ 11 alignof operator. The C _Alignof operator is not universally
supported in C++ mode across compiler toolchains and thus the current
definition may lead to compilation errors with said programs.

Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
2025-02-27 14:09:05 +03:00
Marvin Häuser
6336e5366b MdePkg/Base.h: Only use C++ static_assert when supported
To support GoogleTest, 933b4c3 added support for C++ static_assert.
However, this is not a mandatory or universally supported C++ feature.
Guard its usage by the __cpp_static_assert support flag.

Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
2025-02-27 14:09:05 +03:00
Mikhail Krichanov
9fd02e11d8 FatPkg: Adds support for read-only mode
Implements gEfiFatPkgTokenSpaceGuid token space and adds token which
disables write operations. By default driver still supports read-write
mode

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2025-02-27 14:09:05 +03:00
Savva Mitrofanov
904c198e4c UefiCpuPkg/CpuPageTableLib: Add intrinsic lib to fix MSVC build
For the bitfield access, MSVC apparently uses a right shift of the base type of the bitfield member. In our case, is is cased by IA32_PTE_4K and
IA32_PAGE_LEAF_ENTRY_BIG_PAGESIZE and other structures which uses uint64
bitfields and 32-bit x86 doesn't have a 64-bit integer shift (except using MMX or SSE2). With -Od (NOOPT) even for constant counts it puts
the data in EDX:EAX, the shift count in cl and calls __aullshr.

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2025-02-27 14:09:05 +03:00
Savva Mitrofanov
0992696bb8 CryptoPkg/IntrinsicLib: Corrects __ashrdi3 and adds __lshrdi3
The ashrdi3 function should do arithmetic shift instead of logic using
sar instruction. Also adds __lshrdi3 implementation to correct build
using LLVM

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2025-02-27 14:09:05 +03:00
Mike Beaton
369d564ad4 GenSec: Support TianoCompress
Allows .fdf files to define a compressed .ffs section which can be read
by legacy EFI firmware (such as found on Apple Mac).
Use `COMPRESS TIANO`.
2025-02-27 14:09:05 +03:00
Mikhail Krichanov
f9bc3b5b6e CI: Constructed separate workflows for common, arm, x86 packages and CodeQL.
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2025-02-27 14:06:29 +03:00
Mikhail Krichanov
9758f7ddd3 MdePkg: Add PCD to remove X perm from image sections with WX perms
This feature is useful for images created by old Apple mtoc utility.

Signed-off-by: Vitaly Cheptsov <vit9696@protonmail.com>
2025-02-27 14:03:21 +03:00
Mikhail Krichanov
48c129149c Build: Renamed XIPFLAGS as SECPEIFLAGS, added comment in build_rule.template on its usage. 2025-02-27 14:03:21 +03:00
Mikhail Krichanov
c62b4bd727 BaseTools: Removed GCC48/49 toolchains, refactored tools_def.template. 2025-02-27 14:03:21 +03:00
Savva Mitrofanov
21b3c0250d UnitTestFrameworkPkg/UnitTest: Fixes CLANGPDB build
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2025-02-27 14:03:21 +03:00
Savva Mitrofanov
a914923286 UefiCpuPkg/UnitTest: Fixes CLANGDWARF build
Adds missing EFIAPI modifiers. Fixes calling conventions by defining as
ms_abi

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2025-02-27 14:03:21 +03:00
Savva Mitrofanov
d650af2ec8 MdePkg/UnitTest: Fixes CLANGPDB build
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2025-02-27 14:03:21 +03:00