Marvin Häuser
55f38e9bf4
SourceLevelDebugPkg/UefiImageExtraActionLibDebug: Fix build errors
2023-04-15 21:41:26 +02:00
Marvin Häuser
c87fa98d16
StandaloneMmPkg/StandaloneMmCore: Fix build errors
2023-04-15 21:09:05 +02:00
Marvin Häuser
0e4af8d5bc
BaseTools/tools_def: Remove unused macros
2023-04-15 16:01:26 +02:00
Savva Mitrofanov
4a19cb0dc4
BaseTools/ImageTool: Move Pcd tokens into OC User library
2023-04-14 21:17:13 +06:00
Mikhail Krichanov
511f3b2637
ImageTool: Fixed Amaranth boot. Stack canaries' relocations are stored in .rela section, relocations of which are applicable to the whole file (sh_info == 0) and must be kept.
2023-04-14 11:17:47 +03:00
Marvin Häuser
1c6925aaa2
Drop support for the TE format
2023-04-12 19:56:18 +03:00
Mikhail Krichanov
b58fc72d8a
ImageTool: Dropped MOVW/T relocs.
2023-04-12 16:46:40 +03:00
Mikhail Krichanov
7ae4bf8995
Build: Renamed XIPFLAGS as SECPEIFLAGS, added comment in build_rule.template on its usage.
2023-04-12 16:46:40 +03:00
Mikhail Krichanov
05cd2dee1e
BaseTools: Removed GCC48/49 toolchains.
2023-04-12 16:46:40 +03:00
Mikhail Krichanov
7236d37bcd
Conf: Remove unused IPHONE_TOOLS, SOURCERY_CYGWIN_TOOLS defs and EBC (EFI Byte Code) compiler definitions.
2023-04-12 16:46:40 +03:00
Mikhail Krichanov
df4c475562
BaseTools: Removed VS2008-VS2013 toolchains.
2023-04-12 16:46:40 +03:00
Mikhail Krichanov
669f98f9f8
Conf: Removed CLANG35/38 toolchains.
2023-04-12 16:46:40 +03:00
Mikhail Krichanov
19978560ba
BaseTools: Cleaned up ARM relocs calculation in ImageTool and removed several relocation types' definitions as according to ARM ABI (aaelf32.pdf) 177-255 codes are reserved for future allocation.
2023-04-12 16:46:40 +03:00
Savva Mitrofanov
687086ce0e
ImageTool: Drop duplicated BaseOverflowLib symbols
2023-04-12 18:02:13 +06:00
Marvin Häuser
5c9259bed5
ArmPkg/ArmMmuLib: ASSERT ArmReplaceLiveTranslationEntry alignment
2023-04-11 11:54:59 +02:00
Savva Mitrofanov
280ebb9d2b
.github/workflow: Add build target with CLANGDWARF toolchain for ARM
2023-04-11 09:51:04 +02:00
Marvin Häuser
c3f671eff1
BaseTools/Common: Fix aligned page alloc functions
2023-04-11 09:51:04 +02:00
Marvin Häuser
5fe6994faf
BaseTools/tools_def: Add ARM and AARCH64 support to CLANGDWARF
2023-04-11 09:51:01 +02:00
Marvin Häuser
79ee7f5475
ImageTool: Rework PE section emission
2023-04-11 09:27:39 +02:00
Marvin Häuser
c497d51928
ImageTool: Only translate ELF relocs targeting translated sections
2023-04-11 09:27:39 +02:00
Marvin Häuser
f7c6e92fc9
BaseTools/tools_def: Add missing -no-pie DLINK for ARM GCC
2023-04-11 09:27:39 +02:00
Marvin Häuser
016a079008
ImageTool: Support R_ARM_NONE relocation type
2023-04-11 09:27:39 +02:00
Marvin Häuser
6623dd8671
ImageTool: Error when encountering unknown ELF SHF_ALLOC sections
2023-04-11 09:27:39 +02:00
Marvin Häuser
3bc4011a1e
BsseTools/lds: Drop ARM unwind info section
2023-04-11 09:27:39 +02:00
Marvin Häuser
08778e2a3d
ImageTool: Abstract executable generation
2023-04-11 09:27:35 +02:00
Marvin Häuser
75fcd420f6
ImageTool: Distinguish between non-ELF/PE and incompatible ELF/PE
2023-04-10 22:40:52 +02:00
Marvin Häuser
1fc65bdb8d
ImageTool: Correctly emit VirtualSize as ImageSize for non-XIP
2023-04-10 22:39:42 +02:00
Marvin Häuser
d27a576b86
ImageTool: Explicitly convert IR to XIP for PE emission
2023-04-10 22:39:42 +02:00
Marvin Häuser
0bfa467344
ImageTool: Use realloc() for IR segment enlarging
2023-04-10 22:39:42 +02:00
Marvin Häuser
2f91fddf99
Drop premature UE support
2023-04-10 22:21:15 +02:00
Marvin Häuser
cd0e8aa6ad
MdeModulePkg/ExtendedFirmwarePerformance: Fix FPDT struct alignment
2023-04-10 17:39:25 +02:00
Marvin Häuser
7b022c46d0
MdePkg/BasePeCoffLib2: Only validate ExeHdrOffset when non-zero
2023-04-10 10:57:28 +02:00
Marvin Häuser
42ef8c795c
UefiPayloadPkg/UefiPayloadEntry: Return image destination size as UINT32
2023-04-10 10:57:27 +02:00
Mikhail Krichanov
d58d5c1bc3
ImageTool: Extended debug printings.
2023-04-10 10:31:53 +02:00
Mikhail Krichanov
7abc3faeec
ImageTool: Made compilation of EFI_IMAGE_MACHINE selection conditional.
2023-04-10 10:31:53 +02:00
Marvin Häuser
373bb081ee
ImageTool: Fix ARM image generation
2023-04-10 10:31:53 +02:00
Marvin Häuser
7b210acbc6
ArmVirtPkg: Use max-page-size
2023-04-10 10:31:53 +02:00
Mikhail Krichanov
f0ca8ef0cb
ArmPkg/RvdUefiImageExtraActionLib: Fix build
2023-04-10 10:31:53 +02:00
Mikhail Krichanov
60e0471175
MdePkg/BasePeCoffLib2: Fix ARM Thumb apply relocation routine
...
Thumb instructions are either 16-bit or 32-bit, and are aligned on
a two-byte boundary
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-04-10 10:31:53 +02:00
Marvin Häuser
a07a2ce546
MdeModulePkg/DxeCore: Fix MAT generation
2023-04-10 10:31:53 +02:00
Marvin Häuser
53f2af3ad5
ArmPkg/ArmMmuLib: Fix ArmReplaceLiveTranslationEntry alignment
2023-04-10 10:31:48 +02:00
Mikhail Krichanov
d477fd49b1
MdeModulePkg/DxeCore: Use correct type for alignment mask
...
The page allocator code in CoreFindFreePagesI() uses a mask derived from
its UINTN Alignment argument to align the descriptor end address of a
MEMORY_MAP entry to the requested alignment, in order to check whether
the descriptor covers enough sufficiently aligned area to satisfy the
request.
However, on 32-bit architectures, 'Alignment' is a 32-bit type, whereas
DescEnd is a 64-bit type, and so the resulting operation performed on
the end address comes down to masking with 0xfffff000 instead of the
intended 0xffffffff_fffff000. Given the -1 at the end of the expression,
the resulting address is 0xffffffff_fffffffff for any descriptor that
ends on a 4G aligned boundary, and this is certainly not what was
intended.
So cast Alignment to UINT64 to ensure that the mask has the right size.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reported-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2023-04-09 17:33:52 +02:00
Savva Mitrofanov
5a084dafde
.github/workflow: Split build workflow into multiple and add ARM targets
...
Adds new workflow for building and testing ARM targets. Also, it splits
previous build workflow into multiple parts: common packages,
x86 firmwares, ARM firmwares. In addition, it adds Windows PE tests.
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-04-05 14:48:09 +06:00
Savva Mitrofanov
b4167ccdd4
ArmVirtPkg/ArmVirtQemu: Disable PcdPrePiProduceMemoryTypeInformationHob for ARM
...
The PcdPrePiProduceMemoryTypeInformationHob on ARM breaks Linux efistub
boot. The efistub for arm32 uncompresses Linux kernel into memory ranges
which occupied by DXE-phase drivers which leads to
'permission denied'-error during page write. So as a temporary solution
we use PcdPrePiProduceMemoryTypeInformationHob only for AARCH64
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-04-05 14:48:08 +06:00
Savva Mitrofanov
6c9cb4f420
EmbeddedPkg/PrePiMemoryAllocationLib: Correct missing function argument
...
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-04-05 12:56:49 +06:00
Savva Mitrofanov
b877d75f50
EmbeddedPkg/PrePiLib: Correct function prototype
...
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
2023-04-02 21:33:58 +06:00
vit9696
950de0d6fe
MdePkg: Fix uninitialised access in SafeString
2023-04-02 15:50:10 +03:00
Marvin Häuser
b137c5414d
MdePkg/BasePeCoffLib2: Read debug directory from the image memory
2023-04-02 00:04:47 +02:00
Marvin Häuser
94af9da84b
MdePkg/BasePeCoffLib2: Distinguish between unsupported and corrupted
2023-04-02 00:04:47 +02:00
Marvin Häuser
35731d9829
UefiImageLib: Ensure consistently passing the full buffer size
2023-04-02 00:04:47 +02:00