30819 Commits

Author SHA1 Message Date
Savva Mitrofanov
54539b807e
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>
2023-02-15 20:21:11 +06:00
vit9696
1a98b00817 Revert "OvmfPkg/OvmfPkgX64: Increase DXEFV size"
This reverts commit fd547e49ea4ec151623257699b7d6fba9ebd1ac9.

Changes in this commit result in JOS failing to start due to 1500000h
becoming occupied.
2023-02-13 23:42:13 +03:00
Savva Mitrofanov
9fd29bbc8d
OvmfPkg/OvmfPkgX64: Removes DEBUG_ON_SERIAL_PORT define
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-12 23:18:11 +06:00
Savva Mitrofanov
9646f2c4bc
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>
2023-02-12 23:18:05 +06:00
Savva Mitrofanov
858d91c7c6
UefiCpuPkg: Removes Xcode5SecPeiCpuExceptionHandlerLib
We don't need this XCODE5-specific lib anymore due to recent rodata
changes

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-12 23:18:00 +06:00
Savva Mitrofanov
dd971fc1e5
OvmfPkg/OvmfPkgIa32X64: Increase PEIFV size
The NOOPT build target produces greater overall size of PEI modules than available inside firmware volume, which leads to GenFv invalid size
error

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-12 23:17:56 +06:00
Savva Mitrofanov
fd547e49ea
OvmfPkg/OvmfPkgX64: Increase DXEFV size
The NOOPT build target produces greater overall size of DXE modules than
available inside firmware volume, which leads to GenFv invalid size
error

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-12 23:17:47 +06:00
Savva Mitrofanov
bdf03f766c
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>
2023-02-12 21:07:06 +06:00
Marvin Häuser
418524ac00 BaseTools: Rename __RELOC_FIX to __RO_RELOCS 2023-02-12 14:51:26 +01:00
Marvin Häuser
f5b2118058 BaseTools: Add -require_read_only_relocs to MTOC_FLAGS 2023-02-12 14:51:26 +01:00
Marvin Häuser
742a1e3326 BaseTools: Support read-only data for ASLC 2023-02-12 14:51:26 +01:00
Marvin Häuser
1eff93c8e2 BaseTools: ASLC files may not contain relocs 2023-02-12 14:51:26 +01:00
Marvin Häuser
bb53e3652b BaseTools: Fix __RELOC_FIX generation to always use a populated section 2023-02-12 14:51:26 +01:00
vit9696
0dfb926bb5 MdeModulePkg/Core: Fix DxeCore entry not being added to DebugTable
Signed-off-by: Vitaly Cheptsov <vit9696@protonmail.com>
2023-02-12 11:23:14 +03:00
Vitaly Cheptsov
d230c91de9 MdePkg/BasePeCoffLib2: Remove DEBUG_RAISE on invalid DebugDir size
EfiBoot images contain a sum of EFI_IMAGE_DEBUG_DIRECTORY_ENTRY and
EFI_IMAGE_DEBUG_CODEVIEW_MTOC_ENTRY sizes in DebugDir size.
Since our XCODE5 toolchain generates NB10 debug entries and we do not
have access to Apple DEBUG symbols, just ignore this debug information.

