The Pedigree Project 0.1
kernel/core/processor/arm64/SyscallManager.h
1#ifndef KERNEL_PROCESSOR_ARM64_SYSCALLMANAGER_H
2#define KERNEL_PROCESSOR_ARM64_SYSCALLMANAGER_H
3
4#include "pedigree/kernel/processor/SyscallManager.h"
5
7 public:
8 static Arm64SyscallManager& instance() {
9 return m_Instance;
10 }
11
12 bool registerSyscallHandler(Service_t service, SyscallHandler* handler,
13 Registration& registration, FastEntry entry = nullptr) override;
14 uintptr_t syscall(Service_t service, uintptr_t function, uintptr_t p1 = 0, uintptr_t p2 = 0,
15 uintptr_t p3 = 0, uintptr_t p4 = 0, uintptr_t p5 = 0) override;
16
17 static void handle(SyscallState& state);
18
19 private:
20 Arm64SyscallManager() = default;
21 ~Arm64SyscallManager() override = default;
22
23 static Arm64SyscallManager m_Instance;
24};
25
26#endif
uintptr_t syscall(Service_t service, uintptr_t function, uintptr_t p1=0, uintptr_t p2=0, uintptr_t p3=0, uintptr_t p4=0, uintptr_t p5=0) override
bool registerSyscallHandler(Service_t service, SyscallHandler *handler, Registration &registration, FastEntry entry=nullptr) override