The Pedigree Project
0.1
|
#include <SyscallManager.h>
Public Member Functions | |
virtual bool | registerSyscallHandler (Service_t Service, SyscallHandler *pHandler)=0 |
virtual 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)=0 |
Static Public Member Functions | |
static EXPORTED_PUBLIC SyscallManager & | instance () |
Protected Member Functions | |
SyscallManager () | |
virtual | ~SyscallManager () |
Private Member Functions | |
SyscallManager (const SyscallManager &) | |
SyscallManager & | operator= (const SyscallManager &) |
The syscall manager allows syscall handler registrations and handles syscalls
Definition at line 34 of file include/pedigree/kernel/processor/SyscallManager.h.
|
protecteddefault |
The constructor
|
protectedvirtualdefault |
The destructor
|
private |
The copy-constructor
|
static |
Get the syscall manager instance
Definition at line 70 of file arm_926e/InterruptManager.cc.
References ARM926EInterruptManager::instance().
Referenced by PedigreeCSyscallManager::call(), PosixSyscallManager::call(), NativeSyscallManager::call(), KernelCoreSyscallManager::call(), KernelCoreSyscallManager::~KernelCoreSyscallManager(), NativeSyscallManager::~NativeSyscallManager(), PedigreeCSyscallManager::~PedigreeCSyscallManager(), and PosixSyscallManager::~PosixSyscallManager().
|
private |
The copy-constructor
|
pure virtual |
Register a syscall handler
[in] | Service | the service number you want to register |
[in] | pHandler | the interrupt handler |
Implemented in MIPS32InterruptManager, X86InterruptManager, PPC32InterruptManager, ARM926EInterruptManager, ARMV7InterruptManager, X64SyscallManager, and HostedSyscallManager.
Referenced by KernelCoreSyscallManager::~KernelCoreSyscallManager(), NativeSyscallManager::~NativeSyscallManager(), PedigreeCSyscallManager::~PedigreeCSyscallManager(), and PosixSyscallManager::~PosixSyscallManager().
|
pure virtual |
Calls a syscall.
Implemented in X86InterruptManager, ARM926EInterruptManager, ARMV7InterruptManager, PPC32InterruptManager, X64SyscallManager, and HostedSyscallManager.
Referenced by PedigreeCSyscallManager::call(), PosixSyscallManager::call(), NativeSyscallManager::call(), and KernelCoreSyscallManager::call().