|
|
|
@ -64,7 +64,7 @@ nr_system_calls = 95 /* 72 */
|
|
|
|
|
* Ok, I get parallel printer interrupts while using the floppy for some
|
|
|
|
|
* strange reason. Urgel. Now I just ignore them.
|
|
|
|
|
*/
|
|
|
|
|
.globl system_call,sys_fork,timer_interrupt,sys_execve,sys_execve2
|
|
|
|
|
.globl system_call,sys_fork,timer_interrupt,sys_execve,sys_execve2,sys_clone
|
|
|
|
|
.globl hd_interrupt,floppy_interrupt,parallel_interrupt
|
|
|
|
|
.globl device_not_available, coprocessor_error
|
|
|
|
|
|
|
|
|
@ -227,8 +227,27 @@ sys_fork:
|
|
|
|
|
pushl %edi
|
|
|
|
|
pushl %ebp
|
|
|
|
|
pushl %eax
|
|
|
|
|
pushl $0x0 #for flag
|
|
|
|
|
call copy_process
|
|
|
|
|
addl $20,%esp
|
|
|
|
|
addl $24,%esp #for flag
|
|
|
|
|
1: ret
|
|
|
|
|
|
|
|
|
|
.align 4
|
|
|
|
|
sys_clone:
|
|
|
|
|
call find_empty_process
|
|
|
|
|
testl %eax,%eax
|
|
|
|
|
js 1f
|
|
|
|
|
pushl %eax
|
|
|
|
|
push %gs
|
|
|
|
|
pushl %esi
|
|
|
|
|
pushl %edi
|
|
|
|
|
pushl %ebp
|
|
|
|
|
pushl %eax
|
|
|
|
|
pushl $0x1 #for flag
|
|
|
|
|
call copy_process
|
|
|
|
|
addl $24,%esp #for flag
|
|
|
|
|
call do_clone
|
|
|
|
|
addl $4,%esp
|
|
|
|
|
1: ret
|
|
|
|
|
|
|
|
|
|
hd_interrupt:
|
|
|
|
|