Mikhail Krichanov
31fef0a12e
Core/Dxe: Added sanity checks.
2025-01-27 19:27:01 +03:00
Mikhail Krichanov
2cd1b35113
Core/Dxe: Placed platform dependent code into separate files.
2025-01-27 18:51:13 +03:00
Mikhail Krichanov
e358acb6d9
Core/Dxe: Added sanity checks.
2025-01-27 15:37:19 +03:00
Mikhail Krichanov
dd71687e44
SysCall: Refactored UserStackTop to allocate it anew for each CallRing3.
2025-01-24 18:44:34 +03:00
Mikhail Krichanov
734748e862
SysCall: Added NumberOfCalls to USER_SPACE_DRIVER.
2025-01-24 11:50:46 +03:00
Mikhail Krichanov
23b53c960d
Ring3: Refactored out SysCallStackTop.
2025-01-21 23:07:38 +03:00
Mikhail Krichanov
cd65706178
Ring3: Refactored out CoreRsp and UserStackTop.
2025-01-16 15:43:34 +03:00
Mikhail Krichanov
befe005612
Ring3: Refactored out gCoreSysCallStackTop and gRing3CallStackTop.
2025-01-13 13:27:58 +03:00
Mikhail Krichanov
90ecffbc25
Ring3: Refactored User and SysCall stacks allocation.
2025-01-10 17:51:23 +03:00
Mikhail Krichanov
ce3bfc7754
SysCall: Refactored Core wrappers to allow support for multiple User space drivers.
2025-01-09 15:42:04 +03:00
Mikhail Krichanov
285c6b0de9
Ring3: Split Page Table template construction and initialization,
...
removed ChangeUefiImageRing(), added GetUefiImageRecord().
2024-11-27 13:51:07 +03:00
Mikhail Krichanov
3b8cd407d3
Ring3: Added support for separate User address space.
2024-11-26 19:12:15 +03:00
Mikhail Krichanov
5db269aab4
Ring3: Added support for USER attribute in .fdf files.
2024-10-25 12:02:51 +03:00
Mikhail Krichanov
7e372019d2
MdeModulePkg: Fixed MdeModulePkg compilation.
2024-09-03 13:19:16 +03:00
Mikhail Krichanov
ca144b0173
Ring3: Moved InitializeRing3() to SysCall directory.
2024-09-03 13:19:16 +03:00
Mikhail Krichanov
996bc3c55f
Ring3: Added SysCallGetVariable wrapper.
2024-09-03 13:19:15 +03:00
Mikhail Krichanov
38e92b2072
Ring3: Refactored exception handling.
2024-09-03 13:19:15 +03:00
Mikhail Krichanov
5b281e2c16
Ring3: Forbade Ring3 accsess to all ports but for UART
...
to allow DEBUG printing.
2024-09-03 13:19:15 +03:00
Mikhail Krichanov
d4f5ae14aa
Ring3: Refactored out AllocateRing3Copy().
2024-09-03 13:19:14 +03:00
Mikhail Krichanov
94017d9567
Ring3: Added PrepareRing3Interface().
2024-09-03 13:19:14 +03:00
Mikhail Krichanov
d19bee4d2d
Ring3: Some refactoring.
2024-09-03 13:10:47 +03:00
Mikhail Krichanov
77bb186c8a
Ring3: Refactored AllocateRing3CopyPages() and mUserDriverBinding.
2024-09-03 13:10:47 +03:00
Mikhail Krichanov
fa60f3ab00
Ring3: Refactored CallRing3().
2024-09-03 13:10:47 +03:00
Mikhail Krichanov
fe43687460
Ring3: Refactored Ring3 initialization.
2024-09-03 13:10:46 +03:00
Mikhail Krichanov
ed1ee15c9c
Ring3: Moved Ring3UefiBootServicesTableLib to Ring3Dxe.
2024-09-03 13:10:46 +03:00
Mikhail Krichanov
e5f7eb7654
Ring3: Refactored EnterUserImage() into CallRing3().
2024-09-03 13:10:46 +03:00
Mikhail Krichanov
313cf0bfae
Ring3: Added Ring3EntryPoint draft.
2024-09-03 13:10:46 +03:00
Mikhail Krichanov
e4eb762d22
Ring3: Refactored out AllocateRing3Pages() BootService.
2024-09-03 13:10:45 +03:00
Mikhail Krichanov
32e8bcbb62
Ring3: Moved SysCall code to DxeCore.
2024-09-03 13:10:45 +03:00
Mikhail Krichanov
87a397740d
Ring3: Added helper function AllocateRing3Pages() and
...
draft of Ring3LocateProtocol().
2024-09-03 13:10:45 +03:00
Mikhail Krichanov
633521d91f
Ring3: Fixed bug in calling Boot Service and did some refactoring.
2024-09-03 13:10:45 +03:00
Mikhail Krichanov
b5d0912201
Ring3: Added CoreSysCallStack.
2024-09-03 13:10:45 +03:00
Mikhail Krichanov
6502e73b0d
Ring3: Added SYSCALL draft.
2024-09-03 13:10:45 +03:00
Mikhail Krichanov
233a5cff09
Ring3: Fixed LibraryConstructors' initialization and
...
allowed user to access ports.
2024-09-03 13:10:44 +03:00
Mikhail Krichanov
1112ad7822
Ring3: Added EnterUserImage().
2024-09-03 13:10:44 +03:00
Mikhail Krichanov
db50e4edf1
Ring3: Added GetMemoryAttributes() into EFI_CPU_ARCH_PROTOCOL.
2024-09-03 13:10:44 +03:00
Mikhail Krichanov
f2a28c5a55
Ring3: Added IsUserImage field into LOADED_IMAGE_PRIVATE_DATA structure.
2024-09-03 13:10:44 +03:00
Mikhail Krichanov
8c069a27e5
Ring3: Added EFI_MEMORY_USER attribute.
2024-09-03 13:10:42 +03:00
Mikhail Krichanov
46050fc0fc
SecurePE: Defined new PcdImageProtectionPolicy.
2024-07-22 13:49:00 +03:00
Mikhail Krichanov
21327695a0
UE: Support UE generation and consumption.
2024-07-22 13:49:00 +03:00
Mikhail Krichanov
028bb3e2c7
MdePkg/UefiImageLib: Introduce DebugAddress
...
Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
2024-07-22 13:49:00 +03:00
Mikhail Krichanov
5a8fe7214e
MdePkg/UefiImageLib: Support multi-format and multi-source architecture
...
Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
2024-07-22 13:49:00 +03:00
Marvin Häuser
c01eab36cb
MdeModulePkg/DxeCore: Re-use ImageIsFromFv for memory protection
2024-07-22 13:49:00 +03:00
Mikhail Krichanov
7886691a93
Revert "MdeModulePkg: Enable forward edge CFI in mem attributes table"
...
This reverts commit e4ef609319236a018c60b84f68d9d923c4ba383e.
2024-07-22 13:47:18 +03:00
Mikhail Krichanov
769c333a61
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>
2024-07-22 13:47:18 +03:00
Marvin Häuser
086e621cc2
EmulatorPkg: Fix some image loader related issues
2024-07-22 13:47:18 +03:00
Mikhail Krichanov
a955e8811b
SecurePE: Replaced old PE loader with Secure one.
2024-07-22 13:42:14 +03:00
Dongyan Qian
a3aab12c34
MdeModulePkg: Dxe: add LOONGARCH64 to mMachineTypeInfo
...
This fixes messages like:
"Image type X64 can't be loaded on <Unknown> UEFI system"
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Chao Li <lichao@loongson.cn>
Signed-off-by: Dongyan Qian <qiandongyan@loongson.cn>
Reviewed-by: Chao Li <lichao@loongson.cn>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2024-02-02 01:52:58 +00:00
Michael D Kinney
c5e702e45a
MdeModulePkg/Core/Dxe: Initialize GCD before RT memory allocations
...
Update the DxeMain initialization order to initialize GCD
services before any runtime allocations are performed. This
is required to prevent runtime data fragmentation when the
UEFI System Table and UEFI Runtime Service Table are allocated
before both the memory and GCD services are initialized.
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Aaron Li <aaron.li@intel.com>
Cc: Liu Yun <yun.y.liu@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
2024-01-30 18:30:02 +00:00
Jeff Brasen
aa8431822b
MdeModulePkg/DxeCore: Allow relocation of images with large address
...
Add PCD to control if modules with start addresses in PE/COFF > 0x100000
attempt to load at specified address.
If a module has an address in this range and there is untested memory
DxeCore will attempt to promote all memory to tested which bypasses any
memory testing that would occur later in boot.
There are several existing AARCH64 option roms that have base addresses
of 0x180000000.
Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
Reviewed-by: Ashish Singhal <ashishsingha@nvidia.com>
Message-Id: <bd36c9c24158590db2226ede05cb8c2f50c93a37.1684194452.git.jbrasen@nvidia.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2023-10-31 14:40:50 +00:00