replace nob with ms' build, move disk creation to build.bat, major comment cleanup, remove old and stupid tests, overhaul interrupt management with per-CPU vector allocation, affinity migration and safe teardown, add proper IOAPIC routing and PCI MSI/MSI-X/INTx support, migrate drivers to the new interrupt API, integrate ACPICA with a proper OS services layer, move ACPI firmware events, power button handling and S5 shutdown into acpi.sys, add parallel driver startup and atomic publication, replace PnP arrays with dynamic lists, redesign service startup again to be asynchronous, add delayed startup mode for services, allow omitting keys in services.ini, fix acpi ec deferred work handling, fix kernel threads having garbage exit code.
This commit is contained in:
1 parent
d36f19509c
commit
36eef8f58d
696 files changed
+147281
-7530
No files matched your search
+154
-4
@@ -1,4 +1,4 @@
|
||||
; ke_syscall.asm - INT 0x40, fault, and IRQ kernel entries (MASM64)
|
||||
; ke_syscall.asm - INT 0x2F, fault, and IRQ kernel entries (MASM64)
|
||||
;
|
||||
; Syscall entry now builds an editable KTRAP_FRAME on the current kernel
|
||||
; stack. KiExitTrapFrame commits Rip/Cs/Rflags/Rsp/Ss back to the CPU IRET
|
||||
@@ -64,7 +64,7 @@ KeSyscallEntry PROC
|
||||
mov rax, KTRAP_FRAME_MAGIC
|
||||
mov [rbx + TF_Magic], rax
|
||||
mov dword ptr [rbx + TF_Kind], KTRAP_KIND_SYSCALL
|
||||
mov dword ptr [rbx + TF_Vector], 40h
|
||||
mov dword ptr [rbx + TF_Vector], 02Fh
|
||||
mov dword ptr [rbx + TF_PreviousMode], KTRAP_MODE_USER
|
||||
|
||||
mov [rbx + TF_Rcx], rcx
|
||||
@@ -781,7 +781,7 @@ IrqStub MACRO num
|
||||
PUBLIC KeIrqStub&num
|
||||
KeIrqStub&num PROC
|
||||
push rax
|
||||
mov al, num
|
||||
mov al, (030h + num)
|
||||
jmp KeIrqCommon
|
||||
KeIrqStub&num ENDP
|
||||
ENDM
|
||||
@@ -810,6 +810,156 @@ IrqStub 20
|
||||
IrqStub 21
|
||||
IrqStub 22
|
||||
IrqStub 23
|
||||
IrqStub 24
|
||||
IrqStub 25
|
||||
IrqStub 26
|
||||
IrqStub 27
|
||||
IrqStub 28
|
||||
IrqStub 29
|
||||
IrqStub 30
|
||||
IrqStub 31
|
||||
IrqStub 32
|
||||
IrqStub 33
|
||||
IrqStub 34
|
||||
IrqStub 35
|
||||
IrqStub 36
|
||||
IrqStub 37
|
||||
IrqStub 38
|
||||
IrqStub 39
|
||||
IrqStub 40
|
||||
IrqStub 41
|
||||
IrqStub 42
|
||||
IrqStub 43
|
||||
IrqStub 44
|
||||
IrqStub 45
|
||||
IrqStub 46
|
||||
IrqStub 47
|
||||
IrqStub 48
|
||||
IrqStub 49
|
||||
IrqStub 50
|
||||
IrqStub 51
|
||||
IrqStub 52
|
||||
IrqStub 53
|
||||
IrqStub 54
|
||||
IrqStub 55
|
||||
IrqStub 56
|
||||
IrqStub 57
|
||||
IrqStub 58
|
||||
IrqStub 59
|
||||
IrqStub 60
|
||||
IrqStub 61
|
||||
IrqStub 62
|
||||
IrqStub 63
|
||||
IrqStub 64
|
||||
IrqStub 65
|
||||
IrqStub 66
|
||||
IrqStub 67
|
||||
IrqStub 68
|
||||
IrqStub 69
|
||||
IrqStub 70
|
||||
IrqStub 71
|
||||
IrqStub 72
|
||||
IrqStub 73
|
||||
IrqStub 74
|
||||
IrqStub 75
|
||||
IrqStub 76
|
||||
IrqStub 77
|
||||
IrqStub 78
|
||||
IrqStub 79
|
||||
IrqStub 80
|
||||
IrqStub 81
|
||||
IrqStub 82
|
||||
IrqStub 83
|
||||
IrqStub 84
|
||||
IrqStub 85
|
||||
IrqStub 86
|
||||
IrqStub 87
|
||||
IrqStub 88
|
||||
IrqStub 89
|
||||
IrqStub 90
|
||||
IrqStub 91
|
||||
IrqStub 92
|
||||
IrqStub 93
|
||||
IrqStub 94
|
||||
IrqStub 95
|
||||
IrqStub 96
|
||||
IrqStub 97
|
||||
IrqStub 98
|
||||
IrqStub 99
|
||||
IrqStub 100
|
||||
IrqStub 101
|
||||
IrqStub 102
|
||||
IrqStub 103
|
||||
IrqStub 104
|
||||
IrqStub 105
|
||||
IrqStub 106
|
||||
IrqStub 107
|
||||
IrqStub 108
|
||||
IrqStub 109
|
||||
IrqStub 110
|
||||
IrqStub 111
|
||||
IrqStub 112
|
||||
IrqStub 113
|
||||
IrqStub 114
|
||||
IrqStub 115
|
||||
IrqStub 116
|
||||
IrqStub 117
|
||||
IrqStub 118
|
||||
IrqStub 119
|
||||
IrqStub 120
|
||||
IrqStub 121
|
||||
IrqStub 122
|
||||
IrqStub 123
|
||||
IrqStub 124
|
||||
IrqStub 125
|
||||
IrqStub 126
|
||||
IrqStub 127
|
||||
IrqStub 128
|
||||
IrqStub 129
|
||||
IrqStub 130
|
||||
IrqStub 131
|
||||
IrqStub 132
|
||||
IrqStub 133
|
||||
IrqStub 134
|
||||
IrqStub 135
|
||||
IrqStub 136
|
||||
IrqStub 137
|
||||
IrqStub 138
|
||||
IrqStub 139
|
||||
IrqStub 140
|
||||
IrqStub 141
|
||||
IrqStub 142
|
||||
IrqStub 143
|
||||
IrqStub 144
|
||||
IrqStub 145
|
||||
IrqStub 146
|
||||
IrqStub 147
|
||||
IrqStub 148
|
||||
IrqStub 149
|
||||
IrqStub 150
|
||||
IrqStub 151
|
||||
IrqStub 152
|
||||
IrqStub 153
|
||||
IrqStub 154
|
||||
IrqStub 155
|
||||
IrqStub 156
|
||||
IrqStub 157
|
||||
IrqStub 158
|
||||
IrqStub 159
|
||||
|
||||
PUBLIC KeLocalTimerStub
|
||||
KeLocalTimerStub PROC
|
||||
push rax
|
||||
mov al, 0E0h
|
||||
jmp KeIrqCommon
|
||||
KeLocalTimerStub ENDP
|
||||
|
||||
PUBLIC KeSpuriousStub
|
||||
KeSpuriousStub PROC
|
||||
push rax
|
||||
mov al, 0FFh
|
||||
jmp KeIrqCommon
|
||||
KeSpuriousStub ENDP
|
||||
|
||||
PUBLIC KeRescheduleIpiStub
|
||||
KeRescheduleIpiStub PROC
|
||||
@@ -819,7 +969,7 @@ KeRescheduleIpiStub PROC
|
||||
KeRescheduleIpiStub ENDP
|
||||
|
||||
KeIrqCommon PROC
|
||||
; al = irq number, original rax saved by the per-IRQ stub.
|
||||
; al = IDT vector, original rax saved by the vector stub.
|
||||
push rcx
|
||||
push rdx
|
||||
push r8
|
||||
|
||||
Reference in new issue
Block a user