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:
maksw committed 2026-07-12 00:10:21 +02:00
1 parent 485a6bbfe7
commit 8b254f84f4
74 files changed
+4488 -2503

No files matched your search

+53 -51
View File
@@ -85,61 +85,63 @@ SYS_SET_CWD EQU 72
SYS_REAL_PATH EQU 73
; Console, display, and surfaces.
SYS_WRITE_CONSOLE EQU 74
SYS_GET_CONSOLE_INFO EQU 75
SYS_SET_CONSOLE_CURSOR EQU 76
SYS_FILL_CONSOLE_CHARACTER EQU 77
SYS_FILL_CONSOLE_ATTRIBUTE EQU 78
SYS_PUT_SCREEN_CHAR EQU 79
SYS_CLEAR_SCREEN EQU 80
SYS_GET_SCREEN_SIZE EQU 81
SYS_QUERY_DISPLAY_INFO EQU 82
SYS_CREATE_SURFACE EQU 83
SYS_MAP_SURFACE EQU 84
SYS_QUERY_SURFACE EQU 85
SYS_PRESENT_SURFACE EQU 86
SYS_WRITE_CONSOLE EQU 74
SYS_GET_CONSOLE_INFO EQU 75
SYS_SET_CONSOLE_CURSOR EQU 76
SYS_FILL_CONSOLE_CHARACTER EQU 77
SYS_FILL_CONSOLE_ATTRIBUTE EQU 78
SYS_PUT_SCREEN_CHAR EQU 79
SYS_CLEAR_SCREEN EQU 80
SYS_GET_SCREEN_SIZE EQU 81
SYS_QUERY_DISPLAY_INFO EQU 82
SYS_OPEN_DISPLAY_CLOCK EQU 83
SYS_CREATE_SURFACE EQU 84
SYS_MAP_SURFACE EQU 85
SYS_QUERY_SURFACE EQU 86
SYS_PRESENT_SURFACE EQU 87
; Input.
SYS_POLL_KEYBOARD EQU 87
SYS_IS_KEY_DOWN EQU 88
SYS_READ_KEYBOARD_CHAR EQU 89
SYS_READ_KEY EQU 90
SYS_GET_KEY_MODIFIERS EQU 91
SYS_OPEN_INPUT_QUEUE EQU 92
SYS_READ_INPUT_EVENT EQU 93
SYS_PEEK_INPUT_EVENT EQU 94
SYS_PEEK_MOUSE EQU 95
SYS_READ_MOUSE EQU 96
SYS_GET_MOUSE_POS EQU 97
SYS_POLL_KEYBOARD EQU 88
SYS_IS_KEY_DOWN EQU 89
SYS_READ_KEYBOARD_CHAR EQU 90
SYS_READ_KEY EQU 91
SYS_GET_KEY_MODIFIERS EQU 92
SYS_QUERY_GLOBAL_INPUT_STATE EQU 93
SYS_OPEN_INPUT_QUEUE EQU 94
SYS_READ_INPUT_EVENT EQU 95
SYS_PEEK_INPUT_EVENT EQU 96
SYS_PEEK_MOUSE EQU 97
SYS_READ_MOUSE EQU 98
SYS_GET_MOUSE_POS EQU 99
; Time, debug, and system information.
SYS_CREATE_TIMER EQU 98
SYS_SET_TIMER EQU 99
SYS_CANCEL_TIMER EQU 100
SYS_GET_TICK EQU 101
SYS_GET_TICK_FREQUENCY EQU 102
SYS_GET_SYSTEM_TIME EQU 103
SYS_PRINT_DEBUG EQU 104
SYS_QUERY_TRAP_FRAME EQU 105
SYS_GET_MEMORY_STATUS EQU 106
SYS_QUERY_KERNEL_STATS EQU 107
SYS_CREATE_TIMER EQU 100
SYS_SET_TIMER EQU 101
SYS_CANCEL_TIMER EQU 102
SYS_GET_TICK EQU 103
SYS_GET_TICK_FREQUENCY EQU 104
SYS_GET_SYSTEM_TIME EQU 105
SYS_PRINT_DEBUG EQU 106
SYS_QUERY_TRAP_FRAME EQU 107
SYS_GET_MEMORY_STATUS EQU 108
SYS_QUERY_KERNEL_STATS EQU 109
; Native sockets and polling.
SYS_CREATE_SOCKET EQU 108
SYS_SOCKET_IO_ASYNC EQU 109
SYS_BIND_SOCKET EQU 110
SYS_LISTEN_SOCKET EQU 111
SYS_ACCEPT_SOCKET EQU 112
SYS_CONNECT_SOCKET EQU 113
SYS_SEND_SOCKET EQU 114
SYS_RECV_SOCKET EQU 115
SYS_SHUTDOWN_SOCKET EQU 116
SYS_SEND_TO_SOCKET EQU 117
SYS_RECV_FROM_SOCKET EQU 118
SYS_RESOLVE_HOST EQU 119
SYS_SET_SOCKET_OPTION EQU 120
SYS_GET_SOCKET_OPTION EQU 121
SYS_POLL EQU 122
SYS_UNPUBLISH_QUEUE EQU 123
SYS_CREATE_SOCKET EQU 110
SYS_SOCKET_IO_ASYNC EQU 111
SYS_BIND_SOCKET EQU 112
SYS_LISTEN_SOCKET EQU 113
SYS_ACCEPT_SOCKET EQU 114
SYS_CONNECT_SOCKET EQU 115
SYS_SEND_SOCKET EQU 116
SYS_RECV_SOCKET EQU 117
SYS_SHUTDOWN_SOCKET EQU 118
SYS_SEND_TO_SOCKET EQU 119
SYS_RECV_FROM_SOCKET EQU 120
SYS_RESOLVE_HOST EQU 121
SYS_SET_SOCKET_OPTION EQU 122
SYS_GET_SOCKET_OPTION EQU 123
SYS_POLL EQU 124
SYS_UNPUBLISH_QUEUE EQU 125
SYS_MAX EQU 124
SYS_MAX EQU 126