597 lines
11 KiB
ArmAsm
597 lines
11 KiB
ArmAsm
;
|
|
; PROJECT: ExectOS
|
|
; COPYRIGHT: See COPYING.md in the top level directory
|
|
; FILE: xtoskrnl/ar/amd64/traps.s
|
|
; DESCRIPTION: AMD64 system trap stubs
|
|
; DEVELOPERS: Jozef Nagy <schkwve@gmail.com>
|
|
;
|
|
|
|
.CODE
|
|
|
|
EXTERN ArpHandleTrap :PROC
|
|
|
|
pushaq macro
|
|
push rax
|
|
push rbx
|
|
push rcx
|
|
push rdx
|
|
push rsi
|
|
push rdi
|
|
push rbp
|
|
push r8
|
|
push r9
|
|
push r10
|
|
push r11
|
|
push r12
|
|
push r13
|
|
push r14
|
|
push r15
|
|
endm
|
|
|
|
popaq macro
|
|
pop r15
|
|
pop r14
|
|
pop r13
|
|
pop r12
|
|
pop r11
|
|
pop r10
|
|
pop r9
|
|
pop r8
|
|
pop rbp
|
|
pop rdi
|
|
pop rsi
|
|
pop rdx
|
|
pop rcx
|
|
pop rbx
|
|
pop rax
|
|
endm
|
|
|
|
ArpISRNoError macro Vector
|
|
ArpHandleTrap&Vector&:
|
|
cli
|
|
push 0
|
|
push Vector
|
|
pushaq
|
|
cld
|
|
call ArpHandleTrap
|
|
popaq
|
|
add rsp, 16
|
|
iretq
|
|
endm
|
|
|
|
ArpISRError macro Vector
|
|
ArpHandleTrap&Vector&:
|
|
cli
|
|
push Vector
|
|
pushaq
|
|
cld
|
|
call ArpHandleTrap
|
|
popaq
|
|
add rsp, 16
|
|
iretq
|
|
endm
|
|
|
|
;;
|
|
; @todo: Find a smarter way to do this.
|
|
;
|
|
; Apart from the first 32 descriptors, everything should be in some kind of
|
|
; loop that would unroll at compile-time.
|
|
;;
|
|
|
|
ArpISRNoError 0
|
|
ArpISRNoError 1
|
|
ArpISRNoError 2
|
|
ArpISRNoError 3
|
|
ArpISRNoError 4
|
|
ArpISRNoError 5
|
|
ArpISRNoError 6
|
|
ArpISRNoError 7
|
|
ArpISRError 8
|
|
ArpISRNoError 9
|
|
ArpISRError 10
|
|
ArpISRError 11
|
|
ArpISRError 12
|
|
ArpISRError 13
|
|
ArpISRError 14
|
|
ArpISRNoError 15
|
|
ArpISRNoError 16
|
|
ArpISRError 17
|
|
ArpISRNoError 18
|
|
ArpISRNoError 19
|
|
ArpISRNoError 20
|
|
ArpISRNoError 21
|
|
ArpISRNoError 22
|
|
ArpISRNoError 23
|
|
ArpISRNoError 24
|
|
ArpISRNoError 25
|
|
ArpISRNoError 26
|
|
ArpISRNoError 27
|
|
ArpISRNoError 28
|
|
ArpISRNoError 29
|
|
ArpISRError 30
|
|
ArpISRNoError 31
|
|
|
|
ArpISRNoError 32
|
|
ArpISRNoError 33
|
|
ArpISRNoError 34
|
|
ArpISRNoError 35
|
|
ArpISRNoError 36
|
|
ArpISRNoError 37
|
|
ArpISRNoError 38
|
|
ArpISRNoError 39
|
|
ArpISRNoError 40
|
|
ArpISRNoError 41
|
|
ArpISRNoError 42
|
|
ArpISRNoError 43
|
|
ArpISRNoError 44
|
|
ArpISRNoError 45
|
|
ArpISRNoError 46
|
|
ArpISRNoError 47
|
|
ArpISRNoError 48
|
|
ArpISRNoError 49
|
|
ArpISRNoError 50
|
|
ArpISRNoError 51
|
|
ArpISRNoError 52
|
|
ArpISRNoError 53
|
|
ArpISRNoError 54
|
|
ArpISRNoError 55
|
|
ArpISRNoError 56
|
|
ArpISRNoError 57
|
|
ArpISRNoError 58
|
|
ArpISRNoError 59
|
|
ArpISRNoError 60
|
|
ArpISRNoError 61
|
|
ArpISRNoError 62
|
|
ArpISRNoError 63
|
|
ArpISRNoError 64
|
|
ArpISRNoError 65
|
|
ArpISRNoError 66
|
|
ArpISRNoError 67
|
|
ArpISRNoError 68
|
|
ArpISRNoError 69
|
|
ArpISRNoError 70
|
|
ArpISRNoError 71
|
|
ArpISRNoError 72
|
|
ArpISRNoError 73
|
|
ArpISRNoError 74
|
|
ArpISRNoError 75
|
|
ArpISRNoError 76
|
|
ArpISRNoError 77
|
|
ArpISRNoError 78
|
|
ArpISRNoError 79
|
|
ArpISRNoError 80
|
|
ArpISRNoError 81
|
|
ArpISRNoError 82
|
|
ArpISRNoError 83
|
|
ArpISRNoError 84
|
|
ArpISRNoError 85
|
|
ArpISRNoError 86
|
|
ArpISRNoError 87
|
|
ArpISRNoError 88
|
|
ArpISRNoError 89
|
|
ArpISRNoError 90
|
|
ArpISRNoError 91
|
|
ArpISRNoError 92
|
|
ArpISRNoError 93
|
|
ArpISRNoError 94
|
|
ArpISRNoError 95
|
|
ArpISRNoError 96
|
|
ArpISRNoError 97
|
|
ArpISRNoError 98
|
|
ArpISRNoError 99
|
|
ArpISRNoError 100
|
|
ArpISRNoError 101
|
|
ArpISRNoError 102
|
|
ArpISRNoError 103
|
|
ArpISRNoError 104
|
|
ArpISRNoError 105
|
|
ArpISRNoError 106
|
|
ArpISRNoError 107
|
|
ArpISRNoError 108
|
|
ArpISRNoError 109
|
|
ArpISRNoError 110
|
|
ArpISRNoError 111
|
|
ArpISRNoError 112
|
|
ArpISRNoError 113
|
|
ArpISRNoError 114
|
|
ArpISRNoError 115
|
|
ArpISRNoError 116
|
|
ArpISRNoError 117
|
|
ArpISRNoError 118
|
|
ArpISRNoError 119
|
|
ArpISRNoError 120
|
|
ArpISRNoError 121
|
|
ArpISRNoError 122
|
|
ArpISRNoError 123
|
|
ArpISRNoError 124
|
|
ArpISRNoError 125
|
|
ArpISRNoError 126
|
|
ArpISRNoError 127
|
|
ArpISRNoError 128
|
|
ArpISRNoError 129
|
|
ArpISRNoError 130
|
|
ArpISRNoError 131
|
|
ArpISRNoError 132
|
|
ArpISRNoError 133
|
|
ArpISRNoError 134
|
|
ArpISRNoError 135
|
|
ArpISRNoError 136
|
|
ArpISRNoError 137
|
|
ArpISRNoError 138
|
|
ArpISRNoError 139
|
|
ArpISRNoError 140
|
|
ArpISRNoError 141
|
|
ArpISRNoError 142
|
|
ArpISRNoError 143
|
|
ArpISRNoError 144
|
|
ArpISRNoError 145
|
|
ArpISRNoError 146
|
|
ArpISRNoError 147
|
|
ArpISRNoError 148
|
|
ArpISRNoError 149
|
|
ArpISRNoError 150
|
|
ArpISRNoError 151
|
|
ArpISRNoError 152
|
|
ArpISRNoError 153
|
|
ArpISRNoError 154
|
|
ArpISRNoError 155
|
|
ArpISRNoError 156
|
|
ArpISRNoError 157
|
|
ArpISRNoError 158
|
|
ArpISRNoError 159
|
|
ArpISRNoError 160
|
|
ArpISRNoError 161
|
|
ArpISRNoError 162
|
|
ArpISRNoError 163
|
|
ArpISRNoError 164
|
|
ArpISRNoError 165
|
|
ArpISRNoError 166
|
|
ArpISRNoError 167
|
|
ArpISRNoError 168
|
|
ArpISRNoError 169
|
|
ArpISRNoError 170
|
|
ArpISRNoError 171
|
|
ArpISRNoError 172
|
|
ArpISRNoError 173
|
|
ArpISRNoError 174
|
|
ArpISRNoError 175
|
|
ArpISRNoError 176
|
|
ArpISRNoError 177
|
|
ArpISRNoError 178
|
|
ArpISRNoError 179
|
|
ArpISRNoError 180
|
|
ArpISRNoError 181
|
|
ArpISRNoError 182
|
|
ArpISRNoError 183
|
|
ArpISRNoError 184
|
|
ArpISRNoError 185
|
|
ArpISRNoError 186
|
|
ArpISRNoError 187
|
|
ArpISRNoError 188
|
|
ArpISRNoError 189
|
|
ArpISRNoError 190
|
|
ArpISRNoError 191
|
|
ArpISRNoError 192
|
|
ArpISRNoError 193
|
|
ArpISRNoError 194
|
|
ArpISRNoError 195
|
|
ArpISRNoError 196
|
|
ArpISRNoError 197
|
|
ArpISRNoError 198
|
|
ArpISRNoError 199
|
|
ArpISRNoError 200
|
|
ArpISRNoError 201
|
|
ArpISRNoError 202
|
|
ArpISRNoError 203
|
|
ArpISRNoError 204
|
|
ArpISRNoError 205
|
|
ArpISRNoError 206
|
|
ArpISRNoError 207
|
|
ArpISRNoError 208
|
|
ArpISRNoError 209
|
|
ArpISRNoError 210
|
|
ArpISRNoError 211
|
|
ArpISRNoError 212
|
|
ArpISRNoError 213
|
|
ArpISRNoError 214
|
|
ArpISRNoError 215
|
|
ArpISRNoError 216
|
|
ArpISRNoError 217
|
|
ArpISRNoError 218
|
|
ArpISRNoError 219
|
|
ArpISRNoError 220
|
|
ArpISRNoError 221
|
|
ArpISRNoError 222
|
|
ArpISRNoError 223
|
|
ArpISRNoError 224
|
|
ArpISRNoError 225
|
|
ArpISRNoError 226
|
|
ArpISRNoError 227
|
|
ArpISRNoError 228
|
|
ArpISRNoError 229
|
|
ArpISRNoError 230
|
|
ArpISRNoError 231
|
|
ArpISRNoError 232
|
|
ArpISRNoError 233
|
|
ArpISRNoError 234
|
|
ArpISRNoError 235
|
|
ArpISRNoError 236
|
|
ArpISRNoError 237
|
|
ArpISRNoError 238
|
|
ArpISRNoError 239
|
|
ArpISRNoError 240
|
|
ArpISRNoError 241
|
|
ArpISRNoError 242
|
|
ArpISRNoError 243
|
|
ArpISRNoError 244
|
|
ArpISRNoError 245
|
|
ArpISRNoError 246
|
|
ArpISRNoError 247
|
|
ArpISRNoError 248
|
|
ArpISRNoError 249
|
|
ArpISRNoError 250
|
|
ArpISRNoError 251
|
|
ArpISRNoError 252
|
|
ArpISRNoError 253
|
|
ArpISRNoError 254
|
|
ArpISRNoError 255
|
|
|
|
PUBLIC ArpTrapHandlers
|
|
ArpTrapHandlers:
|
|
DQ ArpHandleTrap0
|
|
DQ ArpHandleTrap1
|
|
DQ ArpHandleTrap2
|
|
DQ ArpHandleTrap3
|
|
DQ ArpHandleTrap4
|
|
DQ ArpHandleTrap5
|
|
DQ ArpHandleTrap6
|
|
DQ ArpHandleTrap7
|
|
DQ ArpHandleTrap8
|
|
DQ ArpHandleTrap9
|
|
DQ ArpHandleTrap10
|
|
DQ ArpHandleTrap11
|
|
DQ ArpHandleTrap12
|
|
DQ ArpHandleTrap13
|
|
DQ ArpHandleTrap14
|
|
DQ ArpHandleTrap15
|
|
DQ ArpHandleTrap16
|
|
DQ ArpHandleTrap17
|
|
DQ ArpHandleTrap18
|
|
DQ ArpHandleTrap19
|
|
DQ ArpHandleTrap20
|
|
DQ ArpHandleTrap21
|
|
DQ ArpHandleTrap22
|
|
DQ ArpHandleTrap23
|
|
DQ ArpHandleTrap24
|
|
DQ ArpHandleTrap25
|
|
DQ ArpHandleTrap26
|
|
DQ ArpHandleTrap27
|
|
DQ ArpHandleTrap28
|
|
DQ ArpHandleTrap29
|
|
DQ ArpHandleTrap30
|
|
DQ ArpHandleTrap31
|
|
DQ ArpHandleTrap32
|
|
DQ ArpHandleTrap33
|
|
DQ ArpHandleTrap34
|
|
DQ ArpHandleTrap35
|
|
DQ ArpHandleTrap36
|
|
DQ ArpHandleTrap37
|
|
DQ ArpHandleTrap38
|
|
DQ ArpHandleTrap39
|
|
DQ ArpHandleTrap40
|
|
DQ ArpHandleTrap41
|
|
DQ ArpHandleTrap42
|
|
DQ ArpHandleTrap43
|
|
DQ ArpHandleTrap44
|
|
DQ ArpHandleTrap45
|
|
DQ ArpHandleTrap46
|
|
DQ ArpHandleTrap47
|
|
DQ ArpHandleTrap48
|
|
DQ ArpHandleTrap49
|
|
DQ ArpHandleTrap50
|
|
DQ ArpHandleTrap51
|
|
DQ ArpHandleTrap52
|
|
DQ ArpHandleTrap53
|
|
DQ ArpHandleTrap54
|
|
DQ ArpHandleTrap55
|
|
DQ ArpHandleTrap56
|
|
DQ ArpHandleTrap57
|
|
DQ ArpHandleTrap58
|
|
DQ ArpHandleTrap59
|
|
DQ ArpHandleTrap60
|
|
DQ ArpHandleTrap61
|
|
DQ ArpHandleTrap62
|
|
DQ ArpHandleTrap63
|
|
DQ ArpHandleTrap64
|
|
DQ ArpHandleTrap65
|
|
DQ ArpHandleTrap66
|
|
DQ ArpHandleTrap67
|
|
DQ ArpHandleTrap68
|
|
DQ ArpHandleTrap69
|
|
DQ ArpHandleTrap70
|
|
DQ ArpHandleTrap71
|
|
DQ ArpHandleTrap72
|
|
DQ ArpHandleTrap73
|
|
DQ ArpHandleTrap74
|
|
DQ ArpHandleTrap75
|
|
DQ ArpHandleTrap76
|
|
DQ ArpHandleTrap77
|
|
DQ ArpHandleTrap78
|
|
DQ ArpHandleTrap79
|
|
DQ ArpHandleTrap80
|
|
DQ ArpHandleTrap81
|
|
DQ ArpHandleTrap82
|
|
DQ ArpHandleTrap83
|
|
DQ ArpHandleTrap84
|
|
DQ ArpHandleTrap85
|
|
DQ ArpHandleTrap86
|
|
DQ ArpHandleTrap87
|
|
DQ ArpHandleTrap88
|
|
DQ ArpHandleTrap89
|
|
DQ ArpHandleTrap90
|
|
DQ ArpHandleTrap91
|
|
DQ ArpHandleTrap92
|
|
DQ ArpHandleTrap93
|
|
DQ ArpHandleTrap94
|
|
DQ ArpHandleTrap95
|
|
DQ ArpHandleTrap96
|
|
DQ ArpHandleTrap97
|
|
DQ ArpHandleTrap98
|
|
DQ ArpHandleTrap99
|
|
DQ ArpHandleTrap100
|
|
DQ ArpHandleTrap101
|
|
DQ ArpHandleTrap102
|
|
DQ ArpHandleTrap103
|
|
DQ ArpHandleTrap104
|
|
DQ ArpHandleTrap105
|
|
DQ ArpHandleTrap106
|
|
DQ ArpHandleTrap107
|
|
DQ ArpHandleTrap108
|
|
DQ ArpHandleTrap109
|
|
DQ ArpHandleTrap110
|
|
DQ ArpHandleTrap111
|
|
DQ ArpHandleTrap112
|
|
DQ ArpHandleTrap113
|
|
DQ ArpHandleTrap114
|
|
DQ ArpHandleTrap115
|
|
DQ ArpHandleTrap116
|
|
DQ ArpHandleTrap117
|
|
DQ ArpHandleTrap118
|
|
DQ ArpHandleTrap119
|
|
DQ ArpHandleTrap120
|
|
DQ ArpHandleTrap121
|
|
DQ ArpHandleTrap122
|
|
DQ ArpHandleTrap123
|
|
DQ ArpHandleTrap124
|
|
DQ ArpHandleTrap125
|
|
DQ ArpHandleTrap126
|
|
DQ ArpHandleTrap127
|
|
DQ ArpHandleTrap128
|
|
DQ ArpHandleTrap129
|
|
DQ ArpHandleTrap130
|
|
DQ ArpHandleTrap131
|
|
DQ ArpHandleTrap132
|
|
DQ ArpHandleTrap133
|
|
DQ ArpHandleTrap134
|
|
DQ ArpHandleTrap135
|
|
DQ ArpHandleTrap136
|
|
DQ ArpHandleTrap137
|
|
DQ ArpHandleTrap138
|
|
DQ ArpHandleTrap139
|
|
DQ ArpHandleTrap140
|
|
DQ ArpHandleTrap141
|
|
DQ ArpHandleTrap142
|
|
DQ ArpHandleTrap143
|
|
DQ ArpHandleTrap144
|
|
DQ ArpHandleTrap145
|
|
DQ ArpHandleTrap146
|
|
DQ ArpHandleTrap147
|
|
DQ ArpHandleTrap148
|
|
DQ ArpHandleTrap149
|
|
DQ ArpHandleTrap150
|
|
DQ ArpHandleTrap151
|
|
DQ ArpHandleTrap152
|
|
DQ ArpHandleTrap153
|
|
DQ ArpHandleTrap154
|
|
DQ ArpHandleTrap155
|
|
DQ ArpHandleTrap156
|
|
DQ ArpHandleTrap157
|
|
DQ ArpHandleTrap158
|
|
DQ ArpHandleTrap159
|
|
DQ ArpHandleTrap160
|
|
DQ ArpHandleTrap161
|
|
DQ ArpHandleTrap162
|
|
DQ ArpHandleTrap163
|
|
DQ ArpHandleTrap164
|
|
DQ ArpHandleTrap165
|
|
DQ ArpHandleTrap166
|
|
DQ ArpHandleTrap167
|
|
DQ ArpHandleTrap168
|
|
DQ ArpHandleTrap169
|
|
DQ ArpHandleTrap170
|
|
DQ ArpHandleTrap171
|
|
DQ ArpHandleTrap172
|
|
DQ ArpHandleTrap173
|
|
DQ ArpHandleTrap174
|
|
DQ ArpHandleTrap175
|
|
DQ ArpHandleTrap176
|
|
DQ ArpHandleTrap177
|
|
DQ ArpHandleTrap178
|
|
DQ ArpHandleTrap179
|
|
DQ ArpHandleTrap180
|
|
DQ ArpHandleTrap181
|
|
DQ ArpHandleTrap182
|
|
DQ ArpHandleTrap183
|
|
DQ ArpHandleTrap184
|
|
DQ ArpHandleTrap185
|
|
DQ ArpHandleTrap186
|
|
DQ ArpHandleTrap187
|
|
DQ ArpHandleTrap188
|
|
DQ ArpHandleTrap189
|
|
DQ ArpHandleTrap190
|
|
DQ ArpHandleTrap191
|
|
DQ ArpHandleTrap192
|
|
DQ ArpHandleTrap193
|
|
DQ ArpHandleTrap194
|
|
DQ ArpHandleTrap195
|
|
DQ ArpHandleTrap196
|
|
DQ ArpHandleTrap197
|
|
DQ ArpHandleTrap198
|
|
DQ ArpHandleTrap199
|
|
DQ ArpHandleTrap200
|
|
DQ ArpHandleTrap201
|
|
DQ ArpHandleTrap202
|
|
DQ ArpHandleTrap203
|
|
DQ ArpHandleTrap204
|
|
DQ ArpHandleTrap205
|
|
DQ ArpHandleTrap206
|
|
DQ ArpHandleTrap207
|
|
DQ ArpHandleTrap208
|
|
DQ ArpHandleTrap209
|
|
DQ ArpHandleTrap210
|
|
DQ ArpHandleTrap211
|
|
DQ ArpHandleTrap212
|
|
DQ ArpHandleTrap213
|
|
DQ ArpHandleTrap214
|
|
DQ ArpHandleTrap215
|
|
DQ ArpHandleTrap216
|
|
DQ ArpHandleTrap217
|
|
DQ ArpHandleTrap218
|
|
DQ ArpHandleTrap219
|
|
DQ ArpHandleTrap220
|
|
DQ ArpHandleTrap221
|
|
DQ ArpHandleTrap222
|
|
DQ ArpHandleTrap223
|
|
DQ ArpHandleTrap224
|
|
DQ ArpHandleTrap225
|
|
DQ ArpHandleTrap226
|
|
DQ ArpHandleTrap227
|
|
DQ ArpHandleTrap228
|
|
DQ ArpHandleTrap229
|
|
DQ ArpHandleTrap230
|
|
DQ ArpHandleTrap231
|
|
DQ ArpHandleTrap232
|
|
DQ ArpHandleTrap233
|
|
DQ ArpHandleTrap234
|
|
DQ ArpHandleTrap235
|
|
DQ ArpHandleTrap236
|
|
DQ ArpHandleTrap237
|
|
DQ ArpHandleTrap238
|
|
DQ ArpHandleTrap239
|
|
DQ ArpHandleTrap240
|
|
DQ ArpHandleTrap241
|
|
DQ ArpHandleTrap242
|
|
DQ ArpHandleTrap243
|
|
DQ ArpHandleTrap244
|
|
DQ ArpHandleTrap245
|
|
DQ ArpHandleTrap246
|
|
DQ ArpHandleTrap247
|
|
DQ ArpHandleTrap248
|
|
DQ ArpHandleTrap249
|
|
DQ ArpHandleTrap250
|
|
DQ ArpHandleTrap251
|
|
DQ ArpHandleTrap252
|
|
DQ ArpHandleTrap253
|
|
DQ ArpHandleTrap254
|
|
DQ ArpHandleTrap255
|