Commit Graph

112 Commits

Author SHA1 Message Date
dd7ae11851 Add more directory structure info to README.md 2024-08-25 11:02:08 -04:00
7125a17aca [BOOT:LIB] Refactor bootlib.c
InitializeLibary() now saves parameters data in
BlpApplicationParameters, BlpApplicationEntry, and BlpBootDevice.
Moved BlGetBootOptionSize() and BlGetBootOptionListSize() to bootopt.c
2024-08-25 10:55:20 -04:00
de9501aee9 [BOOT:LIB] Do some renaming
BOOT_APPLICATION_ENTRY_OPTION -> BOOT_APPLICATION_OPTION
BOOT_APPLICATION_ENTRY -> BOOT_INPUT_APPLICATION_ENTRY
2024-08-25 10:49:44 -04:00
e61d0f5155 [BOOT:BOOTMGR] Begin work on BCD support
Added stub for BmOpenDataStore()
2024-08-25 10:43:48 -04:00
b8afb1aad4 [SDK:NT] Reorganize and extend ntdef.h
Added LONG_PTR
Added INVALID_HANDLE_VALUE
2024-08-25 10:42:37 -04:00
fb0e36f5cf [SDK:NT] Add more status values and handles
Added STATUS_INVALID_PARAMETER_[1-12]
Added HANDLE and PHANDLE
2024-08-25 10:31:04 -04:00
c091f7ef59 [BOOT:LIB] Print boot info in InitializeLibrary() 2024-08-24 18:55:13 -04:00
3759f7dbfe [SDK:NT] Add ULONG_PTR type 2024-08-24 18:54:33 -04:00
b96b3d769c Update .gitignore 2024-08-24 16:44:43 -04:00
7aac701cc1 [BOOT:BOOTMGR] Print error message on failure 2024-08-24 16:35:36 -04:00
77d2f84e97 [BOOT:LIB] Implement ConsolePrintf() 2024-08-24 16:34:59 -04:00
b870d5a015 [SDK:CRT] Implement vswprintf() 2024-08-24 16:33:16 -04:00
5235ebdfa4 [BOOT:LIB] Implement BlpFwInitialize() 2024-08-24 16:32:22 -04:00
874d95ae4c [BOOT:LIB] Implement EfiInitpConvertEfiFilePath()
Also implemented RtlULongSub() and EfiInitpAppendPathString()
2024-08-24 12:39:16 -04:00
8f56881d02 [BOOT:LIB] More work on efiinit.c
EfiInitpCreateApplicationEntry() is almost complete.
2024-08-24 10:36:32 -04:00
0743fa0106 [BOOT:LIB] Add boot option size helpers 2024-08-24 10:35:48 -04:00
fd670ace0d [BOOT:LIB] Major work on efiinit.c
Improved EfiInitpCreateApplicationEntry()
Implemented EfiInitpGetDeviceNode(), EfiInitTranslateDevicePath(),
and EfiInitpConvertDevicePath()
2024-08-24 09:30:52 -04:00
9b66f166d6 [BOOT:BOOTMGR] Add device definitions to bootmgr.h 2024-08-24 09:16:34 -04:00
a6aa028e5c [BUILD] Fix source file paths 2024-08-24 09:12:52 -04:00
ccb62c05f5 [SDK:NT] Add BOOL and STATUS_UNSUCCESSFUL 2024-08-24 09:12:16 -04:00
1c2c797365 [BOOT] Add more definitions to efidevp.h 2024-08-24 09:11:21 -04:00
08d017171d
[NTOSKRNL:CC] Implement Extarnal Cache Directives
Implemented::
CcDeductDirtyPagesFromExternalCache
CcAddDirtyPagesToExternalCache:: Exported 
CcAddExternalCache
CcRegisterExternalCache:: Exported 
CcRemoveExternalCache
CcUnregisterExternalCache :: Exported
2024-08-18 11:11:36 +02:00
d0d6097d57
[NTOSKRNL:CC] Disable ExtraWriteBehind Threadpool ,
Threadpool facility will be developed first in  LazyWriter-Threadpool branch before merging, to ensure stability. 

