Rev 799 | Rev 806 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 799 | Rev 803 | ||
|---|---|---|---|
| Line 36... | Line 36... | ||
| 36 | #include <arch/pm.h> |
36 | #include <arch/pm.h> |
| 37 | #include <arch/context_offset.h> |
37 | #include <arch/context_offset.h> |
| 38 | 38 | ||
| 39 | .text |
39 | .text |
| 40 | .global interrupt_handlers |
40 | .global interrupt_handlers |
| - | 41 | .global syscall_entry |
|
| 41 | .global panic_printf |
42 | .global panic_printf |
| 42 | 43 | ||
| 43 | panic_printf: |
44 | panic_printf: |
| 44 | movq $halt, (%rsp) |
45 | movq $halt, (%rsp) |
| 45 | jmp printf |
46 | jmp printf |
| Line 186... | Line 187... | ||
| 186 | 187 | ||
| 187 | interrupt_handlers: |
188 | interrupt_handlers: |
| 188 | h_start: |
189 | h_start: |
| 189 | handler 0 IDT_ITEMS |
190 | handler 0 IDT_ITEMS |
| 190 | h_end: |
191 | h_end: |
| - | 192 | ||
| 191 | 193 | ||
| - | 194 | syscall_entry: |
|
| - | 195 | # TODO: Switch to kernel stack |
|
| - | 196 | call syscall_handler |
|
| - | 197 | # Switch back |
|
| - | 198 | sysret |
|
| - | 199 | ||
| 192 | .data |
200 | .data |
| 193 | .global interrupt_handler_size |
201 | .global interrupt_handler_size |
| 194 | 202 | ||
| 195 | interrupt_handler_size: .long (h_end-h_start)/IDT_ITEMS |
203 | interrupt_handler_size: .long (h_end-h_start)/IDT_ITEMS |