30958 Commits

Author SHA1 Message Date
Mikhail Krichanov
75fcf75121 BaseTools: Added draft of ARM, AARCH64 support. 2023-03-16 15:33:03 +03:00
Mikhail Krichanov
730a27d321 MdePkg: Added CONST to fix ArmVirtPkg compilation. 2023-03-16 15:33:03 +03:00
Mikhail Krichanov
a0f5b70883 ImageTool: Made SizeOfImage equal maximum virtual address. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
860dcd18cd MdePkg: Returned some #includes. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
b4a313ea05 MdePkg: Cleaned up BaseLib.h already included in DebugLib.h. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
30d425b06f MdePkg: Included BaseLib.h in DebugLib.h as it's needed for CpuBreakpoint(). Reverted minor changes. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
c9e1823fbc BaseTools: Placed MdeBuildOptions.dsc.inc into tools_def.txt. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
2a18a22be4 BaseTools: Made !ifdef-choice configurable on command line. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
adfdda5fca Build: Removed unnecessary !include MdePkg/MdeBuildOptions.dsc.inc. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
1d0697c7ab BaseTools: Added support for !ifdef constructions inside tools_def.txt. 2023-03-16 12:20:13 +03:00
Marvin Häuser
daca49e23f ImageTool/PeScan: Drop redundant size clamping 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
8978439c82 ImageTool: Returned ImageBuffer for section, reloc parsing. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
1bb6e60e7d ImageTool: Removed corruption tolerant DebugInfo search assuming mtoc is fixed. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
8eaa875cc4 MdePkg: Placed import of PcdLib.h into DebugLib.h. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
8a6da01b9b MdePkg: Moved DEBUG_RAISE() to DebugLib.h. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
526c4b13ab ImageTool: Refactored out Pointer. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
aa526e42c7 OvmfPkg: Increased X64 PEIFV size to fix NOOPT builds. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
c9b10ce0c1 MdePkg: Redefined DEBUG_RAISE() to facilitate fuzzing. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
2bb2e22db8 BaseTools: Reduced minimal alignment to 32 bytes. 2023-03-16 12:20:13 +03:00
Mikhail Krichanov
6117177c2e BaseTools: Added MDEPKG_REDUCE_FW_SIZE and MDEPKG_MERGE_RODATA_INTO_TEXT build options. 2023-03-16 12:20:13 +03:00
Savva Mitrofanov
fe193d6384 .github/workflows: Uploads OvmfPkg artifacts and test them using QEMU
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-03-13 20:48:55 +06:00
Mikhail Krichanov
fc981b0891 UefiPayloadPkg: Increased FD_SIZE to fix VS2019 NOOPT build. 2023-03-13 20:48:55 +06:00
Mikhail Krichanov
7836cea3bd BaseTools: Fixed VS2019 build by removing EFI_IMAGE_SCN_MEM_DISCARDABLE flag from .xdata and .pdata sections and as a result correcting DataRVA inside .hii. 2023-03-13 20:48:55 +06:00
Savva Mitrofanov
9c0a615470
Corrects ocbuild branch in docker-compose.yml 2023-03-09 21:21:18 +06:00
Savva Mitrofanov
3f8cfa4d44
OvmfPkg: Corrects default values in OvmfPkgIa32X64.dsc
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-03-09 17:12:10 +06:00
Marvin Häuser
9f35d83d71 BaseTools/tools_def: Introduce MTOC_PREFIX environment variable
Most compiler toolchains and tools have support for PREFIX environment
variables to specify their location, but Apple mtoc does not. While
it used to be in a stable install location, it has recently been
deprecated and ocmtoc is maintained as a fork. Homebrew has accepted
ocmtoc into its repository, including its ARM version. As Homebrew on
ARM does not install its packages into /usr/local, XCODE5 currently
does not work on Apple silicon with ocmtoc installed via Homebrew.

Introduce the MTOC_PREFIX environment variable to customize the
installation location of Apple mtoc or ocmtoc.

Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
2023-03-06 20:16:39 +01:00
Savva Mitrofanov
85989f6bf7
Build: Updated OpenCore submodule to current master branch
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-28 18:53:13 +06:00
Savva Mitrofanov
7052c3badf
FatPkg: Corrects FatDelete exit logic if PcdFatReadOnlyMode is set
The FatDelete routine closes the file even it write protected

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-28 18:37:36 +06:00
Savva Mitrofanov
18722f129f FatPkg: Don't try to open file for write/create for RO mode
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-23 00:47:34 +03:00
Savva Mitrofanov
acfb8ae13a FatPkg: Early-exit from writing functions when enforced RO mode
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-23 00:47:34 +03:00
Savva Mitrofanov
5b09f83e0c 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>
2023-02-23 00:47:34 +03:00
Savva Mitrofanov
c8a9df31b3
Build: Updated OpenCore submodule to current master branch. 2023-02-22 17:55:25 +06:00
Savva Mitrofanov
b78e1e0e5a
BaseTools: Fix MSVC build due to missing Crc32 symbols
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-22 17:39:14 +06:00
Savva Mitrofanov
b96cbb7cfa
.github/workflows: Update build workflow
Doesn't rebuild basetools on every package

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-20 15:58:44 +06:00
Savva Mitrofanov
ff3d00d4d4
Ext4Pkg: Fixes double-free in Ext4ReadSymlink
The SymlinkTmp was deallocated unconditionally, so we shouldn't free it
again on EFI_ERROR

Cc: Marvin Häuser <mhaeuser@posteo.de>
Cc: Pedro Falcato <pedro.falcato@gmail.com>
Cc: Vitaly Cheptsov <vit9696@protonmail.com>
Fixes: e81432fbacb7 ("Ext4Pkg: Add symbolic links support")
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-17 00:11:13 +06:00
Savva Mitrofanov
d24fd429be
Ext4Pkg: Code correctness and security improvements
Applies latest upstream changes, which performs minor changes into
previous patchset

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-16 21:20:02 +06:00
Savva Mitrofanov
63360b588f
.github/workflows: Adds build workflow
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-15 20:21:34 +06:00
Savva Mitrofanov
2e8901738b
UnitTestFrameworkPkg/UnitTest: Fixes CLANGPDB build
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-15 20:21:28 +06:00
Savva Mitrofanov
7c7ec2efd8
MdePkg/UnitTest: Fixes CLANGPDB build
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-02-15 20:21:27 +06:00
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