1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 02:37:36 +00:00

Kernel: Remove trap based syscall handling

This patch removes the x86 mechanism for calling syscalls, favoring
the more modern syscall instruction. It also moves architecture
dependent code from functions that are meant to be architecture
agnostic therefore paving the way for adding more architectures.
This commit is contained in:
Agustin Gianni 2023-01-25 19:30:00 +00:00 committed by Andrew Kaster
parent e71c320154
commit bfbb4bcd9b
4 changed files with 14 additions and 51 deletions

View file

@ -4,9 +4,18 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <Kernel/API/Syscall.h>
#include <Kernel/Arch/TrapFrame.h>
#include <Kernel/Arch/x86_64/DescriptorTable.h>
#include <Kernel/Arch/x86_64/Processor.h>
#include <Kernel/Assertions.h>
#include <Kernel/Panic.h>
#include <Kernel/Process.h>
#include <Kernel/Scheduler.h>
#include <Kernel/Thread.h>
#include <Kernel/ThreadTracer.h>
using namespace Kernel;
extern "C" void syscall_entry();
extern "C" [[gnu::naked]] void syscall_entry()

View file

@ -341,7 +341,6 @@ void init_stage2(void*)
}
NetworkingManagement::the().initialize();
Syscall::initialize();
#ifdef ENABLE_KERNEL_COVERAGE_COLLECTION
(void)KCOVDevice::must_create().leak_ref();