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