Commit Graph
16 Commits
Author SHA1 Message Date
maksw 2c4a68a75f 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. 2026-06-20 13:17:39 +02:00
maksw 467a58c9c6 rewrite comments into one, unified style 2026-06-15 10:17:48 +02:00
maksw 325149006c completely redesign how user mode memory is allocated, fix a few smp and scheduler bugs, terminating a process now terminates the process, telemetry, optimize text editor, new font, new color scheme 2026-06-09 18:02:28 +02:00
maksw b838f8d83d move keyboard and mouse out of HAL into a standalone ps2.sys driver, implement usb stack with xhci controller discovery, hid keyboard/mouse, and bulk-only mass storage, add pci msi support with capability chain walking and software irq vector allocation (slots 16-23), rewrite user virtual memory as a USER_VA_REGION descriptor arena with per-process ownership tracking and guard page support, replacing the old bump allocator and top-down image region, add MmCreateUserRegion/MmDestroyAllUserRegions so process teardown reclaims all user va in one pass, allocate a pool-backed shadow framebuffer in hal_screen to fix cursor tearing and scroll corruption, reserve ap trampoline page below 1mb in uefi bootloader before boot services exit, rewrite memset/memcpy/memmove/memcmp with __stosq/__movsq intrinsics, promote driver flag literals to macros and add multi-tu STANDALONE_DRIVERS table to build.c, split rtl8139/rtl816x into header+source, rename KbReadScancode to KbReadKey, improve page fault output with MmDebugDescribeAddress and user region dump, fix %p to %016llX throughout. 2026-06-02 00:01:20 +02:00
maksw bfe2b55142 parallel compile, SMP, swapgs, cleanup, remove useless Reserved fields 2026-05-30 11:18:46 +02:00
maksw 6bff37746d major restructuring, prepare for smp 2026-05-28 18:53:37 +02:00
maksw 529f816166 implement proper IRQL, DPCs, kernel and user APCs, alertable waits, async file I/O with cancellation, trap frames, selftests, a real driver/device model, native async FAT32, VFAT dotfile fixes, syscall ABI cleanup, async_apc and async_cancel tests, POSIX multi-volume paths, and pimp the readme. 2026-05-19 20:56:15 +02:00
maksw def649b995 memory savings 2026-05-14 14:57:00 +02:00
maksw a37f5b1581 fix ps/2 mouse init, make Stall more precise, rename CurrentProcess to KeGetCurrentProcess, correct type about maneuvers, add file writing to win32 2026-05-05 10:30:13 +02:00
maksw 4b57738fe3 add KePanic instead of splattering _disable __halt everywhere, implement a DMA + interrupts path to the IDE driver, move the dynamic arrays from kmain.c to ke_utils.h, remove weird unicode chars 2026-05-03 22:45:31 +02:00
maksw 83d48e09bb remove weird double spaces, remove /EXPORT from build.bat in favor of __declspec(dllexport) 2026-05-03 19:54:51 +02:00
maksw 9fa2a7e0db colonel.exe 🤑, refactor all include directives, AHCI is now interrupt driven, upgrades to IDE, implemented I/O Request Packets, fix numerous keyboard issues, change all for (;;) and while (1) to while (true), DbgPrint guarded by spinlock, fix KeSignalEvent, major KernelMain refactor, added SystemInitThread because of new blocking I/O, replace memcpy manouvers with strncpy and strncat, add: run for ide, runa for ahci, rund for debug and ide, runad for debug and ahci. 2026-05-03 19:35:48 +02:00
maksw 129be91e15 fix a few bugs in scheduling and synchronization, separate OVMF_VARS for debug 2026-05-02 11:34:30 +02:00
maksw 5cf7a20ea2 fix MmAllocateContiguous, implement polling AHCI driver. 2026-05-02 10:45:02 +02:00
maksw 84d6265410 KernelMain: more precise memory reporting, MmInitializePhysical: support more than ~1.1 GB of memory. 2026-05-01 23:54:27 +02:00
maksw 0e1479b168 i think it works 2026-04-30 23:52:46 +02:00