34269 Commits

Author SHA1 Message Date
Mikhail Krichanov
ca7d3c96c0 CpuExceptionHandlerLib: Refactored out mSwitchCr3Flag. 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
efafcabe02 CpuExceptionHandlerLibNull: Added dummy functions to fix MdeModulePkg
compilation.
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
56d7030ede ArmPkg: Fixed compilation. 2025-04-14 13:05:05 +03:00
Mikhail Krichanov
f4244d8d44 Ring3: Added support for ARM User page table. 2025-04-14 13:05:05 +03:00
Mikhail Krichanov
1c10e31d45 ArmPkg: Added CpuSetUserMemoryAttributes() for ARM. 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
6a09c07791 ArmPkg: Refactored SVC handling. 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
5194b674c2 ArmPkg: Added CpuSetUserMemoryAttributes() for AARCH64. 2025-04-14 13:00:53 +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
bf581dc3ce CpuArchLib: Fixed CpuGetMemoryAttributes(). 2025-04-14 13:00:53 +03:00
Mikhail Krichanov
2b0b63c99a SysCall: Simplified MakeUserPageTableTemplate(). 2025-04-14 13:00:53 +03:00
Mikhail Krichanov
98f13417fb CpuArchLib: Specified IdtTable size precisely. 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
39460473ff OvmfPkg: Increased PEI size at the expense of DXE,
increased SEC size at the expense of FVMAIN_COMPACT.
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
1d3f665282 Ring3: Added support for User page table to AllocatePages(), FreePages(). 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
3615418a84 Ring3: Added SetExceptionAddresses(), aligned exceptions' stacks. 2025-04-14 13:00:38 +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
2621d0f05a Ring3: Refactoring. 2025-04-14 12:50:53 +03:00
Mikhail Krichanov
6b2c6059f8 Ring3: Added build targets with '-D USER_SPACE' for ARM, AARCH64. 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
5fee574a51 ArmPkg: Disabled UserSpace by default to fix CI,
as WinPE and Linux EFI stub can not boot in
EL2&0 translation regime.
2025-04-14 12:48:31 +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
4968eac71c ArmLib: Added Instruction Synchronization Barriers for PAN changes. 2025-04-14 12:12:47 +03:00
Mikhail Krichanov
48f5f4f667 Ring3: Fixed buggy timer interrupt handling for AARCH64. 2025-04-14 12:12:47 +03:00