diff options
author | Andreas Kling <awesomekling@gmail.com> | 2019-02-26 12:57:02 +0100 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2019-02-26 12:57:02 +0100 |
commit | cccc8d8aeb0e204283c76ccb0e92fba2e2a0071c (patch) | |
tree | 18a99d2ee1e53b2dc993220d93a4a1993f5c5925 /Kernel | |
parent | f6b41d166d0e1b42c8b029ab69b2ae12071ea9f7 (diff) | |
download | serenity-cccc8d8aeb0e204283c76ccb0e92fba2e2a0071c.zip |
More compat work.
Move syscall to int 0x82 since using int 0x80 was kinda prone to fork bombs
when building things on Linux. :^)
Diffstat (limited to 'Kernel')
-rw-r--r-- | Kernel/Process.cpp | 4 | ||||
-rw-r--r-- | Kernel/Syscall.cpp | 4 | ||||
-rw-r--r-- | Kernel/Syscall.h | 8 |
3 files changed, 8 insertions, 8 deletions
diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 435b781e14..6ea20a9ce5 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -886,8 +886,8 @@ ShouldUnblockProcess Process::dispatch_signal(byte signal) *code_ptr++ = 0xb8; // mov eax, <dword> *(dword*)code_ptr = Syscall::SC_sigreturn; code_ptr += sizeof(dword); - *code_ptr++ = 0xcd; // int 0x80 - *code_ptr++ = 0x80; + *code_ptr++ = 0xcd; // int 0x82 + *code_ptr++ = 0x82; *code_ptr++ = 0x0f; // ud2 *code_ptr++ = 0x0b; diff --git a/Kernel/Syscall.cpp b/Kernel/Syscall.cpp index 524ce87c4b..ec6e21ff18 100644 --- a/Kernel/Syscall.cpp +++ b/Kernel/Syscall.cpp @@ -40,8 +40,8 @@ namespace Syscall { void initialize() { - register_user_callable_interrupt_handler(0x80, syscall_trap_handler); - kprintf("Syscall: int 0x80 handler installed\n"); + register_user_callable_interrupt_handler(0x82, syscall_trap_handler); + kprintf("Syscall: int 0x82 handler installed\n"); } int sync() diff --git a/Kernel/Syscall.h b/Kernel/Syscall.h index 730eb9b923..4621da47d9 100644 --- a/Kernel/Syscall.h +++ b/Kernel/Syscall.h @@ -131,7 +131,7 @@ int sync(); inline dword invoke(Function function) { dword result; - asm volatile("int $0x80":"=a"(result):"a"(function):"memory"); + asm volatile("int $0x82":"=a"(result):"a"(function):"memory"); return result; } @@ -139,7 +139,7 @@ template<typename T1> inline dword invoke(Function function, T1 arg1) { dword result; - asm volatile("int $0x80":"=a"(result):"a"(function),"d"((dword)arg1):"memory"); + asm volatile("int $0x82":"=a"(result):"a"(function),"d"((dword)arg1):"memory"); return result; } @@ -147,7 +147,7 @@ template<typename T1, typename T2> inline dword invoke(Function function, T1 arg1, T2 arg2) { dword result; - asm volatile("int $0x80":"=a"(result):"a"(function),"d"((dword)arg1),"c"((dword)arg2):"memory"); + asm volatile("int $0x82":"=a"(result):"a"(function),"d"((dword)arg1),"c"((dword)arg2):"memory"); return result; } @@ -155,7 +155,7 @@ template<typename T1, typename T2, typename T3> inline dword invoke(Function function, T1 arg1, T2 arg2, T3 arg3) { dword result; - asm volatile("int $0x80":"=a"(result):"a"(function),"d"((dword)arg1),"c"((dword)arg2),"b"((dword)arg3):"memory"); + asm volatile("int $0x82":"=a"(result):"a"(function),"d"((dword)arg1),"c"((dword)arg2),"b"((dword)arg3):"memory"); return result; } #endif |