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.

This commit is contained in:
maksw committed 2026-05-19 20:56:15 +02:00
1 parent f5fd7bdd75
commit 529f816166
75 files changed
+9969 -5675

No files matched your search

+5 -14
View File
@@ -24,28 +24,19 @@ static void doom_print_wrapper(const char* msg)
// ---------------------------------------------------------------------------
// doom_malloc_fn / doom_free_fn
// Prepend size tracking metadata to satisfy SysFree's size requirement.
// ---------------------------------------------------------------------------
static void* doom_malloc_wrapper(int size)
{
size_t total_size = size + sizeof(size_t);
void* p = SysAlloc(total_size);
void* p = SysAlloc(size);
if (!p) SysExitProcess(1);
// Store total allocated size at the start of the block
*(size_t*)p = total_size;
// Return pointer past the size prefix
return (void*)((size_t*)p + 1);
return p;
}
static void doom_free_wrapper(void* ptr)
{
if (!ptr) return;
size_t* real_p = (size_t*)ptr - 1;
size_t total_size = *real_p;
SysFree(real_p, total_size);
SysFree(ptr);
}
// ---------------------------------------------------------------------------
@@ -314,7 +305,7 @@ static int build_argv_from_command_line(const char* cmdline, char* storage, size
// ---------------------------------------------------------------------------
int main(void)
{
const char* cmdline = SysGetCommandLine();
const char* cmdline = SysGetPeb()->CommandLine;
SysWriteConsole("doom: starting\n", 15);