11683762c3
[NTOSKRNL:CC] Calculate Dirty Pages like NT5
2024-08-18 07:28:25 +02:00
3ae19eaf01
[NTOSKRNL::CC] Implement CcOkToAddWriteBehindThread
2024-08-17 20:13:20 +02:00
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