Namespaces | Functions
misc_no_hyper_or_libcxx.cpp File Reference

Go to the source code of this file.

Namespaces

 std
 

Functions

int64_t start_vmm (uint64_t arg) noexcept
 
int64_t stop_vmm (uint64_t arg) noexcept
 
int write (int file, const void *buffer, size_t count)
 
void __cxa_end_catch (void)
 
void __cxa_begin_catch (void)
 
void __gxx_personality_v0 (void)
 
void std::terminate ()
 
int64_t add_md (memory_descriptor *md) noexcept
 
void * memset (void *block, int c, size_t size)
 
int64_t local_init (struct section_info_t *info)
 
int64_t local_fini (struct section_info_t *info)
 

Function Documentation

◆ start_vmm()

int64_t start_vmm ( uint64_t  arg)
noexcept

Start VMM

This function starts the VMM. The driver entry uses the ELF loader to call this "C" function from the kernel. Prior to executing this function, a new stack is provided, and all exceptions are caught prior to completing. To start the VMM, this function calls the vcpu_manager's start function, which begins the processing of starting the vmm.

Precondition
expects: none
Postcondition
ensures: none
Parameters
argunused (likely will contain the cpu's core # in the future)
Returns
ENTRY_SUCCESS on success, ENTRY_ERROR_UNKNOWN otherwise.

Definition at line 29 of file misc_no_hyper_or_libcxx.cpp.

◆ stop_vmm()

int64_t stop_vmm ( uint64_t  arg)
noexcept

Stop VMM

This function stops the VMM. The driver entry uses the ELF loader to call this "C" function from the kernel. Prior to executing this function, a new stack is provided, and all exceptions are caught prior to completing. To stop the VMM, this function calls the vcpu_manager's stop function, which begins the processing of stopping the vmm.

Precondition
expects: none
Postcondition
ensures: none
Parameters
argunused (likely will contain the cpu's core # in the future)
Returns
ENTRY_SUCCESS on success, ENTRY_ERROR_UNKNOWN otherwise.

Definition at line 33 of file misc_no_hyper_or_libcxx.cpp.

◆ write()

int write ( int  file,
const void *  buffer,
size_t  count 
)

Definition at line 37 of file misc_no_hyper_or_libcxx.cpp.

◆ __cxa_end_catch()

void __cxa_end_catch ( void  )

Definition at line 47 of file misc_no_hyper_or_libcxx.cpp.

◆ __cxa_begin_catch()

void __cxa_begin_catch ( void  )

Definition at line 51 of file misc_no_hyper_or_libcxx.cpp.

◆ __gxx_personality_v0()

void __gxx_personality_v0 ( void  )

Definition at line 55 of file misc_no_hyper_or_libcxx.cpp.

◆ add_md()

int64_t add_md ( memory_descriptor md)
noexcept

Definition at line 65 of file misc_no_hyper_or_libcxx.cpp.

◆ memset()

void* memset ( void *  block,
int  c,
size_t  size 
)

Definition at line 69 of file misc_no_hyper_or_libcxx.cpp.

◆ local_init()

int64_t local_init ( struct section_info_t info)

Local Init

Initialized a binary / module. This is very similar to _init that GCC uses on Linux.This is called by the driver entry as each module. Each module has this function as it is statically linked with each module as it is compiled by the gcc wrapper

Precondition
expects: info != nullptr
Postcondition
ensures: none
Parameters
infoa pointer to the section info structure that is used by the init funcion.

Definition at line 80 of file misc_no_hyper_or_libcxx.cpp.

◆ local_fini()

int64_t local_fini ( struct section_info_t info)

Local Fini

Initialized a binary / module. This is very similar to _fini that GCC uses on Linux. This is called by the driver entry as each module. Each module has this function as it is statically linked with each module as it is compiled by the gcc wrapper

Precondition
expects: info != nullptr
Postcondition
ensures: none
Parameters
infoa pointer to the section info structure that is used by the fini funcion.

Definition at line 84 of file misc_no_hyper_or_libcxx.cpp.