47 Commits

Author SHA1 Message Date
Mikhail Krichanov
d8204d9779 UserSpace: Fixed compilation after rebasing upon edk2-stable202502 tag. 2025-04-14 21:58:57 +03:00
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
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
d20d45ae9b Ring3: Fixed memory leaks and passed UserArguments to CallBootService
through User stack for ARM, AARCH64.
2025-04-14 13:12:14 +03:00
Mikhail Krichanov
d7c10198ac SysCall: Fixed paddings, renamed CoreOpenVolume as
CoreSimpleFileSystemOpenVolume.
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
502bafe41b Ring3: Added NumberOfArguments to SysCall() and CallBootService(). 2025-04-14 13:12:14 +03:00
Mikhail Krichanov
213713f790 Ring3: Saved ReturnSP on SysCallStack. 2025-04-14 13:12:14 +03:00
Mikhail Krichanov
f532beefbd Ring3: Placed UnicodeCollation driver into User space. 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
ae0465017f SysCall: Refactored out mRing3CallStackTop and mCoreSysCallStackTop. 2025-04-14 13:12:14 +03:00
Mikhail Krichanov
8587830d67 SysCall: Refactored out CORE_STACK and RING3_STACK. 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
f438a38561 SysCall/AARCH64: Enabled interrupts in SysCall handlers. 2025-04-14 13:05:05 +03:00
Mikhail Krichanov
2ca7937d11 Ring3: Added support for AARCH64 User page table. 2025-04-14 13:05:02 +03:00
Mikhail Krichanov
2a0b76c4b9 Ring3: Added MakeUserPageTableTemplate() for AARCH64. 2025-04-14 13:00:53 +03:00
Mikhail Krichanov
03481707ea SysCall: Refactored InitializeMsr.c file name. 2025-04-14 13:00:53 +03:00
Mikhail Krichanov
a071d15784 Ring3: Added support for AARCH64 EL2&0 translation regime. 2025-04-14 12:38:38 +03:00
Mikhail Krichanov
d12742da3d SysCall: Refactored ReturnToCore() for AARCH64, ARM. 2025-04-14 12:15:46 +03:00
Mikhail Krichanov
97371df2b6 Ring3: Fixed PAN page faults. 2025-04-14 12:15:43 +03:00
Mikhail Krichanov
48f5f4f667 Ring3: Fixed buggy timer interrupt handling for AARCH64. 2025-04-14 12:12:47 +03:00
Mikhail Krichanov
0baa0bcac3 Ring3: Added DebugLibFdtPL011UartUser without HOB dependancy. 2025-04-14 12:12:47 +03:00
Mikhail Krichanov
7f8eb4d2f6 SysCall: Refactored SysCallReturnToCore handling to fix CLANGDWARF NOOPT. 2025-04-14 12:12:47 +03:00
Mikhail Krichanov
7f308c22c5 Ring3: Fixed ArmPkg and ArmVirtPkg compilation. 2025-04-14 12:12:47 +03:00
Mikhail Krichanov
cd64c7e0a6 Core/Dxe: Refactored DisableSMAP(), EnableSMAP() names. 2025-04-14 12:12:47 +03:00
Mikhail Krichanov
52fec299ed Core/Dxe: Changed line ending to Windows style. 2025-04-14 12:12:47 +03:00
Mikhail Krichanov
975c3b861e SysCall: Made SMEP, SMAP, PAN optional features. 2025-04-14 12:12:47 +03:00
Mikhail Krichanov
c40371524e SysCall: Fixed typos. 2025-04-14 12:09:42 +03:00
Mikhail Krichanov
6d7974586c Ring3: Defined CallRing3() for ARM. 2025-04-14 12:07:09 +03:00
Mikhail Krichanov
ea5ad0fb34 Ring3: Summarized all known problems for AARCH64. 2025-04-14 11:54:33 +03:00
Mikhail Krichanov
038a03aa34 SysCall/AARCH64: Increased probability of QEMU's normal work. 2025-04-14 11:54:33 +03:00
Mikhail Krichanov
a212a80c2e SysCall/AARCH64: Enabled interrupts. 2025-04-14 11:54:33 +03:00
Mikhail Krichanov
0044377f2b SysCall: Fixed random crashes of QEMU. 2025-04-14 11:54:33 +03:00
Mikhail Krichanov
ad5f4944d6 Ring3: Removed -mcpu=cortex-a76 option from tools_def.template. 2025-04-14 11:54:25 +03:00
Mikhail Krichanov
12c9c0a53d SysCall: Made CoreSp STATIC, fixed UserRsp for AARCH64. 2025-04-14 11:52:51 +03:00
Mikhail Krichanov
6bdf0c1acd Ring3: Defined CallInstallMultipleProtocolInterfaces() for AARCH64. 2025-04-14 11:52:51 +03:00
Mikhail Krichanov
8104e4543c Ring3: Refactored SysCallBootService() out of EFI_BOOT_SERVICES. 2025-04-14 11:52:51 +03:00
Mikhail Krichanov
f8c379de5f Ring3: Defined SysCallReturnToCore for AARCH64,
forbade ExceptionHanlders to use EL0 stack.
2025-04-14 11:52:51 +03:00
Mikhail Krichanov
393298742c Ring3: Defined SysCallBootService() for AARCH64. 2025-04-14 11:52:48 +03:00
Mikhail Krichanov
e40c47a69c Ring3: Defined CallRing3() for AARCH64. 2025-04-14 11:49:21 +03:00
Mikhail Krichanov
9059d7330a Ring3: Defined CpuGetMemoryAttributes(), DisableSMAP(), EnableSMAP() for AARCH64. 2025-04-14 11:49:21 +03:00
Mikhail Krichanov
57eb712768 Ring3: Added EL0 and PAN support for AARCH64. 2025-04-14 11:49:18 +03:00
Mikhail Krichanov
00df7fc81e Ring3: Added dummy functions for ARM, AARCH64. 2025-04-14 11:36:10 +03:00