isolate POSIX builds from the host UCRT, wire lwext4 and ntfs-3g as ext4.sys and ntfs.sys, split the FAT driver into directory/file/async/driver/mount units, add posixsrv and dwm plus input/console/desktop syscall clients and a pile of new smoke targets, rename serial.sys to cereal.sys, name HDA/USB/lwIP/AHCI workers, harden ATA probing/reset/removal around actual hardware deadlines, absent-channel detection, diagnostics and explicit worker lifetime, redo ACPI S5 shutdown around GAS/MMIO and HW-reduced firmware, scan SSDTs for _S5 and deal with Intel SMI sleep trapping, make serial and SMP timeouts use real monotonic deadlines, add thread names and fix terminal thread teardown, scheduler and APC prepare/commit races, make advisory file locks queryable and preserve split ranges and add mutable file append state, add shared-memory pipes with kernel-assisted wait/wake, introduce capability-scoped input and display managers, split surface map rights into read/write, add explicit unmap and replace present with commit/generation/damage tracking while keeping physical presentation under the display manager, decouple native exception classes from Win32 exception numbers and translate them in kernel32, add opaque process startup data, bump the resource protocol to v3 with namespace directories, symlinks and enumeration and service control to v2 with generic READY handle exports, add the new POSIX errno/status surface and rebuild fds around posixsrv-owned shared open descriptions, descriptor-local flags, exact inheritance snapshots, dup/fcntl/record locks and shared-ring pipes, add waitpid, POSIX credentials/groups/sessions/passwd/group lookups and move sockets onto stable open descriptions, port the shells and apps to the new console/input services and surface commit API, teach init to load services.ini and start/supervise RSSRV, DWM and generic services under restricted capabilities while publishing their endpoints through RSSRV, split RSSRV into namespace, volume, display, session, input, console and resource components and make /SystemRoot a real symlink to the independently published system volume, shift the syscall table again, expand lock/resource/surface/POSIX/service/thread smoke coverage, make docs scream ASK QUESTIONS and DISCUSS at LLMs, replace MIT No Attribution with WTFPL+.

This commit is contained in:
maksw committed 2026-09-16 10:33:20 +02:00
1 parent 3dacbd32c8
commit 73abd6f90d
441 files changed
+187073 -6549

No files matched your search

