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.

This commit is contained in:
maksw committed 2026-06-02 00:01:20 +02:00
1 parent b970d7f59c
commit b838f8d83d
130 files changed
+8137 -2932

No files matched your search

+4 -4
View File
@@ -48439,7 +48439,7 @@ void Z_DumpHeap(int lowtag, int hightag)
{
memblock_t* block;
//doom_print("zone size: %i location: %p\n",
//doom_print("zone size: %i location: 0x%016llX\n",
// mainzone->size, mainzone);
doom_print("zone size: ");
doom_print(doom_itoa(mainzone->size, 10));
@@ -48459,7 +48459,7 @@ void Z_DumpHeap(int lowtag, int hightag)
{
if (block->tag >= lowtag && block->tag <= hightag)
{
//doom_print("block:%p size:%7i user:%p tag:%3i\n", block, block->size, block->user, block->tag);
//doom_print("block:0x%016llX size:%7i user:0x%016llX tag:%3i\n", block, block->size, block->user, block->tag);
doom_print("block");
doom_print(doom_ptoa(block));
doom_print(" size:");
@@ -48496,7 +48496,7 @@ void Z_FileDumpHeap(void* f)
{
memblock_t* block;
//fprintf(f, "zone size: %i location: %p\n", mainzone->size, mainzone);
//fprintf(f, "zone size: %i location: 0x%016llX\n", mainzone->size, mainzone);
doom_fprint(f, "zone size: ");
doom_fprint(f, doom_itoa(mainzone->size, 10));
doom_fprint(f, " location: ");
@@ -48505,7 +48505,7 @@ void Z_FileDumpHeap(void* f)
for (block = mainzone->blocklist.next; ; block = block->next)
{
//fprintf(f, "block:%p size:%7i user:%p tag:%3i\n",
//fprintf(f, "block:0x%016llX size:%7i user:0x%016llX tag:%3i\n",
// block, block->size, block->user, block->tag);
doom_fprint(f, "block:");
doom_fprint(f, doom_ptoa(block));