Signed-off-by: Vitaly Cheptsov <vit9696@protonmail.com>
2023-02-12 09:57:12 +03:00
Mikhail Krichanov
76d8185b5c ImageTool: Fixed "Blue Screen" problem for CLANGDWARF. 2023-02-10 14:00:28 +03:00
Savva Mitrofanov
9e4ebf488e BaseTools/tools_def: Add read_only_relocs arg to X64 target on XCODE5
For now "-read_only_relocs suppress" is safe, as relocations can now
target __TEXT without triggering the issue with Mach-O relocation
offsets

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-10 14:00:28 +03:00
Mikhail Krichanov
0212a1af87 ImageTool: Refactored relocs calculation. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
4a7bcc4251 ImageTool: Fixed GOTPCREL relocations for GCC5. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
8e421ef0e3 BaseTools: Fixed sh_addralign field in ELF files, removed useless checks in ImageTool. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
8e6e4d1be4 ImageTool: Removed recalculation of virtual addresses, asssuming they are the same both in ELF and PE files. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
ec2ea092ed BaseTools: Moved .rodata into a separate section, enforced appropriate .rodata names for different toolchains. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
464cf15edb BaseTools: United GCC and CLANG linker scripts, set default 4K alignment for all toolchains. 2023-02-10 14:00:28 +03:00
Mikhail Krichanov
46de80ddd2 OvmfPkg: Removed useless DEFINE. 2023-02-10 14:00:28 +03:00
Savva Mitrofanov
d8e2a00f61
UefiPayloadPkg: Increase FD_SIZE for NOOPT target
Fixes recent NOOPT builds using MSVC toolchain

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>4
2023-02-08 18:28:08 +06:00
Savva Mitrofanov
087ef41f7e
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>
2023-02-08 18:27:40 +06:00
Savva Mitrofanov
ff658eb1a2
MdeModulePkg/BrotliCustomDecompressLib: Disable C4559 MSVC warning
Disables redefinition warning due to win 10 sdk to fix build using MSVC
toolchain

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-06 16:20:09 +06:00
Savva Mitrofanov
be5e5b1f99
BaseTools: Update brotli submodule
Update the brotli submodule to the latest commit (ed1995b6bda1)
so that the build isn't broken in GCC 12 compilers.

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-06 16:20:08 +06:00
Savva Mitrofanov
d004754540
MdeModulePkg: Update brotli submodule
Update the brotli submodule to the latest commit (ed1995b6bda1)
so that the build isn't broken in GCC 12 compilers.

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-06 16:20:07 +06:00
Savva Mitrofanov
13a2066023
IntelFsp2WrapperPkg/FspWrapperMultiPhaseProcessLib: Fix CLANGPDB build
Silences "sometimes-uninitialized" warning by initializing the variable FspMultiPhaseApiOffset and corrects build using LLVM 15 toolchain

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-03 14:25:18 +06:00
Savva Mitrofanov
97cef440fc
UefiPayloadPkg: Increase FD_SIZE for NOOPT target
Fixes recent NOOPT builds using MSVC toolchain

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-03 12:40:07 +06:00
Savva Mitrofanov
91789af684
BaseTools/Conf: Fixes CLANGPDB and CLANGDWARF build
Corrects llvm-rc arguments

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-03 12:40:06 +06:00
Savva Mitrofanov
57b8f6746f
Ext4Pkg: Fixes build on MSVC
Using UINT64 index while accessing array item makes MSVC compiler to
include `__allmul` function in NOOPT which is not referenced in IA32.
So we null-terminates string using ReadSize, which should be equal to
SymlinkSizeTmp after correct reading. Also adds missing MultU64x32
in Ext4Read.

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-03 12:40:05 +06:00
Mike Beaton
c87d7fa06b 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`.
2023-01-30 23:35:04 +03:00
Mikhail Krichanov
6ba140a6b5 BaseTools: Fixed VS2019 build. 2023-01-18 17:14:34 +03:00
Savva Mitrofanov
86005c4c0c
.github/workflows: Don't install Python twice in CodeQL
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-01-18 18:12:01 +06:00
Savva Mitrofanov
0764246038
MdePkg/Include: Corrects ALIGNOF macro in Base.h for MSVC
This change should correct compatibility with MSVC if the compiler flags undefines _MSC_VER, for example, like OpensslLib

Signed-off-by: Savva Mitrofanov
2023-01-18 16:19:38 +06:00
Savva Mitrofanov
e6fee961af
UefiCpuPkg/SecCore: Corrects build by adding missing SecurePe libraries
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-01-18 16:19:37 +06:00
Savva Mitrofanov
7f5dbfa5f9
MdeModulePkg/DebugSupportDxe: Corrects MSVC build
Fixes 6c974ab21e212c1867c871f989f6f1df5786e99e by supressing type cast
warning for MSVC

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-01-18 16:19:36 +06:00
Savva Mitrofanov
763413cc8c
.github/workflows: Use efibuild.sh instead of stuart pytools for CodeQL
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-01-18 16:19:35 +06:00
Savva Mitrofanov
58f816c0db
.github/workflows: Adds nested udk package warning workaround for CodeQL 2023-01-17 22:12:41 +06:00
Savva Mitrofanov
60f85a3683
.pytool: Drop OpenCorePkg from supported pkg list for stuart
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-01-17 21:42:27 +06:00
Savva Mitrofanov
648c4f33cc
OvmfPkg/OvmfPkgIa32X64: Increase PEIFV size
The NOOPT build target produces greater overall size of PEI modules than available inside firmware volume, which leads to GenFv invalid size
error

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-01-17 20:59:29 +06:00
Savva Mitrofanov
40b67dcb57
.pytool: Add OpenCorePkg package into stuart_build CISetting.py
This commit corrects CodeQL workflow by adding missing submodule
OpenCorePkg for BaseTools

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-01-17 20:59:21 +06:00
Savva Mitrofanov
f335cf23f1
Revert "Ext4Pkg: Add comparison between Position and FileSize in Ext4SetPosition"
This reverts commit f21c8083753d667815d2719a9e7417dd4f1277c5.
We don't need to perform this check in SetPosition because by spec this
check done in read operation

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-01-13 12:57:46 +03:00
vit9696
8b6e67bcd9 Ext4Pkg: Filter out file names containing \0 as invalid
This patch improves checks added in 74135485.

Signed-off-by: Vitaly Cheptsov <vit9696@protonmail.com>
2023-01-12 13:31:47 +03:00
vit9696
6349385d72 OpenCorePkg: Sync with upstream for the new PCD 2023-01-04 21:57:56 +03:00
Vitaly Cheptsov
39d0ce7013 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>
2023-01-04 20:03:26 +03:00
Mikhail Krichanov
1ddbcf7ccf Build: Updated OpenCore submodule to current master branch. 2022-12-29 11:03:38 +03:00
Savva Mitrofanov
122531754a
UefiPayloadPkg/UefiPayloadEntry: Fixes universal payload build
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2022-12-29 00:19:53 +06:00