Created small static library to wrap system call ABI
This commit is contained in:
19
src/x86/do_syscall.S
Normal file
19
src/x86/do_syscall.S
Normal file
@@ -0,0 +1,19 @@
|
||||
.global _do_syscall
|
||||
.type _do_syscall, @function
|
||||
_do_syscall:
|
||||
push %ebp
|
||||
mov %esp, %ebp
|
||||
push %esi
|
||||
push %edi
|
||||
push %ebx
|
||||
mov 0x08(%ebp), %eax
|
||||
mov 0x0C(%ebp), %ebx
|
||||
mov 0x10(%ebp), %ecx
|
||||
mov 0x14(%ebp), %edx
|
||||
int $0x80
|
||||
pop %ebx
|
||||
pop %edi
|
||||
pop %esi
|
||||
pop %ebp
|
||||
ret
|
||||
.size _do_syscall, . - _do_syscall
|
||||
@@ -20,7 +20,7 @@ isr_syscall:
|
||||
mov %ax, %es
|
||||
mov %ax, %fs
|
||||
mov %ax, %gs
|
||||
call do_syscall
|
||||
call kernel_do_syscall
|
||||
mov %ebp, %esp
|
||||
mov $0x23, %cx
|
||||
mov %cx, %ds
|
||||
|
||||
Reference in New Issue
Block a user