The Pedigree Project 0.1
kernel/core/processor/armv7/SyscallManager.h
1#ifndef KERNEL_PROCESSOR_ARMV7_SYSCALLMANAGER_H
2#define KERNEL_PROCESSOR_ARMV7_SYSCALLMANAGER_H
3
4#include "pedigree/kernel/processor/SyscallManager.h"
5
7 public:
8 static Armv7SyscallManager& 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 Armv7SyscallManager() = default;
21 ~Armv7SyscallManager() override = default;
22
23 static Armv7SyscallManager m_Instance;
24};
25
26#endif
bool registerSyscallHandler(Service_t service, SyscallHandler *handler, Registration &registration, FastEntry entry=nullptr) override
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