replace nob with ms' build, move disk creation to build.bat, major comment cleanup, remove old and stupid tests, overhaul interrupt management with per-CPU vector allocation, affinity migration and safe teardown, add proper IOAPIC routing and PCI MSI/MSI-X/INTx support, migrate drivers to the new interrupt API, integrate ACPICA with a proper OS services layer, move ACPI firmware events, power button handling and S5 shutdown into acpi.sys, add parallel driver startup and atomic publication, replace PnP arrays with dynamic lists, redesign service startup again to be asynchronous, add delayed startup mode for services, allow omitting keys in services.ini, fix acpi ec deferred work handling, fix kernel threads having garbage exit code.

This commit is contained in:
maksw committed 2026-10-28 15:18:43 +01:00
1 parent d36f19509c
commit 36eef8f58d
696 files changed
+147281 -7530

No files matched your search

+1
View File
@@ -0,0 +1 @@
DIRS=dynamic static
+1
View File
@@ -0,0 +1 @@
!include $(BASEDIR)\makefile.def
+12
View File
@@ -0,0 +1,12 @@
TARGETNAME=syscall
TARGETPATH=obj
TARGETTYPE=DYNLINK
IMAGE_KIND=DLL
FLAVOR=USER
EXTRA_CFLAGS=/DNTL_SYSCALL_BUILD
TARGETLIBS="$(BASEDIR)\bin\libc.lib"
EXTRA_LFLAGS=/SUBSYSTEM:NATIVE /DYNAMICBASE /HIGHENTROPYVA
EXTRA_ASFLAGS=/I"$(BASEDIR)\code\user\syscall"
INCLUDES=$(BASEDIR)\code\user\syscall
SOURCES=@/code/user/syscall/pe_loader.c @/code/user/syscall/module_loader.c @/code/user/syscall/process_loader.c @/code/user/syscall/resource.c @/code/user/syscall/input_service.c @/code/user/syscall/console_service.c \
@/code/user/syscall/desktop.c @/code/user/syscall/path.c @/code/user/syscall/syscall_stubs.asm
+1
View File
@@ -0,0 +1 @@
!include $(BASEDIR)\makefile.def
+9
View File
@@ -0,0 +1,9 @@
TARGETNAME=syscall_s
TARGETPATH=obj
TARGETTYPE=LIBRARY
FLAVOR=USER
EXTRA_CFLAGS=/DNTL_SYSCALL_STATIC
EXTRA_ASFLAGS=/DNTL_SYSCALL_STATIC /I"$(BASEDIR)\code\user\syscall"
INCLUDES=$(BASEDIR)\code\user\syscall
SOURCES=@/code/user/syscall/pe_loader.c @/code/user/syscall/module_loader.c @/code/user/syscall/process_loader.c @/code/user/syscall/resource.c @/code/user/syscall/input_service.c @/code/user/syscall/console_service.c \
@/code/user/syscall/desktop.c @/code/user/syscall/path.c @/code/user/syscall/syscall_stubs.asm
+3 -3
View File
@@ -1,4 +1,4 @@
; syscall_stubs.asm - user-mode INT 0x40 stubs for syscall.dll and syscall_s.lib (MASM64)
; syscall_stubs.asm - user-mode INT 0x2F stubs for syscall.dll and syscall_s.lib (MASM64)
;
; Calling convention:
; RAX = syscall number.
@@ -30,7 +30,7 @@ ELSE
Sys&name PROC EXPORT
ENDIF
mov rax, nr
int 40h
int 02Fh
ret
Sys&name ENDP
ENDM
@@ -104,7 +104,7 @@ ENDIF
mov rbx, [rsp] ; restore original user RBX
add rsp, 8
mov rax, SYS_APC_RETURN
int 40h
int 02Fh
SysUserApcDispatcher_Failed:
jmp SysUserApcDispatcher_Failed