Rev 958 | Rev 1008 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 958 | Rev 959 | ||
|---|---|---|---|
| Line 105... | Line 105... | ||
| 105 | } |
105 | } |
| 106 | 106 | ||
| 107 | void syscall(int n, istate_t *istate) |
107 | void syscall(int n, istate_t *istate) |
| 108 | { |
108 | { |
| 109 | interrupts_enable(); |
109 | interrupts_enable(); |
| 110 | if (istate->edx < SYSCALL_END) |
110 | if (istate->esi < SYSCALL_END) |
| 111 | istate->eax = syscall_table[istate->edx](istate->eax, istate->ebx, istate->ecx); |
111 | istate->eax = syscall_table[istate->esi](istate->eax, istate->ebx, istate->ecx, istate->edx); |
| 112 | else |
112 | else |
| 113 | panic("Undefined syscall %d", istate->edx); |
113 | panic("Undefined syscall %d", istate->esi); |
| 114 | interrupts_disable(); |
114 | interrupts_disable(); |
| 115 | } |
115 | } |
| 116 | 116 | ||
| 117 | void tlb_shootdown_ipi(int n, istate_t *istate) |
117 | void tlb_shootdown_ipi(int n, istate_t *istate) |
| 118 | { |
118 | { |