152 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
7ecac413b2 Ring3: Fixed bug in Uart initialization. 2025-04-14 13:14:52 +03:00
Mikhail Krichanov
b71accf0db Ring3: Added Ring3AllocatePool() and Ring3FreePool(). 2025-04-14 13:12:14 +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
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
c5476bf51c Ring3: Refactored out MAX_LIST. 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
0c0b76825f SysCall: Added FreeUserSpaceDriver(). 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
a37ef161b6 Ring3: Fixed line endings. 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
ea41000bcf Ring3: Fixed line endings. 2025-04-14 13:12:12 +03:00
Mikhail Krichanov
79d8607366 Ring3: Refactored out gCoreSysCallStackTop and gRing3CallStackTop. 2025-04-14 13:06:18 +03:00
Mikhail Krichanov
7a0bb88360 Ring3: Fixed line endings. 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
8e6017ce99 SysCall: Added support for UnicodeCollationProtocol in User space. 2025-04-14 13:06:17 +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
f323165c69 SysCall: Fixed line endings. 2025-04-14 13:06:17 +03:00
Mikhail Krichanov
f4244d8d44 Ring3: Added support for ARM User page table. 2025-04-14 13:05:05 +03:00
Mikhail Krichanov
b739cbd2b5 Ring3: Added MakeUserPageTableTemplate() for ARM. 2025-04-14 13:05:05 +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
1135998eae SysCall: Refactored MakeUserPageTableTemplate(). 2025-04-14 13:00:53 +03:00
Mikhail Krichanov
2b0b63c99a SysCall: Simplified MakeUserPageTableTemplate(). 2025-04-14 13:00:53 +03:00
Mikhail Krichanov
a838238251 SysCall: Removed superfluous User attributes settings. 2025-04-14 13:00:53 +03:00
Mikhail Krichanov
41c813f55f Ring3: Added support for IA32 User page table. 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
9558d691d1 Ring3: Removed gEfiHobPageTableInfoGuid. 2025-04-14 13:00:53 +03:00
Mikhail Krichanov
a4886f5df1 SysCall: Turned on interrupts in User. 2025-04-14 13:00:53 +03:00
Mikhail Krichanov
0fd0e992d0 Ring3: Set 1G User pages as not present by default, fixed padding. 2025-04-14 13:00:53 +03:00
Mikhail Krichanov
0e14a53096 Ring3: Added Idt to User page table. 2025-04-14 13:00:53 +03:00
Mikhail Krichanov
1249d76ef8 SysCall: Disabled global pages, set User page table attibutes in
paging syscalls.
2025-04-14 12:54:02 +03:00
Mikhail Krichanov
b6db1dd9ac Core/Dxe: Fixed memory type in Ring3AllocatePages(), and code alignment. 2025-04-14 12:54:02 +03:00
Mikhail Krichanov
70b97bff7c Ring3: Added necessary Core pages to User page table. 2025-04-14 12:54:02 +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
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