replace the VHD/diskpart disk image pipeline with a directory-based vvfat root, we'll see when it breaks, fix /O2, add an all_tests, generalize the fat32 driver into a fat 16+32 driver, change policy on volume drivers, collapse KCPU's fields into a single atomic KE_CPU_STATE state machine, move scheduler ticking to per-CPU LAPIC timers, gate verbose SMP topology logging behind selftest diagnostics and add SMP pool-checkpoint validation around AP admission, add checked intrusive list helpers behind a new KE_DEBUG_LIST_CHECKS flag, add ObInitializeObjectHeader/ObTryReferenceObject, add waitable display clock objects and a SYS_OPEN_DISPLAY_CLOCK syscall for vsync-style waits, refactor kernel input into a per-queue KE_INPUT_CONTEXT with its own key/mouse ring buffers and DPC-driven key repeat, add KeInputQueuePeekEvent/ReadEvent/WaitKey and a SYS_QUERY_GLOBAL_INPUT_STATE syscall, split the kernel pool allocator out of mm_virt, new video files!
This commit is contained in:
1 parent
485a6bbfe7
commit
8b254f84f4
74 files changed
+4488
-2503
No files matched your search
@@ -89,6 +89,27 @@ int main(void) {
|
||||
badReq.QueueHandle = 0xdeadbeefu;
|
||||
expect_status("read input bad handle", SysReadInputEvent(&badReq), NTLSTATUS_INVALID_HANDLE);
|
||||
|
||||
SYS_GLOBAL_INPUT_STATE state;
|
||||
state.Size = sizeof(state);
|
||||
state.Flags = SYS_GLOBAL_INPUT_STATE_FLAG_NONE;
|
||||
expect_status("query global input null", SysQueryGlobalInputState((SYS_GLOBAL_INPUT_STATE*)0), NTLSTATUS_INVALID_PARAMETER);
|
||||
|
||||
SYS_GLOBAL_INPUT_STATE badState = state;
|
||||
badState.Size = 0;
|
||||
expect_status("query global input bad size", SysQueryGlobalInputState(&badState), NTLSTATUS_INVALID_PARAMETER);
|
||||
|
||||
badState = state;
|
||||
badState.Flags = 1;
|
||||
expect_status("query global input bad flags", SysQueryGlobalInputState(&badState), NTLSTATUS_INVALID_PARAMETER);
|
||||
|
||||
status = SysQueryGlobalInputState(&state);
|
||||
if (status != NTLSTATUS_SUCCESS)
|
||||
fail_status("query global input", status);
|
||||
if (state.Size != sizeof(state))
|
||||
fail_status("query global input size", state.Size);
|
||||
if (state.Flags != SYS_GLOBAL_INPUT_STATE_FLAG_NONE)
|
||||
fail_status("query global input flags", state.Flags);
|
||||
|
||||
status = SysPeekInputEvent(&req);
|
||||
if (status != NTLSTATUS_SUCCESS && status != NTLSTATUS_WOULD_BLOCK)
|
||||
fail_status("peek input immediate", status);
|
||||
|
||||
Reference in new issue
Block a user