Removed : CcComputeNextScanTime
2024-08-18 08:22:58 +02:00
e25bcab194
[NTOSKRNL:CC] Disable Fault Clustering while Probing
It ensure fault clustering is disabled for current thread, otherwise on some test it was failing MmProbeAndLockPages
2024-08-16 06:50:35 +02:00
688615fa39
[NTOSKRNL:CC] Bug Fix
Some test failed due to miss use of ForwardClusterOnly
2024-08-16 06:45:16 +02:00
2530ffd322 [BOOT:BOOTLIB] Improve EFI device protocol support 2024-08-09 15:10:10 -04:00
2680e9b4c0 [BOOT:BOOTLIB] Parse BCD GUID to application entry 2024-08-09 09:11:09 -04:00
76e007584e Make BOOTMGR buildable again 2024-08-09 09:10:23 -04:00
ceb86e3cb2 [SDK:RTL] Add RtlInitUnicodeString() and RtlGUIDFromString() 2024-08-09 08:34:04 -04:00
0998d5c417 [SDK:NT] Improve ntdef.h and add guiddef.h 2024-08-09 08:32:31 -04:00
7af18b7ac3 [SDK:CRT] Implement stdarg.h 2024-08-09 08:31:35 -04:00
b57dcc8078 [SDK:CRT] Implement more string routines 2024-08-08 16:41:45 -04:00
120277161c [SDK] Reorganize header files 2024-08-08 15:27:44 -04:00
e48262d4d7 [SDK:CRT] Implement memcpy() and wmemcpy() 2024-08-08 08:24:20 -04:00
8ff7a75afc Add SDK/CRT string routines and headers 2024-08-08 08:04:59 -04:00
70489d6d39 Update README.md 2024-08-08 08:04:35 -04:00
8a9e450310
[NTOSKRNL:CC] Pinsupport Optimize Spinlock
Use more optimized KeAcquireInStackQueuedSpinLock for better performance
2024-08-07 16:53:50 +02:00
62ebdde712
[NTOSKRNL:CC] Cache Controller Pinsupport :: CcPinRead and CcPinMappedData
Completely implemented CcPinRead and CcPinMappedData

In future Refactor with BCB Iterator with bounds checking.
2024-08-07 16:09:29 +02:00
47bfb48ebb
Update NTOSKRNL/CC/ccpinsupport.cpp
Loop was prematurely terminating  due to wrong condition 
of if(BeyondLastByte.QuadPart < LocalFileOffset.QuadPart + RemainingLength)
we are mapping across the length, 
itroduced some guard checks 
if(localbcb != nullptr)
   {
    CcSetDirtyPinnedData(localbcb, nullptr);
    *Bcb = localbcb;
   }  to fix some test case where it was failing
2024-08-07 15:28:55 +02:00
10527bf405
[NTOSKRNL:CC] CcSetDirtyPinnedData :: use reconstructed OBCB Structure
Their no PBCB anymore, since we reconstructed it by looking at _OBCB  which is reconstructed from CcAllocateObcb, 
we know that bcb array is array of PCC_BCB structure, thus modified CcSetDirtyPinnedData to use OBCB instead
2024-08-07 15:09:57 +02:00
4258a10fbb
[NTOSKRNL:CC] CcMapDataForOverwrite
Modified CcMapDataForOverwrite to use CalculatePageCount Template
2024-08-07 14:56:02 +02:00
0e2abe7eb5
[NTOSKRNL:CC] Add CalculatePageCount Template
Added CalculatePageCount Template function to calculate total pagecount from file offset and length
2024-08-07 14:47:04 +02:00
2bc93fca07
[NTOSKRNL:CC] Fix NullPtr
NullPtr became Nullptre? Somehow
2024-08-07 11:01:45 +02:00
d7ee2f9afc
[NTOSKRNL:CC] CcMapDataForOverwrite
Implemented CcMapDataForOverwrite
2024-08-07 10:38:18 +02:00
ddda3559c6
[NTOSKRNL:CC] Implement CcPinFileData
Implemented CcPinFileData
Note: Future had to be refactored to be more functional in styling
2024-08-06 14:50:17 +02:00
4370544c97
[NTOSKRNL:CC] Pin Support::Implemented CcSetDirtyPinnedData
Implemented CcSetDirtyPinnedData
Note: In Future Implement Specialized Iterator for Bcbs ,introduce bounds checking similar
to GSL Span
2024-08-06 13:59:37 +02:00
a40c3d4200
[NTOSKRNL:CC] Pin Support Protocols :: added functions
Completed Implementation for::
*CcPreparePinWrite
*CcMapData
*CcAllocateObcb
Reconstructed/Guessed OBCB Structure
2024-08-01 15:23:57 +02:00
dac01f6510
[NTOSKRNL:CC] Added Bounds Checked Array Class
This Bounds Checked array will be used for OBCB type
2024-08-01 14:02:45 +02:00
d825fe1dcb
[NTOSKRNL:CC] Implemented CcSetBcbOwnerPointer
Implemented CcSetBcbOwnerPointer, now it correctly handle resource from MBCB
2024-07-31 08:46:17 +02:00
67ee8f85ce
[NTOSKRNL:KE] Implement Mutex
*Initial Structure for  Fast  Mutexes in NT Kernel 
*Implemented some directives
Todo:
* Implement All Fast and Guarded Mutex Functions present in NT10 and Exclusive to Alcyone
2024-07-30 19:33:48 +02:00