Kernel: Move sys_fork trampolines to kernel/arch/ directory
This commit is contained in:
parent
26ed689d30
commit
45cea14165
|
@ -83,7 +83,6 @@ set(KERNEL_SOURCES
|
||||||
kernel/Storage/Partition.cpp
|
kernel/Storage/Partition.cpp
|
||||||
kernel/Storage/StorageDevice.cpp
|
kernel/Storage/StorageDevice.cpp
|
||||||
kernel/Syscall.cpp
|
kernel/Syscall.cpp
|
||||||
kernel/Syscall.S
|
|
||||||
kernel/Terminal/FramebufferTerminal.cpp
|
kernel/Terminal/FramebufferTerminal.cpp
|
||||||
kernel/Terminal/Serial.cpp
|
kernel/Terminal/Serial.cpp
|
||||||
kernel/Terminal/TTY.cpp
|
kernel/Terminal/TTY.cpp
|
||||||
|
@ -111,6 +110,7 @@ if("${BANAN_ARCH}" STREQUAL "x86_64")
|
||||||
arch/x86_64/interrupts.S
|
arch/x86_64/interrupts.S
|
||||||
arch/x86_64/PageTable.cpp
|
arch/x86_64/PageTable.cpp
|
||||||
arch/x86_64/Signal.S
|
arch/x86_64/Signal.S
|
||||||
|
arch/x86_64/Syscall.S
|
||||||
arch/x86_64/Thread.S
|
arch/x86_64/Thread.S
|
||||||
)
|
)
|
||||||
elseif("${BANAN_ARCH}" STREQUAL "i386")
|
elseif("${BANAN_ARCH}" STREQUAL "i386")
|
||||||
|
@ -118,6 +118,7 @@ elseif("${BANAN_ARCH}" STREQUAL "i386")
|
||||||
${KERNEL_SOURCES}
|
${KERNEL_SOURCES}
|
||||||
arch/i386/boot.S
|
arch/i386/boot.S
|
||||||
arch/i386/SpinLock.S
|
arch/i386/SpinLock.S
|
||||||
|
arch/i386/Syscall.S
|
||||||
arch/i386/Thread.S
|
arch/i386/Thread.S
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
.global sys_fork_trampoline
|
||||||
|
sys_fork_trampoline:
|
||||||
|
subl $4, %esp
|
||||||
|
pushl %ebx
|
||||||
|
pushl %ebp
|
||||||
|
call read_rip
|
||||||
|
testl %eax, %eax
|
||||||
|
je .done
|
||||||
|
subl $8, %esp
|
||||||
|
pushl %eax
|
||||||
|
pushl %esp
|
||||||
|
call sys_fork
|
||||||
|
addl $16, %esp
|
||||||
|
.done:
|
||||||
|
popl %ebp
|
||||||
|
popl %ebx
|
||||||
|
addl $4, %esp
|
||||||
|
ret
|
Loading…
Reference in New Issue