The Pedigree Project 0.1
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
PosixSyscallManager Class Reference
+ Inheritance diagram for PosixSyscallManager:
+ Collaboration diagram for PosixSyscallManager:

Public Member Functions

bool initialise ()
 
bool closeAdmission ()
 
bool finishShutdown ()
 
bool shutdown ()
 
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 &)
 

Static Private Member Functions

static uintptr_t syscallEntry (SyscallHandler *handler, SyscallState &state)
 

Private Attributes

Tree< uint64_t, bool > m_SeenUnsupportedSyscalls
 
Mutex m_UnsupportedSyscallsLock
 
SyscallManager::Registration m_LinuxRegistration
 
SyscallManager::Registration m_PosixRegistration
 

Additional Inherited Members

- Protected Member Functions inherited from SyscallHandler
virtual ~SyscallHandler ()
 

Detailed Description

Definition at line 29 of file PosixSyscallManager.h.

Constructor & Destructor Documentation

◆ PosixSyscallManager() [1/2]

PosixSyscallManager::PosixSyscallManager ( )

The constructor

Definition at line 164 of file PosixSyscallManager.cc.

◆ ~PosixSyscallManager()

PosixSyscallManager::~PosixSyscallManager ( )
virtual

The destructor

Definition at line 166 of file PosixSyscallManager.cc.

◆ PosixSyscallManager() [2/2]

PosixSyscallManager::PosixSyscallManager ( const PosixSyscallManager &  )
private

The copy-constructor

Note
Not implemented (singleton)

Member Function Documentation

◆ call()

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 198 of file PosixSyscallManager.cc.

References Dec, SyscallManager::instance(), and SyscallManager::syscall().

◆ closeAdmission()

bool PosixSyscallManager::closeAdmission ( )

Definition at line 182 of file PosixSyscallManager.cc.

◆ finishShutdown()

bool PosixSyscallManager::finishShutdown ( )

Definition at line 188 of file PosixSyscallManager.cc.

◆ initialise()

bool PosixSyscallManager::initialise ( )

Definition at line 168 of file PosixSyscallManager.cc.

◆ operator=()

PosixSyscallManager & PosixSyscallManager::operator= ( const PosixSyscallManager &  )
private

The copy-constructor

Note
Not implemented (singleton)

◆ shutdown()

bool PosixSyscallManager::shutdown ( )

Definition at line 194 of file PosixSyscallManager.cc.

◆ syscall()

uintptr_t PosixSyscallManager::syscall ( SyscallState &  state)
virtual

Called when a syscall arrives.

Implements SyscallHandler.

Definition at line 209 of file PosixSyscallManager.cc.

◆ syscallEntry()

uintptr_t PosixSyscallManager::syscallEntry ( SyscallHandler *  handler,
SyscallState &  state 
)
staticprivate

Definition at line 213 of file PosixSyscallManager.cc.

Member Data Documentation

◆ m_LinuxRegistration

SyscallManager::Registration PosixSyscallManager::m_LinuxRegistration
private

Definition at line 63 of file PosixSyscallManager.h.

◆ m_PosixRegistration

SyscallManager::Registration PosixSyscallManager::m_PosixRegistration
private

Definition at line 64 of file PosixSyscallManager.h.

◆ m_SeenUnsupportedSyscalls

Tree<uint64_t, bool> PosixSyscallManager::m_SeenUnsupportedSyscalls
private

Records unsupported syscalls per process so feature probes don't flood the log.

Definition at line 61 of file PosixSyscallManager.h.

◆ m_UnsupportedSyscallsLock

Mutex PosixSyscallManager::m_UnsupportedSyscallsLock
private

Definition at line 62 of file PosixSyscallManager.h.


The documentation for this class was generated from the following files: