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 @@
!include $(BASEDIR)\makefile.def
+7
View File
@@ -0,0 +1,7 @@
TARGETNAME=win32_seh_smoke
TARGETPATH=obj
TARGETTYPE=PROGRAM
FLAVOR=USER
TARGETLIBS="$(BASEDIR)\bin\win32.lib" "$(BASEDIR)\bin\syscall.lib" "$(BASEDIR)\bin\libc.lib" "$(BASEDIR)\bin\native_runtime.lib"
EXTRA_LFLAGS=/ENTRY:NtlNativeStart
SOURCES=@/code/user/tests/win32_seh_smoke/win32_seh_smoke.c
@@ -27,13 +27,11 @@ static volatile uint32_t gTopHits;
static volatile uint32_t gBottomHits;
static volatile uint32_t gVehHits;
// Prints one NUL-terminated string to the kernel console.
static void print(const char* s) {
SYS_WRITE_CONSOLE_REQUEST req = { sizeof(SYS_WRITE_CONSOLE_REQUEST), SysSvFromCstr(s) };
SysWriteConsole(&req);
}
// Prints one unsigned integer.
static void print_u64(uint64_t v) {
char buf[32];
int i = 0;
@@ -52,12 +50,10 @@ static void print_u64(uint64_t v) {
}
}
// Terminates the current process.
static void exit_now(int32_t code) {
while (true) SysExitProcess(code);
}
// Fails the test with one message.
static void fail(const char* message) {
print("win32_seh_smoke: ");
print(message);
@@ -65,7 +61,6 @@ static void fail(const char* message) {
exit_now(1);
}
// Fails the test with one integer value.
static void fail_value(const char* message, uint64_t value) {
print("win32_seh_smoke: ");
print(message);