Mikhail Krichanov
3664e7206d
Ring3: Renamed Ring3 as UserSpace.
2025-04-14 13:17:36 +03:00
Mikhail Krichanov
428b43de40
Ring3: Added comments and sanity checks.
2025-04-14 13:14:52 +03:00
Mikhail Krichanov
9247588149
Ring3: Prevented loading of DxeRing3 driver, when UserSpace is disabled.
2025-04-14 13:14:52 +03:00
Mikhail Krichanov
10cb3149cd
Core/Dxe: Added sanity checks.
2025-04-14 13:12:14 +03:00
Mikhail Krichanov
519bffe4f9
Core/Dxe: Placed platform dependent code into separate files.
2025-04-14 13:12:14 +03:00
Mikhail Krichanov
9d632c6572
Core/Dxe: Added sanity checks.
2025-04-14 13:12:14 +03:00
Mikhail Krichanov
b01769d4c0
SysCall: Refactored UserStackTop to allocate it anew for each CallRing3.
2025-04-14 13:12:14 +03:00
Mikhail Krichanov
fd4fbf2a26
SysCall: Added NumberOfCalls to USER_SPACE_DRIVER.
2025-04-14 13:12:14 +03:00
Mikhail Krichanov
b13baeb518
Ring3: Refactored out SysCallStackTop.
2025-04-14 13:12:14 +03:00
Mikhail Krichanov
2601648b32
Ring3: Refactored out CoreRsp and UserStackTop.
2025-04-14 13:12:14 +03:00
Mikhail Krichanov
79d8607366
Ring3: Refactored out gCoreSysCallStackTop and gRing3CallStackTop.
2025-04-14 13:06:18 +03:00
Mikhail Krichanov
99b902bde1
Ring3: Refactored User and SysCall stacks allocation.
2025-04-14 13:06:18 +03:00
Mikhail Krichanov
f6b75158a4
SysCall: Refactored Core wrappers to allow support for multiple User space drivers.
2025-04-14 13:06:17 +03:00
Mikhail Krichanov
6ad66cc634
Ring3: Split Page Table template construction and initialization,
...
removed ChangeUefiImageRing(), added GetUefiImageRecord().
2025-04-14 12:54:02 +03:00
Mikhail Krichanov
51447148b0
Ring3: Added support for separate User address space.
2025-04-14 12:50:53 +03:00
Mikhail Krichanov
4403a40236
Ring3: Added support for USER attribute in .fdf files.
2025-04-14 12:50:51 +03:00
Mikhail Krichanov
099a6e9e64
MdeModulePkg: Fixed MdeModulePkg compilation.
2025-04-14 11:36:10 +03:00
Mikhail Krichanov
cac7056c3e
Ring3: Moved InitializeRing3() to SysCall directory.
2025-04-14 11:36:10 +03:00
Mikhail Krichanov
e3f3d64eb5
Ring3: Added SysCallGetVariable wrapper.
2025-04-14 11:36:09 +03:00
Mikhail Krichanov
cf3bb4d68b
Ring3: Refactored exception handling.
2025-04-14 11:36:09 +03:00
Mikhail Krichanov
6c8b19286d
Ring3: Forbade Ring3 accsess to all ports but for UART
...
to allow DEBUG printing.
2025-04-14 11:36:09 +03:00
Mikhail Krichanov
20722176d3
Ring3: Refactored out AllocateRing3Copy().
2025-04-14 11:36:09 +03:00
Mikhail Krichanov
1a1afc8ce7
Ring3: Added PrepareRing3Interface().
2025-04-14 11:36:09 +03:00
Mikhail Krichanov
d11ff4bebd
Ring3: Some refactoring.
2025-04-14 11:36:09 +03:00
Mikhail Krichanov
13d7a33127
Ring3: Refactored AllocateRing3CopyPages() and mUserDriverBinding.
2025-04-14 11:36:09 +03:00
Mikhail Krichanov
f0fb2003a2
Ring3: Refactored CallRing3().
2025-04-14 11:36:09 +03:00
Mikhail Krichanov
702adc6292
Ring3: Refactored Ring3 initialization.
2025-04-14 11:23:05 +03:00
Mikhail Krichanov
27c04bb224
Ring3: Moved Ring3UefiBootServicesTableLib to Ring3Dxe.
2025-04-14 11:23:05 +03:00
Mikhail Krichanov
8a16ce73a7
Ring3: Refactored EnterUserImage() into CallRing3().
2025-04-14 11:23:05 +03:00
Mikhail Krichanov
2392881e22
Ring3: Added Ring3EntryPoint draft.
2025-04-14 11:23:05 +03:00
Mikhail Krichanov
b0c91ce70c
Ring3: Refactored out AllocateRing3Pages() BootService.
2025-04-14 11:23:05 +03:00
Mikhail Krichanov
926f1b1b69
Ring3: Moved SysCall code to DxeCore.
2025-04-14 11:23:05 +03:00
Mikhail Krichanov
e170598395
Ring3: Added helper function AllocateRing3Pages() and
...
draft of Ring3LocateProtocol().
2025-04-14 11:23:05 +03:00
Mikhail Krichanov
5bc84f06c0
Ring3: Fixed bug in calling Boot Service and did some refactoring.
2025-04-14 11:23:04 +03:00
Mikhail Krichanov
2fe010f40b
Ring3: Added CoreSysCallStack.
2025-04-14 11:23:04 +03:00
Mikhail Krichanov
e36fd7b639
Ring3: Added SYSCALL draft.
2025-04-14 11:23:04 +03:00
Mikhail Krichanov
6f854f19e9
Ring3: Fixed LibraryConstructors' initialization and
...
allowed user to access ports.
2025-04-14 11:23:04 +03:00
Mikhail Krichanov
51e2c2a3e8
Ring3: Added EnterUserImage().
2025-04-14 11:23:01 +03:00
Mikhail Krichanov
2fa2894bbd
Ring3: Added GetMemoryAttributes() into EFI_CPU_ARCH_PROTOCOL.
2025-04-14 11:21:17 +03:00
Mikhail Krichanov
62eb73d711
Ring3: Added IsUserImage field into LOADED_IMAGE_PRIVATE_DATA structure.
2025-04-14 11:21:17 +03:00
Mikhail Krichanov
33f15b44de
Ring3: Added EFI_MEMORY_USER attribute.
2025-04-14 11:21:14 +03:00
Mikhail Krichanov
992385e15e
SecurePE: Defined new PcdImageProtectionPolicy.
2025-04-07 12:30:28 +03:00
Mikhail Krichanov
48b806f46f
UE: Support UE generation and consumption.
2025-04-07 12:24:28 +03:00
Mikhail Krichanov
1fef202932
MdePkg/UefiImageLib: Introduce DebugAddress
...
Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
2025-04-07 12:24:27 +03:00
Mikhail Krichanov
e46d356fc9
MdePkg/UefiImageLib: Support multi-format and multi-source architecture
...
Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
2025-04-07 12:24:27 +03:00
Marvin Häuser
ec35a44c1e
MdeModulePkg/DxeCore: Re-use ImageIsFromFv for memory protection
2025-04-07 12:24:27 +03:00
Mikhail Krichanov
51c4b78146
Revert "MdeModulePkg: Enable forward edge CFI in mem attributes table"
...
This reverts commit e4ef609319236a018c60b84f68d9d923c4ba383e.
2025-04-07 12:24:27 +03:00
Mikhail Krichanov
20dd836214
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>
2025-04-07 12:23:28 +03:00
Marvin Häuser
f4778d6fdd
EmulatorPkg: Fix some image loader related issues
2025-04-07 12:13:58 +03:00
Mikhail Krichanov
09a0c067d0
SecurePE: Replaced old PE loader with Secure one.
2025-04-07 12:12:35 +03:00