Commit Graph

93 Commits

Author SHA1 Message Date
e75a2adeec
[NTOSKRNL:CC] Implement CcAdjustWriteBehindThreadPool and CcAdjustWriteBehindThreadPoolIfNeeded
These two function are responsible for  calling threadpool,when needed
2024-08-17 15:32:37 +02:00
1c173364a1
[NTOSKRNL::CC]Implement CcRescheduleLazyWriteScan CcSetLazyWriteScanQueued
These two function Rescheduling and Scheduling Lazy write scan
2024-08-17 15:08:39 +02:00
104a0212e0
[NTOSKRNL:CC] Add CcQueueLazyWriteScanThread
Implemented CcQueueLazyWriteScanThread
2024-08-17 08:47:34 +02:00
1dec536c4d
[NTOSKRNL:CC] Threadpool 2024-08-16 07:53:05 +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
3d6aa09be1 [NTOSKRNL:KE] Implemented ThreadAware Spinlock
Implemented ThreadAware SpinLock:
-> Mechanism to Initialize 
-> Priority Boost Mechanism
-> Lock Acquisition and Removal Mechanism
To do:
Implement a Algorithm to prevent Priority Inversion in Future,
2024-07-20 18:15:15 +02:00
52f5bb6bd2 [NTOSKRNL:KE] Implemented Slim Futex
Implemented Exceptionally Fast, yet simple Mutex ,exclusive to Alcyone called Slim Futex.
Functions implemented
*KeInitializeSlimFutex
*KeAcquireSlimFutex
*KeReleaseSlimFutex
*KeIsSlimFutexHeld
*KeIsSlimFutexLocked
2024-07-15 10:32:15 +02:00
d5aaba3c2d [NTOSKRNL:KE] Better Formatting
All NULL  dereferanced pointer are made nullptr to better comply with C++ 11
2024-07-11 14:35:54 +02:00
56e4dd1344 [NTOSKRNL:KE] Refactored Spinning Ring
*Refactored to comply more with C++ Type System 
*Added Idea of Ring Lock Chaining
2024-07-11 14:28:09 +02:00
3eacac0223 [NTOSKRNL:KE] Added Spinning Ring
*Added Spinning Ring Lock Implementation
*Added Information/Objective of the function
*Provided Methodology for Faster Modulus Operator.
2024-07-11 12:12:04 +02:00
3adfb0cff6 [NTOSKRNL:CC] Implemented CcUnpinFileDataEx
Implemented CcUnpinFileDataEx responsible for unpinning BCB and cleaning if it is dirty 
*Fixed Typo for freeing pool memory of some other function
2024-07-04 20:33:07 +02:00
7157abd1f9 [NTOSKRNL:CC] Pin Support Protocols
Added  Function Parameters for:

CcPinFileData
CcMapData
CcMapDataCommon
CcPinMappedData
CcPinRead
CcPreparePinWrite
CcSetBcbOwnerPointer

Functions Implemented:
CcUnpinData
CcUnpinDataForThread
2024-07-02 16:01:52 +02:00
05cd85be9b [NTOSKRNL:CC] Pin Hadler Initial Commit
* Implemented  CcMapDataCommon
Rest of the API will be implemented Soon.
2024-06-21 17:49:04 +02:00
bf0136ce21 [NTOSKRNL:CC] Fix Probing and locking of pages,
Set Ideal processor to 1 before probing and locking pages,
then restore it back to original state
2024-06-20 19:12:51 +02:00
be6f37b4dc [BOOT] Create input parameters structures. 2024-06-06 09:40:58 -04:00
42369f91ee [BOOT] Add boot library stubs 2024-05-30 19:54:07 -04:00
472b48ffd6 [BOOT] Rename efistatus.c to efiinit.c 2024-05-30 12:22:04 -04:00
9f7a91a5a7 Add Premake build system 2024-05-28 08:31:42 -04:00
d2c2ba65ea [BOOT] Add boot manager headers 2024-05-28 08:30:34 -04:00
1f041b4444 Update NTOSKRNL/CC/cclazywriter.cpp 2024-05-25 10:15:26 +02:00
785ff4b644 [NTOSKRNL:CC] Bug Fix 2024-05-25 09:42:40 +02:00
5a5ebcae89 [NTOSKRNL:CC] Fixed Probing code 2024-05-24 18:05:45 +02:00
2300440e3d [NTOSKRNL:CC] MDL Handler Refactored for using RAII 2024-05-24 10:42:12 +02:00
ac5f558605 RAII:: Added Spinlock Guard, 2024-05-24 10:38:19 +02:00