replace ad hoc driver loading with a proper driver manager, new DDK, new PnP manager with device matching, asynchronous startup, resource ownership and removal, add shared PCI capability helpers, replace typed, rigid services with a proper service manager, implement proper system shutdown and restart, shutting down unloads drivers and shuts down services, add simple power button, remove heavyweight boot self-tests and SMP stress runs, add monotonic timestamps to kernel debug output, fruitless USB and PS/2 fixes, make test builds opt in.

This commit is contained in:
maksw committed 2026-10-26 10:08:03 +01:00
1 parent c0ad63c27f
commit d36f19509c
160 files changed
+6563 -7366

No files matched your search

+21
View File
@@ -152,6 +152,27 @@ static KSTATUS NtlConsoleSimpleCall(SYS_HANDLE session, NTL_CONSOLE_REQUEST* req
return status;
}
// Sends one positioned text span in a single console request.
KSTATUS NtlConsoleWriteAt(SYS_HANDLE session, int32_t x, int32_t y,
const char* text, size_t length, size_t* writtenOut) {
if (writtenOut) *writtenOut = 0;
if (!text || length > NTL_CONSOLE_WRITE_MAX - 8u || x < 0 || y < 0)
return NTLSTATUS_INVALID_PARAMETER;
NTL_CONSOLE_REQUEST request;
memset(&request, 0, sizeof(request));
request.Size = sizeof(request);
request.Version = NTL_CONSOLE_PROTOCOL_VERSION;
request.Operation = NTL_CONSOLE_OP_WRITE_AT;
request.Data.WriteAt.X = x;
request.Data.WriteAt.Y = y;
request.Data.WriteAt.Length = (uint32_t)length;
memcpy(request.Data.WriteAt.Data, text, length);
NTL_CONSOLE_REPLY reply;
KSTATUS status = NtlConsoleCall(session, &request, &reply);
if (writtenOut) *writtenOut = reply.Written;
return status;
}
// Updates the logical console cursor.
KSTATUS NtlConsoleSetCursor(SYS_HANDLE session, int32_t x, int32_t y) {
NTL_CONSOLE_REQUEST request;