Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .macro common_interrupt_stub
- push %r11
- push %r10
- push %r9
- push %r8
- push %rdx
- push %rcx
- push %rax
- cld
- call interrupt_handler
- pop %rax
- pop %rcx
- pop %rdx
- pop %r8
- pop %r9
- pop %r10
- pop %r11
- .endm
- .macro interrupt_stub idx
- .global interrupt_stub_\idx
- .align 16
- interrupt_stub_\idx:
- push %rdi
- push %rsi
- mov $\idx,%edi
- xor %esi,%esi
- common_interrupt_stub
- pop %rsi
- pop %rdi
- iretq
- .endm
- .macro exception_stub idx
- .global exception_stub_\idx
- .align 16
- exception_stub_\idx:
- push %rax # Align the stack
- push %rdi
- push %rsi
- mov $\idx,%edi
- mov 0x18(%rsp),%esi
- common_interrupt_stub
- pop %rsi
- pop %rdi
- add $0x10,%rsp # Pop the error code
- # (plus the 8 bytes we pushed on entry)
- iretq
- .endm
- INTERRUPT_STUB 0
- INTERRUPT_STUB 1
- INTERRUPT_STUB 2
- INTERRUPT_STUB 3
- INTERRUPT_STUB 4
- INTERRUPT_STUB 5
- INTERRUPT_STUB 6
- INTERRUPT_STUB 7
- EXCEPTION_STUB 8
- INTERRUPT_STUB 9
- EXCEPTION_STUB 10
- EXCEPTION_STUB 11
- EXCEPTION_STUB 12
- EXCEPTION_STUB 13
- EXCEPTION_STUB 14
- INTERRUPT_STUB 15
- INTERRUPT_STUB 16
- EXCEPTION_STUB 17
- INTERRUPT_STUB 18
- INTERRUPT_STUB 19
- INTERRUPT_STUB 20
- EXCEPTION_STUB 21
- INTERRUPT_STUB 22
- INTERRUPT_STUB 23
- INTERRUPT_STUB 24
- INTERRUPT_STUB 25
- INTERRUPT_STUB 26
- INTERRUPT_STUB 27
- INTERRUPT_STUB 28
- EXCEPTION_STUB 29
- EXCEPTION_STUB 30
- INTERRUPT_STUB 31
- INTERRUPT_STUB 32
- INTERRUPT_STUB 33
- INTERRUPT_STUB 34
- INTERRUPT_STUB 35
- INTERRUPT_STUB 36
- INTERRUPT_STUB 37
- INTERRUPT_STUB 38
- INTERRUPT_STUB 39
- INTERRUPT_STUB 40
- INTERRUPT_STUB 41
- INTERRUPT_STUB 42
- INTERRUPT_STUB 43
- INTERRUPT_STUB 44
- INTERRUPT_STUB 45
- INTERRUPT_STUB 46
- INTERRUPT_STUB 47
- INTERRUPT_STUB 48
- INTERRUPT_STUB 49
- INTERRUPT_STUB 50
- INTERRUPT_STUB 51
- INTERRUPT_STUB 52
- INTERRUPT_STUB 53
- INTERRUPT_STUB 54
- INTERRUPT_STUB 55
- INTERRUPT_STUB 56
- INTERRUPT_STUB 57
- INTERRUPT_STUB 58
- INTERRUPT_STUB 59
- INTERRUPT_STUB 60
- INTERRUPT_STUB 61
- INTERRUPT_STUB 62
- INTERRUPT_STUB 63
- INTERRUPT_STUB 64
- INTERRUPT_STUB 65
- INTERRUPT_STUB 66
- INTERRUPT_STUB 67
- INTERRUPT_STUB 68
- INTERRUPT_STUB 69
- INTERRUPT_STUB 70
- INTERRUPT_STUB 71
- INTERRUPT_STUB 72
- INTERRUPT_STUB 73
- INTERRUPT_STUB 74
- INTERRUPT_STUB 75
- INTERRUPT_STUB 76
- INTERRUPT_STUB 77
- INTERRUPT_STUB 78
- INTERRUPT_STUB 79
- INTERRUPT_STUB 80
- INTERRUPT_STUB 81
- INTERRUPT_STUB 82
- INTERRUPT_STUB 83
- INTERRUPT_STUB 84
- INTERRUPT_STUB 85
- INTERRUPT_STUB 86
- INTERRUPT_STUB 87
- INTERRUPT_STUB 88
- INTERRUPT_STUB 89
- INTERRUPT_STUB 90
- INTERRUPT_STUB 91
- INTERRUPT_STUB 92
- INTERRUPT_STUB 93
- INTERRUPT_STUB 94
- INTERRUPT_STUB 95
- INTERRUPT_STUB 96
- INTERRUPT_STUB 97
- INTERRUPT_STUB 98
- INTERRUPT_STUB 99
- INTERRUPT_STUB 100
- INTERRUPT_STUB 101
- INTERRUPT_STUB 102
- INTERRUPT_STUB 103
- INTERRUPT_STUB 104
- INTERRUPT_STUB 105
- INTERRUPT_STUB 106
- INTERRUPT_STUB 107
- INTERRUPT_STUB 108
- INTERRUPT_STUB 109
- INTERRUPT_STUB 110
- INTERRUPT_STUB 111
- INTERRUPT_STUB 112
- INTERRUPT_STUB 113
- INTERRUPT_STUB 114
- INTERRUPT_STUB 115
- INTERRUPT_STUB 116
- INTERRUPT_STUB 117
- INTERRUPT_STUB 118
- INTERRUPT_STUB 119
- INTERRUPT_STUB 120
- INTERRUPT_STUB 121
- INTERRUPT_STUB 122
- INTERRUPT_STUB 123
- INTERRUPT_STUB 124
- INTERRUPT_STUB 125
- INTERRUPT_STUB 126
- INTERRUPT_STUB 127
- INTERRUPT_STUB 128
- INTERRUPT_STUB 129
- INTERRUPT_STUB 130
- INTERRUPT_STUB 131
- INTERRUPT_STUB 132
- INTERRUPT_STUB 133
- INTERRUPT_STUB 134
- INTERRUPT_STUB 135
- INTERRUPT_STUB 136
- INTERRUPT_STUB 137
- INTERRUPT_STUB 138
- INTERRUPT_STUB 139
- INTERRUPT_STUB 140
- INTERRUPT_STUB 141
- INTERRUPT_STUB 142
- INTERRUPT_STUB 143
- INTERRUPT_STUB 144
- INTERRUPT_STUB 145
- INTERRUPT_STUB 146
- INTERRUPT_STUB 147
- INTERRUPT_STUB 148
- INTERRUPT_STUB 149
- INTERRUPT_STUB 150
- INTERRUPT_STUB 151
- INTERRUPT_STUB 152
- INTERRUPT_STUB 153
- INTERRUPT_STUB 154
- INTERRUPT_STUB 155
- INTERRUPT_STUB 156
- INTERRUPT_STUB 157
- INTERRUPT_STUB 158
- INTERRUPT_STUB 159
- INTERRUPT_STUB 160
- INTERRUPT_STUB 161
- INTERRUPT_STUB 162
- INTERRUPT_STUB 163
- INTERRUPT_STUB 164
- INTERRUPT_STUB 165
- INTERRUPT_STUB 166
- INTERRUPT_STUB 167
- INTERRUPT_STUB 168
- INTERRUPT_STUB 169
- INTERRUPT_STUB 170
- INTERRUPT_STUB 171
- INTERRUPT_STUB 172
- INTERRUPT_STUB 173
- INTERRUPT_STUB 174
- INTERRUPT_STUB 175
- INTERRUPT_STUB 176
- INTERRUPT_STUB 177
- INTERRUPT_STUB 178
- INTERRUPT_STUB 179
- INTERRUPT_STUB 180
- INTERRUPT_STUB 181
- INTERRUPT_STUB 182
- INTERRUPT_STUB 183
- INTERRUPT_STUB 184
- INTERRUPT_STUB 185
- INTERRUPT_STUB 186
- INTERRUPT_STUB 187
- INTERRUPT_STUB 188
- INTERRUPT_STUB 189
- INTERRUPT_STUB 190
- INTERRUPT_STUB 191
- INTERRUPT_STUB 192
- INTERRUPT_STUB 193
- INTERRUPT_STUB 194
- INTERRUPT_STUB 195
- INTERRUPT_STUB 196
- INTERRUPT_STUB 197
- INTERRUPT_STUB 198
- INTERRUPT_STUB 199
- INTERRUPT_STUB 200
- INTERRUPT_STUB 201
- INTERRUPT_STUB 202
- INTERRUPT_STUB 203
- INTERRUPT_STUB 204
- INTERRUPT_STUB 205
- INTERRUPT_STUB 206
- INTERRUPT_STUB 207
- INTERRUPT_STUB 208
- INTERRUPT_STUB 209
- INTERRUPT_STUB 210
- INTERRUPT_STUB 211
- INTERRUPT_STUB 212
- INTERRUPT_STUB 213
- INTERRUPT_STUB 214
- INTERRUPT_STUB 215
- INTERRUPT_STUB 216
- INTERRUPT_STUB 217
- INTERRUPT_STUB 218
- INTERRUPT_STUB 219
- INTERRUPT_STUB 220
- INTERRUPT_STUB 221
- INTERRUPT_STUB 222
- INTERRUPT_STUB 223
- INTERRUPT_STUB 224
- INTERRUPT_STUB 225
- INTERRUPT_STUB 226
- INTERRUPT_STUB 227
- INTERRUPT_STUB 228
- INTERRUPT_STUB 229
- INTERRUPT_STUB 230
- INTERRUPT_STUB 231
- INTERRUPT_STUB 232
- INTERRUPT_STUB 233
- INTERRUPT_STUB 234
- INTERRUPT_STUB 235
- INTERRUPT_STUB 236
- INTERRUPT_STUB 237
- INTERRUPT_STUB 238
- INTERRUPT_STUB 239
- INTERRUPT_STUB 240
- INTERRUPT_STUB 241
- INTERRUPT_STUB 242
- INTERRUPT_STUB 243
- INTERRUPT_STUB 244
- INTERRUPT_STUB 245
- INTERRUPT_STUB 246
- INTERRUPT_STUB 247
- INTERRUPT_STUB 248
- INTERRUPT_STUB 249
- INTERRUPT_STUB 250
- INTERRUPT_STUB 251
- INTERRUPT_STUB 252
- INTERRUPT_STUB 253
- INTERRUPT_STUB 254
- INTERRUPT_STUB 255
Advertisement
Add Comment
Please, Sign In to add comment