71 Commits

Author SHA1 Message Date
Mikhail Krichanov
3664e7206d Ring3: Renamed Ring3 as UserSpace. 2025-04-14 13:17:36 +03:00
Mikhail Krichanov
b71accf0db Ring3: Added Ring3AllocatePool() and Ring3FreePool(). 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
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
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
2ca7937d11 Ring3: Added support for AARCH64 User page table. 2025-04-14 13:05:02 +03:00
Mikhail Krichanov
a838238251 SysCall: Removed superfluous User attributes settings. 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
7f8eb4d2f6 SysCall: Refactored SysCallReturnToCore handling to fix CLANGDWARF NOOPT. 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
336fd7f9b9 Ring3: Fixed arguments alignment bug for ARM. 2025-04-14 12:09:42 +03:00
Mikhail Krichanov
cb3eea69af SysCall: Added sanity checks. 2025-04-14 11:52:51 +03:00
Mikhail Krichanov
538d1bbb8b SysCall: Fixed uninitialized variable. 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
1eac0a2ed3 Ring3: Fixed some page faults caused by wrong memory attribution. 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
c5925f6508 Ring3: Fixed bug in Ring3LocateHandleBuffer(),
added SysCallNames.
2025-04-14 11:36:10 +03:00
Mikhail Krichanov
3055d657eb Ring3: Moved UINT64 arguments to the end of argument list to fix IA32 stack. 2025-04-14 11:36:10 +03:00
Mikhail Krichanov
89a87a3ae4 SysCall: Fixed memory corruption in IA32. 2025-04-14 11:36:10 +03:00
Mikhail Krichanov
25a673e71b SysCall: Fixed MdeModulePkg compilation for VS2019. 2025-04-14 11:36:10 +03:00
Mikhail Krichanov
099a6e9e64 MdeModulePkg: Fixed MdeModulePkg compilation. 2025-04-14 11:36:10 +03:00
Mikhail Krichanov
28221fe295 Ring3: Added FreeProtocolsList(). 2025-04-14 11:36:10 +03:00
Mikhail Krichanov
007abdd586 SysCall: Fixed UnicodeFatToStr wrapper. 2025-04-14 11:36:10 +03:00
Mikhail Krichanov
92521497b1 Ring3: Added SysCallCalculateCrc32 wrapper. 2025-04-14 11:36:10 +03:00
Mikhail Krichanov
fcafe43bc5 SysCall: Fixed UnicodeCollation wrappers. 2025-04-14 11:36:09 +03:00
Mikhail Krichanov
373b6d9dc8 SysCall: Refactored protocols handling. 2025-04-14 11:36:09 +03:00
Mikhail Krichanov
9cf5e32c3b Ring3: Fixed Ring3LocateHandleBuffer(). 2025-04-14 11:36:09 +03:00
Mikhail Krichanov
e3f3d64eb5 Ring3: Added SysCallGetVariable wrapper. 2025-04-14 11:36:09 +03:00
Mikhail Krichanov
81e1df054f Ring3: Added UnicodeCollationProtocol wrappers. 2025-04-14 11:36:09 +03:00
Mikhail Krichanov
c19280858e Ring3: Added debug printings and some fixes for FAT wrappers. 2025-04-14 11:36:09 +03:00
Mikhail Krichanov
eba7b947da SysCall: Refactored data segment selectors' switching. 2025-04-14 11:36:09 +03:00
Mikhail Krichanov
7ac6cf2738 SysCall: Added checks of user variables. 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
ed70549c57 SysCall: Fixed bug in BlockIo, DiskIo Write functions. 2025-04-14 11:36:09 +03:00