+156 -138
View File
@@ -18,164 +18,182 @@ SYS_GET_THREAD_LIST EQU 13
SYS_GET_CURRENT_TID EQU 14
SYS_GET_CURRENT_PID EQU 15
SYS_SET_THREAD_PRIORITY EQU 16
SYS_YIELD EQU 17
SYS_SLEEP EQU 18
SYS_WAIT_SINGLE EQU 19
SYS_WAIT_MANY EQU 20
SYS_SET_USER_APC_DISPATCHER EQU 21
SYS_APC_RETURN EQU 22
SYS_SET_EXCEPTION_DISPATCHER EQU 23
SYS_GET_EXCEPTION_DISPATCHER EQU 24
SYS_CONTINUE_EXCEPTION EQU 25
SYS_RAISE_EXCEPTION EQU 26
SYS_SET_THREAD_NAME EQU 17
SYS_QUERY_THREAD_NAME EQU 18
SYS_YIELD EQU 19
SYS_SLEEP EQU 20
SYS_WAIT_SINGLE EQU 21
SYS_WAIT_MANY EQU 22
SYS_SET_USER_APC_DISPATCHER EQU 23
SYS_APC_RETURN EQU 24
SYS_SET_EXCEPTION_DISPATCHER EQU 25
SYS_GET_EXCEPTION_DISPATCHER EQU 26
SYS_CONTINUE_EXCEPTION EQU 27
SYS_RAISE_EXCEPTION EQU 28
; Virtual memory, mappings, and handles.
SYS_ALLOC_VM EQU 27
SYS_FREE_VM EQU 28
SYS_PROTECT_VM EQU 29
SYS_QUERY_VM EQU 30
SYS_CLOSE_HANDLE EQU 31
SYS_DUPLICATE_HANDLE EQU 32
SYS_DERIVE_HANDLE EQU 33
SYS_REVOKE_HANDLE EQU 34
SYS_DERIVE_SECURITY_CONTEXT EQU 35
SYS_QUERY_SECURITY_CONTEXT EQU 36
SYS_CREATE_FILE_MAPPING EQU 37
SYS_MAP_FILE EQU 38
SYS_ALLOC_VM EQU 29
SYS_FREE_VM EQU 30
SYS_PROTECT_VM EQU 31
SYS_QUERY_VM EQU 32
SYS_CLOSE_HANDLE EQU 33
SYS_DUPLICATE_HANDLE EQU 34
SYS_DERIVE_HANDLE EQU 35
SYS_REVOKE_HANDLE EQU 36
SYS_DERIVE_SECURITY_CONTEXT EQU 37
SYS_QUERY_SECURITY_CONTEXT EQU 38
SYS_CREATE_FILE_MAPPING EQU 39
SYS_MAP_FILE EQU 40
; Synchronization objects.
SYS_CREATE_MUTEX EQU 39
SYS_TRY_ACQUIRE_MUTEX EQU 40
SYS_RELEASE_MUTEX EQU 41
SYS_CREATE_SEM EQU 42
SYS_TRY_WAIT_SEM EQU 43
SYS_SIGNAL_SEM EQU 44
SYS_CREATE_EVENT EQU 45
SYS_SIGNAL_EVENT EQU 46
SYS_CLEAR_EVENT EQU 47
SYS_CREATE_MUTEX EQU 41
SYS_TRY_ACQUIRE_MUTEX EQU 42
SYS_RELEASE_MUTEX EQU 43
SYS_CREATE_SEM EQU 44
SYS_TRY_WAIT_SEM EQU 45
SYS_SIGNAL_SEM EQU 46
SYS_CREATE_EVENT EQU 47
SYS_SIGNAL_EVENT EQU 48
SYS_CLEAR_EVENT EQU 49
; Queues and named queues.
SYS_CREATE_QUEUE EQU 48
SYS_SEND_QUEUE EQU 49
SYS_RECV_QUEUE EQU 50
SYS_PUBLISH_QUEUE EQU 51
SYS_OPEN_NAMED_QUEUE EQU 52
SYS_OPEN_NAMED_QUEUE_OWNER_PROCESS EQU 53
SYS_UNPUBLISH_QUEUE EQU 54
SYS_CREATE_QUEUE EQU 50
SYS_SEND_QUEUE EQU 51
SYS_RECV_QUEUE EQU 52
SYS_PUBLISH_QUEUE EQU 53
SYS_OPEN_NAMED_QUEUE EQU 54
SYS_OPEN_NAMED_QUEUE_OWNER_PROCESS EQU 55
SYS_UNPUBLISH_QUEUE EQU 56
; LPC-like Ports and well-known system services.
SYS_CREATE_PORT EQU 55
SYS_CONNECT_PORT EQU 56
SYS_ACCEPT_PORT EQU 57
SYS_SEND_PORT EQU 58
SYS_RECEIVE_PORT EQU 59
SYS_CALL_PORT EQU 60
SYS_REPLY_PORT EQU 61
SYS_DISCONNECT_PORT EQU 62
SYS_REGISTER_SYSTEM_SERVICE EQU 63
SYS_UNREGISTER_SYSTEM_SERVICE EQU 64
SYS_CONNECT_SYSTEM_SERVICE EQU 65
SYS_CREATE_PORT EQU 57
SYS_CONNECT_PORT EQU 58
SYS_ACCEPT_PORT EQU 59
SYS_SEND_PORT EQU 60
SYS_RECEIVE_PORT EQU 61
SYS_CALL_PORT EQU 62
SYS_REPLY_PORT EQU 63
SYS_DISCONNECT_PORT EQU 64
SYS_REGISTER_SYSTEM_SERVICE EQU 65
SYS_UNREGISTER_SYSTEM_SERVICE EQU 66
SYS_CONNECT_SYSTEM_SERVICE EQU 67
; Mounted-volume manager control plane.
SYS_QUERY_VOLUMES EQU 66
SYS_OPEN_VOLUME EQU 67
SYS_WAIT_VOLUME_CHANGE EQU 68
SYS_QUERY_VOLUMES EQU 68
SYS_OPEN_VOLUME EQU 69
SYS_WAIT_VOLUME_CHANGE EQU 70
; Files and directories.
SYS_OPEN_FILE_AT EQU 69
SYS_OPEN_DIR_AT EQU 70
SYS_STAT_AT EQU 71
SYS_DELETE_AT EQU 72
SYS_RENAME_AT EQU 73
SYS_CREATE_DIR_AT EQU 74
SYS_REMOVE_DIR_AT EQU 75
SYS_READ_FILE EQU 76
SYS_WRITE_FILE EQU 77
SYS_READ_FILE_ASYNC EQU 78
SYS_WRITE_FILE_ASYNC EQU 79
SYS_CANCEL_IO EQU 80
SYS_SEEK_FILE EQU 81
SYS_GET_FILE_POS EQU 82
SYS_GET_FILE_SIZE EQU 83
SYS_GET_FILE_STAT EQU 84
SYS_TRUNCATE_FILE EQU 85
SYS_FLUSH_FILE EQU 86
SYS_LOCK_FILE EQU 87
SYS_UNLOCK_FILE EQU 88
SYS_READ_DIR EQU 89
SYS_OPEN_FILE_AT EQU 71
SYS_OPEN_DIR_AT EQU 72
SYS_STAT_AT EQU 73
SYS_DELETE_AT EQU 74
SYS_RENAME_AT EQU 75
SYS_CREATE_DIR_AT EQU 76
SYS_REMOVE_DIR_AT EQU 77
SYS_READ_FILE EQU 78
SYS_WRITE_FILE EQU 79
SYS_READ_FILE_ASYNC EQU 80
SYS_WRITE_FILE_ASYNC EQU 81
SYS_CANCEL_IO EQU 82
SYS_SEEK_FILE EQU 83
SYS_GET_FILE_POS EQU 84
SYS_GET_FILE_SIZE EQU 85
SYS_GET_FILE_STAT EQU 86
SYS_TRUNCATE_FILE EQU 87
SYS_FLUSH_FILE EQU 88
SYS_LOCK_FILE EQU 89
SYS_UNLOCK_FILE EQU 90
SYS_QUERY_FILE_LOCK EQU 91
SYS_SET_FILE_STATUS EQU 92
SYS_CREATE_PIPE EQU 93
SYS_NOTIFY_PIPE EQU 94
SYS_READ_DIR EQU 95
; Console, display, and surfaces.
SYS_WRITE_CONSOLE EQU 90
SYS_GET_CONSOLE_INFO EQU 91
SYS_SET_CONSOLE_CURSOR EQU 92
SYS_FILL_CONSOLE_CHARACTER EQU 93
SYS_FILL_CONSOLE_ATTRIBUTE EQU 94
SYS_PUT_SCREEN_CHAR EQU 95
SYS_CLEAR_SCREEN EQU 96
SYS_GET_SCREEN_SIZE EQU 97
SYS_QUERY_DISPLAY_INFO EQU 98
SYS_OPEN_DISPLAY_CLOCK EQU 99
SYS_CREATE_SURFACE EQU 100
SYS_MAP_SURFACE EQU 101
SYS_QUERY_SURFACE EQU 102
SYS_PRESENT_SURFACE EQU 103
SYS_WRITE_CONSOLE EQU 96
SYS_GET_CONSOLE_INFO EQU 97
SYS_SET_CONSOLE_CURSOR EQU 98
SYS_FILL_CONSOLE_CHARACTER EQU 99
SYS_FILL_CONSOLE_ATTRIBUTE EQU 100
SYS_PUT_SCREEN_CHAR EQU 101
SYS_CLEAR_SCREEN EQU 102
SYS_GET_SCREEN_SIZE EQU 103
SYS_QUERY_DISPLAY_INFO EQU 104
SYS_QUERY_DISPLAY_MANAGER_INFO EQU 105
SYS_PRESENT_DISPLAY_MANAGER_SURFACE EQU 106
SYS_SET_DISPLAY_MANAGER_CURSOR EQU 107
SYS_WRITE_DISPLAY_MANAGER_CONSOLE EQU 108
SYS_QUERY_DISPLAY_MANAGER_CONSOLE_INFO EQU 109
SYS_SET_DISPLAY_MANAGER_CONSOLE_CURSOR EQU 110
SYS_FILL_DISPLAY_MANAGER_CONSOLE_CHARACTER EQU 111
SYS_FILL_DISPLAY_MANAGER_CONSOLE_ATTRIBUTE EQU 112
SYS_PUT_DISPLAY_MANAGER_CONSOLE_CHARACTER EQU 113
SYS_CLEAR_DISPLAY_MANAGER_CONSOLE EQU 114
SYS_OPEN_DISPLAY_CLOCK EQU 115
SYS_CREATE_SURFACE EQU 116
SYS_MAP_SURFACE EQU 117
SYS_UNMAP_SURFACE EQU 118
SYS_QUERY_SURFACE EQU 119
SYS_COMMIT_SURFACE EQU 120
; Native render audio.
SYS_AUDIO_ENUMERATE_ENDPOINTS EQU 104
SYS_AUDIO_OPEN_STREAM EQU 105
SYS_AUDIO_WRITE EQU 106
SYS_AUDIO_ARM_WAIT EQU 107
SYS_AUDIO_QUERY_STREAM EQU 108
SYS_AUDIO_START EQU 109
SYS_AUDIO_PAUSE EQU 110
SYS_AUDIO_RESUME EQU 111
SYS_AUDIO_DRAIN EQU 112
SYS_AUDIO_STOP EQU 113
SYS_AUDIO_RESET EQU 114
SYS_AUDIO_SET_VOLUME EQU 115
SYS_AUDIO_SET_MASTER_VOLUME EQU 116
SYS_AUDIO_ENUMERATE_ENDPOINTS EQU 121
SYS_AUDIO_OPEN_STREAM EQU 122
SYS_AUDIO_WRITE EQU 123
SYS_AUDIO_ARM_WAIT EQU 124
SYS_AUDIO_QUERY_STREAM EQU 125
SYS_AUDIO_START EQU 126
SYS_AUDIO_PAUSE EQU 127
SYS_AUDIO_RESUME EQU 128
SYS_AUDIO_DRAIN EQU 129
SYS_AUDIO_STOP EQU 130
SYS_AUDIO_RESET EQU 131
SYS_AUDIO_SET_VOLUME EQU 132
SYS_AUDIO_SET_MASTER_VOLUME EQU 133
; Input.
SYS_POLL_KEYBOARD EQU 117
SYS_IS_KEY_DOWN EQU 118
SYS_READ_KEYBOARD_CHAR EQU 119
SYS_READ_KEY EQU 120
SYS_GET_KEY_MODIFIERS EQU 121
SYS_QUERY_GLOBAL_INPUT_STATE EQU 122
SYS_OPEN_INPUT_QUEUE EQU 123
SYS_READ_INPUT_EVENT EQU 124
SYS_PEEK_INPUT_EVENT EQU 125
SYS_PEEK_MOUSE EQU 126
SYS_READ_MOUSE EQU 127
SYS_GET_MOUSE_POS EQU 128
SYS_READ_INPUT_MANAGER_EVENT EQU 134
SYS_POLL_KEYBOARD EQU 135
SYS_IS_KEY_DOWN EQU 136
SYS_READ_KEYBOARD_CHAR EQU 137
SYS_READ_KEY EQU 138
SYS_GET_KEY_MODIFIERS EQU 139
SYS_QUERY_GLOBAL_INPUT_STATE EQU 140
SYS_OPEN_INPUT_QUEUE EQU 141
SYS_READ_INPUT_EVENT EQU 142
SYS_PEEK_INPUT_EVENT EQU 143
SYS_PEEK_MOUSE EQU 144
SYS_READ_MOUSE EQU 145
SYS_GET_MOUSE_POS EQU 146
; Time, debug, and system information.
SYS_CREATE_TIMER EQU 129
SYS_SET_TIMER EQU 130
SYS_CANCEL_TIMER EQU 131
SYS_GET_TICK EQU 132
SYS_GET_TICK_FREQUENCY EQU 133
SYS_GET_SYSTEM_TIME EQU 134
SYS_PRINT_DEBUG EQU 135
SYS_QUERY_TRAP_FRAME EQU 136
SYS_GET_MEMORY_STATUS EQU 137
SYS_QUERY_KERNEL_STATS EQU 138
SYS_CREATE_TIMER EQU 147
SYS_SET_TIMER EQU 148
SYS_CANCEL_TIMER EQU 149
SYS_GET_TICK EQU 150
SYS_GET_TICK_FREQUENCY EQU 151
SYS_GET_SYSTEM_TIME EQU 152
SYS_PRINT_DEBUG EQU 153
SYS_QUERY_TRAP_FRAME EQU 154
SYS_GET_MEMORY_STATUS EQU 155
SYS_QUERY_KERNEL_STATS EQU 156
; Native sockets and polling.
SYS_CREATE_SOCKET EQU 139
SYS_SOCKET_IO_ASYNC EQU 140
SYS_BIND_SOCKET EQU 141
SYS_LISTEN_SOCKET EQU 142
SYS_ACCEPT_SOCKET EQU 143
SYS_CONNECT_SOCKET EQU 144
SYS_SEND_SOCKET EQU 145
SYS_RECV_SOCKET EQU 146
SYS_SHUTDOWN_SOCKET EQU 147
SYS_SEND_TO_SOCKET EQU 148
SYS_RECV_FROM_SOCKET EQU 149
SYS_RESOLVE_HOST EQU 150
SYS_SET_SOCKET_OPTION EQU 151
SYS_GET_SOCKET_OPTION EQU 152
SYS_POLL EQU 153
SYS_CREATE_SOCKET EQU 157
SYS_SOCKET_IO_ASYNC EQU 158
SYS_BIND_SOCKET EQU 159
SYS_LISTEN_SOCKET EQU 160
SYS_ACCEPT_SOCKET EQU 161
SYS_CONNECT_SOCKET EQU 162
SYS_SEND_SOCKET EQU 163
SYS_RECV_SOCKET EQU 164
SYS_SHUTDOWN_SOCKET EQU 165
SYS_SEND_TO_SOCKET EQU 166
SYS_RECV_FROM_SOCKET EQU 167
SYS_RESOLVE_HOST EQU 168
SYS_SET_SOCKET_OPTION EQU 169
SYS_GET_SOCKET_OPTION EQU 170
SYS_POLL EQU 171
SYS_MAX EQU 154
SYS_MAX EQU 172