forked from Bananymous/banan-os
Kernel: Cleanup signal trampoline
This commit is contained in:
parent
6f7d97cf94
commit
08cdf88586
|
@ -46,7 +46,6 @@ set(KERNEL_SOURCES
|
|||
kernel/Scheduler.cpp
|
||||
kernel/Semaphore.cpp
|
||||
kernel/Serial.cpp
|
||||
kernel/Signal.cpp
|
||||
kernel/SpinLock.cpp
|
||||
kernel/SSP.cpp
|
||||
kernel/Storage/ATABus.cpp
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
.section .userspace, "aw"
|
||||
|
||||
#include <sys/syscall.h>
|
||||
|
||||
.global signal_trampoline
|
||||
signal_trampoline:
|
||||
pushq %rax
|
||||
|
@ -18,14 +20,13 @@ signal_trampoline:
|
|||
pushq %r14
|
||||
pushq %r15
|
||||
|
||||
xchgw %bx, %bx
|
||||
|
||||
movq 128(%rsp), %rdi
|
||||
movq 120(%rsp), %rax
|
||||
call *%rax
|
||||
|
||||
movq 128(%rsp), %rdi
|
||||
call signal_done
|
||||
movq $SYS_SIGNAL_DONE, %rax
|
||||
movq 128(%rsp), %rbx
|
||||
int $0x80
|
||||
|
||||
popq %r15
|
||||
popq %r14
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
#include <sys/syscall.h>
|
||||
#include <kernel/Syscall.h>
|
||||
|
||||
extern "C" __attribute__((section(".userspace")))
|
||||
void signal_done(int signal)
|
||||
{
|
||||
Kernel::syscall(SYS_SIGNAL_DONE, signal);
|
||||
}
|
Loading…
Reference in New Issue