add a realtime scheduler class and priority-inheritance mutexes with timeouts and abandonment, add an HDA audio driver and a SYS_AUDIO_* syscall family, flesh out kernel32 with Win32 threads, events, mutexes, critical sections, and condition variables, add SYS_RESUME_THREAD for suspended thread creation, add KeInitializeMemoryTypes to reprogram MTRRs and install a canonical PAT for WB/WC/UC control, rework the display pipeline with a pitched present path and console output flush, bring back disk.vhd with mtools since vvfat fucking sucks, harden AHCI with serialized cache flush, USB mass storage with SCSI sense-data decoding, and xHCI with cleaner DMA teardown, fix the last stray for(;;) in HalStopProcessor to while(true), pile on smoke tests for audio, win32 sync primitives, and thread suspend, implement AHCI timeout, kill readahead since it was desperetaly trying to murder me, fix doom sound x2.
This commit is contained in:
1 parent
8b254f84f4
commit
4add6789ba
177 files changed
+22565
-3070
No files matched your search
@@ -15,11 +15,6 @@
|
||||
; SYSCALL_STUB2/3 - 4 or fewer args: pure register passing, no stack read.
|
||||
; SYSCALL_STUB5 - exactly 5 args: loads [rsp+28h] -> R10 only.
|
||||
; SYSCALL_STUB6 - 5 or 6 args: loads [rsp+28h] -> R10 and [rsp+30h] -> R11.
|
||||
;
|
||||
; Handle lifecycle:
|
||||
; SysCloseHandle is the single close stub for every object type.
|
||||
; There is no SysCloseFile - files are closed through the unified path,
|
||||
; exactly like mutexes, semaphores, events, and queues.
|
||||
|
||||
INCLUDE syscall_nr.inc
|
||||
|
||||
@@ -97,6 +92,7 @@ SYSCALL_STUB2 GetModuleExport, SYS_GET_MODULE_EXPORT
|
||||
SYSCALL_STUB2 GetModuleList, SYS_GET_MODULE_LIST
|
||||
|
||||
SYSCALL_STUB2 CreateThread, SYS_CREATE_THREAD
|
||||
SYSCALL_STUB2 ResumeThread, SYS_RESUME_THREAD
|
||||
SYSCALL_STUB2 GetCurrentTid, SYS_GET_CURRENT_TID
|
||||
SYSCALL_STUB2 GetCurrentPid, SYS_GET_CURRENT_PID
|
||||
SYSCALL_STUB2 SetThreadPriority, SYS_SET_THREAD_PRIORITY
|
||||
@@ -218,7 +214,24 @@ SYSCALL_STUB2 PresentSurface, SYS_PRESENT_SURFACE
|
||||
SYSCALL_STUB2 ClearScreen, SYS_CLEAR_SCREEN
|
||||
SYSCALL_STUB2 GetScreenSize, SYS_GET_SCREEN_SIZE
|
||||
SYSCALL_STUB2 QueryDisplayInfo, SYS_QUERY_DISPLAY_INFO
|
||||
SYSCALL_STUB2 OpenDisplayClock, SYS_OPEN_DISPLAY_CLOCK
|
||||
SYSCALL_STUB2 OpenDisplayClock, SYS_OPEN_DISPLAY_CLOCK
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Native render audio
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 AudioEnumerateEndpoints, SYS_AUDIO_ENUMERATE_ENDPOINTS
|
||||
SYSCALL_STUB2 AudioOpenStream, SYS_AUDIO_OPEN_STREAM
|
||||
SYSCALL_STUB2 AudioWrite, SYS_AUDIO_WRITE
|
||||
SYSCALL_STUB2 AudioArmWait, SYS_AUDIO_ARM_WAIT
|
||||
SYSCALL_STUB2 AudioQueryStream, SYS_AUDIO_QUERY_STREAM
|
||||
SYSCALL_STUB2 AudioStart, SYS_AUDIO_START
|
||||
SYSCALL_STUB2 AudioPause, SYS_AUDIO_PAUSE
|
||||
SYSCALL_STUB2 AudioResume, SYS_AUDIO_RESUME
|
||||
SYSCALL_STUB2 AudioDrain, SYS_AUDIO_DRAIN
|
||||
SYSCALL_STUB2 AudioStop, SYS_AUDIO_STOP
|
||||
SYSCALL_STUB2 AudioReset, SYS_AUDIO_RESET
|
||||
SYSCALL_STUB2 AudioSetVolume, SYS_AUDIO_SET_VOLUME
|
||||
SYSCALL_STUB2 AudioSetMasterVolume, SYS_AUDIO_SET_MASTER_VOLUME
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Input
|
||||
|
||||
Reference in new issue
Block a user