The Pedigree Project
0.1
|
Public Member Functions | |
void | initialise () |
uintptr_t | call (uintptr_t function, uintptr_t p1=0, uintptr_t p2=0, uintptr_t p3=0, uintptr_t p4=0, uintptr_t p5=0) |
virtual uintptr_t | syscall (SyscallState &state) |
PosixSyscallManager () | |
virtual | ~PosixSyscallManager () |
Private Member Functions | |
PosixSyscallManager (const PosixSyscallManager &) | |
PosixSyscallManager & | operator= (const PosixSyscallManager &) |
Private Attributes | |
Tree< size_t, bool > | m_SeenUnknownSyscalls |
Additional Inherited Members | |
Protected Member Functions inherited from SyscallHandler | |
virtual | ~SyscallHandler () |
Definition at line 27 of file PosixSyscallManager.h.
PosixSyscallManager::PosixSyscallManager | ( | ) |
The constructor
Definition at line 49 of file PosixSyscallManager.cc.
|
virtual |
The destructor
Definition at line 53 of file PosixSyscallManager.cc.
References SyscallManager::instance(), and SyscallManager::registerSyscallHandler().
|
private |
The copy-constructor
uintptr_t PosixSyscallManager::call | ( | uintptr_t | function, |
uintptr_t | p1 = 0 , |
||
uintptr_t | p2 = 0 , |
||
uintptr_t | p3 = 0 , |
||
uintptr_t | p4 = 0 , |
||
uintptr_t | p5 = 0 |
||
) |
Calls a syscall.
Definition at line 63 of file PosixSyscallManager.cc.
References Dec, ERROR, SyscallManager::instance(), and SyscallManager::syscall().
|
private |
The copy-constructor
|
virtual |
Called when a syscall arrives.
Implements SyscallHandler.
Definition at line 80 of file PosixSyscallManager.cc.
References Dec, ERROR, VirtualAddressSpace::getGlobalInfoBlock(), Process::getId(), VirtualAddressSpace::getKernelAddressSpace(), Hex, Processor::information(), Tree< K, E >::insert(), Scheduler::instance(), Tree< K, E >::lookup(), m_SeenUnknownSyscalls, NOTICE, PosixSubsystem::setAbi(), Processor::setInterrupts(), WARNING, and Scheduler::yield().
|
private |
Records seen unknown syscalls so we don't spam logs.
Definition at line 53 of file PosixSyscallManager.h.
Referenced by syscall().