UbixOS  2.0
fork.c File Reference
#include <ubixos/fork.h>
#include <ubixos/types.h>
#include <ubixos/sched.h>
#include <ubixos/tty.h>
#include <ubixos/vitals.h>
#include <vmm/vmm.h>
#include <string.h>
#include <assert.h>
Include dependency graph for fork.c:

Go to the source code of this file.

Functions

 asm (".globl sysFork \n" "sysFork: \n" " xor %eax,%eax \n" " call schedNewTask \n" " testl %eax,%eax \n" " je fork_ret \n" " pushl %esi \n" " pushl %edi \n" " pushl %ebp \n" " pushl %eax \n" " call fork_copyProcess \n" " movl %eax,(%ebx) \n" " addl $16,%esp \n" "fork_ret: \n" " ret \n")
 
int fork_copyProcess (struct taskStruct *newProcess, long ebp, long edi, long esi, long none, long ebx, long ecx, long edx, long eip, long cs, long eflags, long esp, long ss)
 

Function Documentation

◆ asm()

asm ( ".globl sysFork \n" "sysFork: \n" " xor %  eax,
%eax \n" " call schedNewTask \n" " testl %  eax,
%eax \n" " je fork_ret \n" " pushl %esi \n" " pushl %edi \n" " pushl %ebp \n" " pushl %eax \n" " call fork_copyProcess \n" " movl %  eax,
(%ebx) \n" " addl  $16,
%esp \n" "fork_ret:\n" " ret \n"   
)

◆ fork_copyProcess()