add page cache with read-ahead and dirty writeback, file-backed and anonymous mmap with CoW, VAD-based virtual memory replacing the old user region model, PFN database with eviction and reclaim, file identity for cross-open section sharing, FAT32 path cache and per-file cluster chain cache, serial.sys for COM1 keyboard input, xHCI MSI with INTx and polled fallback, PciEnableMsiAuto, waitable input queue, KeWaitForAnyEvent, per-process thread info syscall, expanded kernel stats (PFN/PTE/VAD/file-cache/disk), pool allocation tags, async I/O user buffer locking, file flush on close, add docs.md.
This commit is contained in:
1 parent
61ec2442eb
commit
2c4a68a75f
114 files changed
+18069
-2620
No files matched your search
@@ -120,7 +120,7 @@ typedef struct HAL_INIT_PARAMS {
|
||||
void* (*AllocatePool)(size_t size);
|
||||
} HAL_INIT_PARAMS;
|
||||
|
||||
#define HAL_API_VERSION 5
|
||||
#define HAL_API_VERSION // do not change during development
|
||||
|
||||
__declspec(dllexport) const HAL_API* HalGetApi(void);
|
||||
__declspec(dllexport) void HalRegisterScheduler(void (*pKeSchedulerTick)(void));
|
||||
|
||||
@@ -179,6 +179,27 @@ typedef void (*IO_DISK_ARRIVAL_CALLBACK)(uint8_t driveIndex,
|
||||
DEVICE_OBJECT* device,
|
||||
void* context);
|
||||
|
||||
typedef struct IO_DISK_STATS {
|
||||
uint64_t RegisteredDisks;
|
||||
uint64_t ReadRequests;
|
||||
uint64_t ReadSectors;
|
||||
uint64_t WriteRequests;
|
||||
uint64_t WriteSectors;
|
||||
uint64_t MaxReadSectors;
|
||||
uint64_t MaxWriteSectors;
|
||||
uint64_t ReadaheadHits;
|
||||
uint64_t ReadaheadMisses;
|
||||
uint64_t ReadaheadStores;
|
||||
uint64_t ReadaheadInvalidations;
|
||||
uint64_t ReadaheadBytesServed;
|
||||
uint64_t ReadaheadSectorsLoaded;
|
||||
uint64_t ReadaheadSequentialDetections;
|
||||
uint64_t ReadaheadSuppressed;
|
||||
uint64_t ReadaheadAllocFailures;
|
||||
uint64_t ReadaheadReadFailures;
|
||||
uint64_t MaxReadaheadSectors;
|
||||
} IO_DISK_STATS;
|
||||
|
||||
__declspec(dllexport) KSTATUS IoRegisterDiskDevice(uint8_t driveIndex,
|
||||
DEVICE_OBJECT* device);
|
||||
__declspec(dllexport) KSTATUS IoNotifyDiskSurpriseRemoved(uint8_t driveIndex);
|
||||
@@ -203,3 +224,4 @@ __declspec(dllexport) KSTATUS IoWriteDiskSectors(uint8_t driveIndex,
|
||||
uint64_t lba,
|
||||
uint32_t count,
|
||||
const void* buffer);
|
||||
__declspec(dllexport) void IoQueryDiskStats(IO_DISK_STATS* out);
|
||||
@@ -118,3 +118,6 @@ PCI_API KSTATUS PciGetInterrupt(DEVICE_OBJECT* pdo,
|
||||
|
||||
PCI_API KSTATUS PciEnableMsi(DEVICE_OBJECT* pdo,
|
||||
uint8_t irqSlot);
|
||||
|
||||
PCI_API KSTATUS PciEnableMsiAuto(DEVICE_OBJECT* pdo,
|
||||
uint8_t* outIrqSlot);
|
||||
Reference in new issue
Block a user