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
438ce9293c
Update NTOSKRNL/CC/ccloghandler.cpp
2024-05-24 10:33:06 +02:00
4784e99b74
[NTOSKRNL:CC] Implementation of CcGetNumberOfMappedPages
...
Added CcGetNumberOfMappedPages,
2024-05-24 10:32:14 +02:00
5d6f81cb08
[NTOSKRNL:CC] Add RAII Wrapper Spinlock Guard
2024-05-24 10:28:15 +02:00
8e73c913ed
[NTOSKRNL:CC] added CcGetCachedDirtyPageCountForFile
...
Added CcGetCachedDirtyPageCountForFile
2024-05-24 08:16:13 +02:00
c3b506d686
[NTOSKRNL:CC] Bug Fix
2024-05-24 07:50:01 +02:00
18f2c27449
[NTOSKRNL:CC] Added more Log Handle Directives
...
Added CcSetLoggedDataThreshold,CcIsThereDirtyLoggedPages
2024-05-24 07:38:40 +02:00
8398391482
[BOOT] Fix copyright info
2024-05-23 10:03:59 -04:00
cdaea7b291
Fix README
2024-05-22 20:07:38 -04:00
8e7c2d02bb
[BOOT] Add EFI headers and entry point
2024-05-22 19:56:17 -04:00
88449693d4
Update NTOSKRNL/CC/cclazywriter.cpp
2024-05-21 14:46:57 +02:00
a8a6e6be35
Fixed CcComputeNextScanTime
2024-05-21 14:40:02 +02:00
25a937916b
Add NTOSKRNL/CC/ccinternal.hpp
2024-05-21 14:31:59 +02:00
49302f5b41
[NTOSKRNL:CC] Implementation of Lazy Writer
...
Lazy Writer is complete
2024-05-21 14:30:43 +02:00
3ff9824c8b
[NTOSKRNL:CC] Implementation of Lazy Writer
...
Implemented following function
*CcPostWorkQueue
*CcScheduleLazyWriteScanEx
*CcScheduleLazyWriteScan
*CcExceptionFilter
*CcPerformReadAhead
*CcPostDeferredWrites
*CcSetValidData
*CcWriteBehind
*CcLazyWriteScan
2024-05-21 11:38:04 +02:00
189cf42f74
[NTOSKRNL:CC] Fixing Synchronization Bug
...
Fixing Bug identified by PeyTy
2024-05-18 17:22:16 +02:00
5b5000d7f1
[NTOSKRNL:CC] CC LOG: Added CcGetLsnForFileObject
...
Added CcGetLsnForFileObject and fixed some Synchronization code,
2024-05-18 08:22:19 +02:00
90e470627f
Update NTOSKRNL/CC/ccloghandler.cpp
2024-05-17 18:08:23 +02:00
9fa8fa9fee
Fixed Parameters
...
Fixed Parameters for CcSetLogHandleForFileEx and CcSetAdditionalCacheAttributesEx as per WIndows SDK
2024-05-17 18:02:27 +02:00