* Critical path tasks Test and debug Registry routines Finish multiple system service table support (HalRegisterServiceTable) Modify GENNTDLL to generate all needed system service tables * These tasks would be nice Separate HAL into KM DLL * Function groups totally or partially unimplemented Dma functions (see hal/x86/dma.c) PCI interface functions (see hal/x86/bios32.c, hal/x86/pci.c) HalExamineMbr Locale support (see ex/locale.c) Shutdown support (see ex/power.c) Zw(Set/Get)SystemInformation (see ex/sysinfo.c) Adapter functions (see io/adapter.c) Io cancelation support (see io/cancel, et al) Directory change notification (see io/dir.c) Error logging (see io/errlog.c) Buffer flushing (see io/flush.c) Io completion ports (see io/iocomp.c) File locking (see io/lock.c) Mailslots (see io/mailslot.c) Named pipes (see io/npipe.c) Hardware resource management (see io/resource.c) File access checking (see io/share.c) APCs to user-mode (see ke/apc.c, ke/apchelp.asm) Exception support (see ke/catch.c) Mutex support (see ke/mutex.c) Semaphore support (see ke/sem.c) Timer support (see ke/timer.c) Properly calibrate delay loop (see ke/timer.c) Waiting for multiple objects (see ke/wait.c) Single linked lists (see rtl/slist.c) Sequenced lists (see rtl/seqlist.c) * Verify implementation Fast mutexes (see ex/fmutex.c) * Major areas Security support (see se/*.c) Registry support (see cm/*.c) Paging support File system cache support SCSI miniport driver Network support Video drivers USER and GDI modules * Drivers NTFS, EXT2 filesystems Many others (use oem's where possible) * For the future DOS, Win16, POSIX subsystems