Sys calls are called ipc calls now
- the syscalls are pretty much just ipc calls, however, sendrec() is used to implement system task (sys) calls - sendrec() won't be used anymore for this, therefore ipc calls will become pure ipc calls
This commit is contained in:
@@ -407,7 +407,7 @@ PRIVATE struct gate_table_s gate_table_ioapic[] = {
|
||||
};
|
||||
|
||||
PRIVATE struct gate_table_s gate_table_common[] = {
|
||||
{ syscall_entry, SYS386_VECTOR, USER_PRIVILEGE },
|
||||
{ ipc_entry, SYS386_VECTOR, USER_PRIVILEGE },
|
||||
{ level0_call, LEVEL0_VECTOR, TASK_PRIVILEGE },
|
||||
{ NULL, 0, 0}
|
||||
};
|
||||
|
||||
@@ -380,8 +380,8 @@ hwint15:
|
||||
* syscall is only from a process to kernel
|
||||
*/
|
||||
.balign 16
|
||||
.globl syscall_entry
|
||||
syscall_entry:
|
||||
.globl ipc_entry
|
||||
ipc_entry:
|
||||
|
||||
SAVE_PROCESS_CTX(0)
|
||||
|
||||
@@ -401,7 +401,7 @@ syscall_entry:
|
||||
/* for stack trace */
|
||||
movl $0, %ebp
|
||||
|
||||
call sys_call
|
||||
call do_ipc
|
||||
|
||||
/* restore the current process pointer and save the return value */
|
||||
add $4 * 4, %esp
|
||||
|
||||
@@ -212,7 +212,7 @@ PUBLIC void idt_init(void)
|
||||
{ alignment_check, ALIGNMENT_CHECK_VECTOR, INTR_PRIVILEGE },
|
||||
{ machine_check, MACHINE_CHECK_VECTOR, INTR_PRIVILEGE },
|
||||
{ simd_exception, SIMD_EXCEPTION_VECTOR, INTR_PRIVILEGE },
|
||||
{ syscall_entry, SYS386_VECTOR, USER_PRIVILEGE },/* 386 system call */
|
||||
{ ipc_entry, SYS386_VECTOR, USER_PRIVILEGE },/* 386 system call */
|
||||
{ level0_call, LEVEL0_VECTOR, TASK_PRIVILEGE },
|
||||
{ NULL, 0, 0}
|
||||
};
|
||||
|
||||
@@ -43,7 +43,7 @@ void _PROTOTYPE( simd_exception, (void) );
|
||||
|
||||
/* Software interrupt handlers, in numerical order. */
|
||||
_PROTOTYPE( void trp, (void) );
|
||||
_PROTOTYPE( void syscall_entry, (void) );
|
||||
_PROTOTYPE( void ipc_entry, (void) );
|
||||
_PROTOTYPE( void level0_call, (void) );
|
||||
|
||||
/* memory.c */
|
||||
|
||||
@@ -477,11 +477,11 @@ PUBLIC void arch_do_syscall(struct proc *proc)
|
||||
m_ptr = (message *) proc->p_reg.bx;
|
||||
bit_map = proc->p_reg.dx;
|
||||
|
||||
/* sys_call() expects the given process's memory to be accessible. */
|
||||
/* do_ipc() expects the given process's memory to be accessible. */
|
||||
vm_set_cr3(proc);
|
||||
|
||||
/* Make the system call, for real this time. */
|
||||
proc->p_reg.retreg = sys_call(call_nr, src_dst_e, m_ptr, bit_map);
|
||||
proc->p_reg.retreg = do_ipc(call_nr, src_dst_e, m_ptr, bit_map);
|
||||
}
|
||||
|
||||
PUBLIC struct proc * arch_finish_schedcheck(void)
|
||||
|
||||
Reference in New Issue
Block a user