Rev 703 | Rev 714 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 703 | Rev 712 | ||
|---|---|---|---|
| Line 25... | Line 25... | ||
| 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| 26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 | */ |
27 | */ |
| 28 | 28 | ||
| 29 | #include <arch/interrupt.h> |
29 | #include <arch/interrupt.h> |
| - | 30 | #include <syscall/syscall.h> |
|
| 30 | #include <print.h> |
31 | #include <print.h> |
| 31 | #include <debug.h> |
32 | #include <debug.h> |
| 32 | #include <panic.h> |
33 | #include <panic.h> |
| 33 | #include <arch/i8259.h> |
34 | #include <arch/i8259.h> |
| 34 | #include <func.h> |
35 | #include <func.h> |
| Line 108... | Line 109... | ||
| 108 | printf("page fault address: %X\n", page); |
109 | printf("page fault address: %X\n", page); |
| 109 | panic("page fault\n"); |
110 | panic("page fault\n"); |
| 110 | } |
111 | } |
| 111 | } |
112 | } |
| 112 | 113 | ||
| 113 | void syscall(int n, void *stack) |
114 | void syscall(int n, void *st) |
| 114 | { |
115 | { |
| 115 | printf("cpu%d: syscall\n", CPU->id); |
116 | __native *stack = (__native *) st; |
| - | 117 | ||
| 116 | thread_usleep(1000); |
118 | if (stack[-2] < SYSCALL_END) |
| - | 119 | syscall_table[stack[-2]](stack[-5], stack[-3], stack[-4]); |
|
| - | 120 | else |
|
| - | 121 | panic("Undefined syscall %d", stack[-2]); |
|
| 117 | } |
122 | } |
| 118 | 123 | ||
| 119 | void tlb_shootdown_ipi(int n, void *stack) |
124 | void tlb_shootdown_ipi(int n, void *stack) |
| 120 | { |
125 | { |
| 121 | trap_virtual_eoi(); |
126 | trap_virtual_eoi(); |