Rev 825 | Rev 958 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 825 | Rev 955 | ||
|---|---|---|---|
| Line 112... | Line 112... | ||
| 112 | } |
112 | } |
| 113 | 113 | ||
| 114 | void syscall(int n, void *st) |
114 | void syscall(int n, void *st) |
| 115 | { |
115 | { |
| 116 | __native *stack = (__native *) st; |
116 | __native *stack = (__native *) st; |
| 117 | 117 | ||
| - | 118 | interrupts_enable(); |
|
| 118 | if (stack[-2] < SYSCALL_END) |
119 | if (stack[-2] < SYSCALL_END) |
| 119 | stack[-2] = syscall_table[stack[-2]](stack[-5], stack[-3], stack[-4]); |
120 | stack[-2] = syscall_table[stack[-2]](stack[-5], stack[-3], stack[-4]); |
| 120 | else |
121 | else |
| 121 | panic("Undefined syscall %d", stack[-2]); |
122 | panic("Undefined syscall %d", stack[-2]); |
| - | 123 | interrupts_disable(); |
|
| 122 | } |
124 | } |
| 123 | 125 | ||
| 124 | void tlb_shootdown_ipi(int n, void *stack) |
126 | void tlb_shootdown_ipi(int n, void *stack) |
| 125 | { |
127 | { |
| 126 | trap_virtual_eoi(); |
128 | trap_virtual_eoi(); |