|
The Pedigree Project
0.1
|
#include <SyscallManager.h>
Inheritance diagram for HostedSyscallManager:
Collaboration diagram for HostedSyscallManager:Public Member Functions | |
| virtual bool | registerSyscallHandler (Service_t Service, SyscallHandler *pHandler) |
| uintptr_t | syscall (Service_t service, uintptr_t function, uintptr_t p1, uintptr_t p2, uintptr_t p3, uintptr_t p4, uintptr_t p5) |
Static Public Member Functions | |
| static HostedSyscallManager & | instance () |
| static void | initialiseProcessor () INITIALISATION_ONLY |
Static Public Member Functions inherited from SyscallManager | |
| static EXPORTED_PUBLIC SyscallManager & | instance () |
Private Member Functions | |
| HostedSyscallManager () INITIALISATION_ONLY | |
| HostedSyscallManager (const HostedSyscallManager &) | |
| HostedSyscallManager & | operator= (const HostedSyscallManager &) |
| virtual | ~HostedSyscallManager () |
Static Private Member Functions | |
| static void | syscall (SyscallState &syscallState) |
Private Attributes | |
| Spinlock | m_Lock |
| SyscallHandler * | m_pHandler [serviceEnd] |
Static Private Attributes | |
| static HostedSyscallManager | m_Instance |
Additional Inherited Members | |
Protected Member Functions inherited from SyscallManager | |
| SyscallManager () | |
| virtual | ~SyscallManager () |
The syscall manager on x64 processors
Definition at line 31 of file kernel/core/processor/hosted/SyscallManager.h.
|
private |
The constructor
Definition at line 100 of file hosted/SyscallManager.cc.
References m_pHandler.
Referenced by instance().
Here is the caller graph for this function:
|
private |
Copy constructor
|
privatevirtual |
The destructor
Definition at line 107 of file hosted/SyscallManager.cc.
Referenced by instance().
Here is the caller graph for this function:
|
static |
Initialises this processors syscall handling
Definition at line 96 of file hosted/SyscallManager.cc.
Referenced by Processor::initialisationDone(), and instance().
Here is the caller graph for this function:
|
inlinestatic |
Get the HostedSyscallManager class instance
Definition at line 36 of file kernel/core/processor/hosted/SyscallManager.h.
References HostedSyscallManager(), INITIALISATION_ONLY, initialiseProcessor(), m_Instance, operator=(), registerSyscallHandler(), syscall(), and ~HostedSyscallManager().
|
private |
Assignment operator
Referenced by instance().
Here is the caller graph for this function:
|
virtual |
Register a syscall handler
| [in] | Service | the service number you want to register |
| [in] | pHandler | the interrupt handler |
Implements SyscallManager.
Definition at line 32 of file hosted/SyscallManager.cc.
References UNLIKELY.
Referenced by instance().
Here is the caller graph for this function:
|
virtual |
Called to execute a syscall.
Implements SyscallManager.
Definition at line 85 of file hosted/SyscallManager.cc.
Referenced by instance().
Here is the caller graph for this function:
|
staticprivate |
Called when a syscall was called
| [in] | syscallState | reference to the usermode state before the syscall |
Definition at line 49 of file hosted/SyscallManager.cc.
References Thread::Exit, Processor::information(), LIKELY, NOTICE, SyscallHandler::syscall(), and UNLIKELY.
|
staticprivate |
The instance of the syscall manager
Definition at line 78 of file kernel/core/processor/hosted/SyscallManager.h.
Referenced by instance().
|
private |
Spinlock protecting the member variables
Definition at line 72 of file kernel/core/processor/hosted/SyscallManager.h.
|
private |
The syscall handlers
Definition at line 75 of file kernel/core/processor/hosted/SyscallManager.h.
Referenced by HostedSyscallManager().
1.8.11