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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Silences "sometimes-uninitialized" warning by initializing the variable FspMultiPhaseApiOffset and corrects build using LLVM 15 toolchain
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
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>
This change should correct compatibility with MSVC if the compiler flags undefines _MSC_VER, for example, like OpensslLib
Signed-off-by: Savva Mitrofanov