summaryrefslogtreecommitdiff
path: root/Kernel
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-02-26 12:57:02 +0100
committerAndreas Kling <awesomekling@gmail.com>2019-02-26 12:57:02 +0100
commitcccc8d8aeb0e204283c76ccb0e92fba2e2a0071c (patch)
tree18a99d2ee1e53b2dc993220d93a4a1993f5c5925 /Kernel
parentf6b41d166d0e1b42c8b029ab69b2ae12071ea9f7 (diff)
downloadserenity-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.cpp4
-rw-r--r--Kernel/Syscall.cpp4
-rw-r--r--Kernel/Syscall.h8
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