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(); |