Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Bareflank/hypervisor
/ functions
Functions
2,423 in github.com/Bareflank/hypervisor
⨍
Functions
2,423
◇
Types & classes
516
↓ 2,687 callers
Function
ut_check
<!-- description --> @brief The same as bsl::ut_check, but checks for LOADER_SUCCESS <!-- inputs/outputs --> @param test if LOADER_SUCCESS, the test
loader/tests/include/helpers.hpp:186
↓ 993 callers
Method
initialize
<!-- description --> @brief Initializes this vm_t <!-- inputs/outputs --> @param i the ID for this vm_t
kernel/src/vm_t.hpp:66
↓ 642 callers
Method
allocate
<!-- description --> @brief Allocates this vm_t <!-- inputs/outputs --> @param mut_tls the current TLS block @param mut_page_pool the page_pool_t to
kernel/src/vm_t.hpp:114
↓ 490 callers
Method
data
<!-- description --> @brief Returns a pointer to the read-only mapped file. <!-- inputs/outputs --> @return Returns a pointer to the read-only mapped
lib/mocks/basic_ifmap_t.hpp:139
↓ 452 callers
Function
bf_control_op_exit
@copyright Copyright (C) 2020 Assured Information Security, Inc. @copyright Permission is hereby granted, free of charge, to any person obtaining a c
syscall/src/bf_control_ops.rs:29
↓ 361 callers
Function
require
<!-- description --> @brief Reports passed/failed so that a script can detect if the failed text shows up in the log. If the test fails, this function
kernel/integration/support/integration_utils.hpp:47
↓ 303 callers
Method
clear
<!-- description --> @brief Clears the vs_t's internal cache. Note that this is a hardware specific function and doesn't change the actual values stor
kernel/mocks/vs_t.hpp:521
↓ 294 callers
Function
serial_write
* <!-- description --> * @brief Writes a string to the serial. Note that you must initialize * the serial before you can use it. * * <!-- in
loader/src/serial_write.c:38
↓ 247 callers
Method
vmrd64
<!-- description --> @brief Returns the value of requested 64 bit VMCS field <!-- inputs/outputs --> @param field the 64 bit VMCS field to read @para
kernel/src/x64/intel/intrinsic_t.hpp:525
↓ 221 callers
Method
open_handle
<!-- description --> @brief Opens a handle and returns the resulting handle <!-- inputs/outputs --> @return Opens a handle and returns the resulting
kernel/src/ext_t.hpp:1204
↓ 210 callers
Function
bfdebug_x64
* <!-- description --> * @brief Outputs a string and an 64bit hex to the console * * <!-- inputs/outputs --> * @param str the string to output
loader/efi/include/debug.h:214
↓ 196 callers
Function
bferror
* <!-- description --> * @brief Outputs a string to the console * * <!-- inputs/outputs --> * @param str the string to output */
loader/efi/include/debug.h:400
↓ 176 callers
Method
dump_field
kernel/src/x64/intel/vs_t.hpp:188
↓ 173 callers
Method
release
<!-- description --> @brief Release the vm_t. <!-- inputs/outputs --> @param mut_tls the current TLS block @param mut_page_pool the page_pool_t to us
kernel/src/vm_t.hpp:85
↓ 171 callers
Method
initialize
<!-- description --> @brief Creates the basic_page_pool_t given a mutable_buffer_t to the basic_page_pool_t as well as the virtual address base of the
lib/src/basic_page_pool_t.hpp:166
↓ 164 callers
Method
release
<!-- description --> @brief Closes the file, releasing all of the resource back to the OS kernel.
lib/mocks/basic_ifmap_t.hpp:113
↓ 156 callers
Method
initialize
<!-- description --> @brief Initializes this vp_t <!-- inputs/outputs --> @param gs the gs_t to use @param tls the tls_t to use @param sys the bf_sys
kernel/integration/support/src/vp_t.hpp:64
↓ 151 callers
Method
dump_field
kernel/src/x64/amd/vs_t.hpp:117
↓ 143 callers
Function
reset
<!-- description --> @brief Resets common tests
loader/tests/include/helpers.hpp:99
↓ 143 callers
Method
write
<!-- description --> @brief Writes a field to the vs_t given a bf_reg_t defining the field and a value to write. <!-- inputs/outputs --> @param tls t
kernel/mocks/vs_t.hpp:431
↓ 140 callers
Function
ut_fails
<!-- description --> @brief The same as bsl::ut_check, but checks for LOADER_FAILURE <!-- inputs/outputs --> @param test if LOADER_FAILURE, the test
loader/tests/include/helpers.hpp:201
↓ 121 callers
Function
tests
<!-- description --> @brief Used to execute the actual checks. We put the checks in this function so that we can validate the tests both at compile-ti
kernel/tests/src/dispatch_esr_page_fault/behavior.cpp:40
↓ 113 callers
Method
size
<!-- description --> @brief Returns the number of bytes in the pool. <!-- inputs/outputs --> @return Returns the number of bytes in the pool.
kernel/src/huge_pool_t.hpp:226
↓ 111 callers
Function
reset_x64
<!-- description --> @brief Resets tests for x64
loader/tests/include/helpers.hpp:120
↓ 111 callers
Method
vmwr64
<!-- description --> @brief Sets the value of requested 64 bit VMCS field <!-- inputs/outputs --> @param field the 64 bit VMCS field to write to @par
kernel/src/x64/intel/intrinsic_t.hpp:641
↓ 107 callers
Method
is_active
<!-- description --> @brief Returns the ID of the first identified PP this vm_t is active on. If the vm_t is not active, bsl::safe_u16::failure() is r
kernel/src/vm_t.hpp:221
↓ 107 callers
Method
is_deallocated
<!-- description --> @brief Returns true if this vm_t is deallocated, false otherwise <!-- inputs/outputs --> @return Returns true if this vm_t is de
kernel/src/vm_t.hpp:154
↓ 105 callers
Method
is_allocated
<!-- description --> @brief Returns true if this vm_t is allocated, false otherwise <!-- inputs/outputs --> @return Returns true if this vm_t is allo
kernel/src/vm_t.hpp:166
↓ 104 callers
Method
is_active_on_this_pp
<!-- description --> @brief Returns true if this vm_t is active on the current PP, false otherwise <!-- inputs/outputs --> @param tls the current TLS
kernel/src/vm_t.hpp:247
↓ 100 callers
Function
to_u8_ptr
loader/tests/include/helpers.hpp:216
↓ 99 callers
Function
console_write
* <!-- description --> * @brief Writes a string to the console. * * <!-- inputs/outputs --> * @param str the string to write to the console.
loader/efi/include/debug.h:48
↓ 97 callers
Function
dispatch_syscall_bf_vs_op
<!-- description --> @brief Dispatches the bf_vs_op syscalls <!-- inputs/outputs --> @param mut_tls the current TLS block @param mut_page_pool the pa
kernel/src/dispatch_syscall_bf_vs_op.hpp:670
↓ 96 callers
Method
is_deallocated
<!-- description --> @brief Returns true if this vp_t is deallocated, false otherwise <!-- inputs/outputs --> @return Returns true if this vp_t is de
example/default/src/vp_t.hpp:198
↓ 94 callers
Function
init_file
<!-- description --> @brief Initializes a file_t <!-- inputs/outputs --> @param mut_file the file to initialize
loader/tests/include/helpers.hpp:314
↓ 90 callers
Method
dump
<!-- description --> @brief Dumps the vm_t <!-- inputs/outputs --> @param tls the current TLS block
kernel/src/vm_t.hpp:260
↓ 77 callers
Method
bf_vs_op_read
<!-- description --> @brief Reads a CPU register from the VS given a bf_reg_t. Note that the bf_reg_t is architecture specific. <!-- inputs/outputs -
syscall/src/bf_syscall_t.rs:1153
↓ 75 callers
Function
fini
<!-- description --> @brief Cleanup and returns success <!-- inputs/outputs --> @return Returns success
loader/tests/include/helpers.hpp:171
↓ 75 callers
Method
set_active
<!-- description --> @brief Sets this vm_t as active. <!-- inputs/outputs --> @param mut_tls the current TLS block
kernel/src/vm_t.hpp:178
↓ 75 callers
Method
tls_reg
<!-- description --> @brief Returns the value of a requested TLS register <!-- inputs/outputs --> @param reg the TLS register to get @return Returns
kernel/src/x64/amd/intrinsic_t.hpp:118
↓ 75 callers
Method
tls_reg
<!-- description --> @brief Returns the value of a requested TLS register <!-- inputs/outputs --> @param reg the TLS register to get @return Returns
kernel/src/x64/intel/intrinsic_t.hpp:275
↓ 73 callers
Method
deallocate
<!-- description --> @brief Deallocates this vm_t <!-- inputs/outputs --> @param mut_tls the current TLS block @param mut_page_pool the page_pool_t t
kernel/src/vm_t.hpp:139
↓ 73 callers
Method
is_allocated
<!-- description --> @brief Returns true if this vp_t is allocated, false otherwise <!-- inputs/outputs --> @return Returns true if this vp_t is allo
example/default/src/vp_t.hpp:186
↓ 68 callers
Method
initialize
<!-- description --> @brief Initializes this vp_t <!-- inputs/outputs --> @param gs the gs_t to use @param tls the tls_t to use @param sys the bf_sys
example/default/src/vp_t.hpp:64
↓ 67 callers
Method
allocate
<!-- description --> @brief Allocates the vp_t and returns it's ID <!-- inputs/outputs --> @param gs the gs_t to use @param tls the tls_t to use @par
example/default/src/vp_t.hpp:130
↓ 64 callers
Method
vmrd32
<!-- description --> @brief Returns the value of requested 32 bit VMCS field <!-- inputs/outputs --> @param field the 32 bit VMCS field to read @para
kernel/src/x64/intel/intrinsic_t.hpp:473
↓ 63 callers
Function
bf_control_op_wait
<!-- description --> @brief This syscall tells the microkernel that the extension would like to wait for a callback. This is a blocking syscall that n
syscall/src/bf_control_ops.rs:41
↓ 62 callers
Method
vmwr32
<!-- description --> @brief Sets the value of requested 32 bit VMCS field <!-- inputs/outputs --> @param field the 32 bit VMCS field to write to @par
kernel/src/x64/intel/intrinsic_t.hpp:609
↓ 58 callers
Function
dispatch_vmexit
<!-- description --> @brief Dispatches the VMExit. <!-- inputs/outputs --> @param gs the gs_t to use @param tls the tls_t to use @param mut_sys the b
kernel/integration/support/src/x64/amd/dispatch_vmexit.hpp:60
↓ 56 callers
Function
bfitoa
* <!-- description --> * @brief Implements itoa * * <!-- inputs/outputs --> * @param mut_value the value to convert to a strin
loader/include/itoa.h:47
↓ 56 callers
Function
dispatch_fail
<!-- description --> @brief Dispatches the fail as needed, or returns an error so that the microkernel can halt the PP. <!-- inputs/outputs --> @para
kernel/integration/support/src/dispatch_fail.hpp:63
↓ 55 callers
Function
loader_fini
* <!-- description --> * @brief This function contains all of the code that is common between * all archiectures and all platforms that is nee
loader/src/loader_fini.c:46
↓ 54 callers
Method
assigned_vm
<!-- description --> @brief Returns the ID of the VM this vp_t is assigned to. If vp_t is not assigned, syscall::BF_INVALID_ID is returned. <!-- inpu
kernel/src/vp_t.hpp:226
↓ 54 callers
Function
loader_init
* <!-- description --> * @brief This function contains all of the code that is common between * all archiectures and all platforms that is nee
loader/src/loader_init.c:51
↓ 53 callers
Method
deallocate
<!-- description --> @brief Deallocates the vp_t <!-- inputs/outputs --> @param gs the gs_t to use @param tls the tls_t to use @param sys the bf_sysc
example/default/src/vp_t.hpp:164
↓ 53 callers
Function
platform_expects
* <!-- description --> * @brief If test is false, a contract violation has occurred. This * should be used to assert preconditions that if not
loader/efi/src/platform.c:51
↓ 53 callers
Method
size
<!-- description --> @brief Returns the number of bytes in the file being mapped. <!-- inputs/outputs --> @return Returns the number of bytes in the
lib/mocks/basic_ifmap_t.hpp:180
↓ 52 callers
Function
bf_touch
* <!-- description --> * @brief A do nothing function designed to ensure line coverage * includes the line being touched. See bsl::tou
loader/include/types.h:69
↓ 52 callers
Method
set_inactive
<!-- description --> @brief Sets this vm_t as inactive. <!-- inputs/outputs --> @param mut_tls the current TLS block
kernel/src/vm_t.hpp:197
↓ 51 callers
Function
bferror_x64
* <!-- description --> * @brief Outputs a string and an 64bit hex to the console * * <!-- inputs/outputs --> * @param str the string to output
loader/efi/include/debug.h:501
↓ 51 callers
Function
gs_initialize
<!-- description --> @brief Initializes the Global Storage (GS). <!-- inputs/outputs --> @param gs the gs_t to use @param sys the bf_syscall_t to use
kernel/integration/support/src/x64/amd/gs_initialize.hpp:47
↓ 49 callers
Method
bf_vs_op_write
<!-- description --> @brief Writes to a CPU register in the VS given a bf_reg_t and the value to write. Note that the bf_reg_t is architecture specifi
syscall/src/bf_syscall_t.rs:1190
↓ 49 callers
Function
bfdebug_ptr
* <!-- description --> * @brief Outputs a string and an pointer to the console * * <!-- inputs/outputs --> * @param str the string to output
loader/efi/include/debug.h:374
↓ 49 callers
Method
tlb_flush
<!-- description --> @brief Flushes any TLB entries associated with this VS on the current PP. <!-- inputs/outputs --> @param tls the current TLS blo
kernel/mocks/vs_t.hpp:539
↓ 47 callers
Function
clr_elf_file_buf
<!-- description --> @brief Deletes the provided ELF file buffer. <!-- inputs/outputs --> @param elf_file_buf the ELF file buffer to delete
kernel/tests/src/ext_t/behavior.cpp:144
↓ 47 callers
Function
get_elf_file_buf
<!-- description --> @brief Returns an allocated and initialized ELF file buffer for use during testing. <!-- inputs/outputs --> @return Returns an a
kernel/tests/src/ext_t/behavior.cpp:132
↓ 47 callers
Function
init
<!-- description --> @brief Initializes common tests
loader/tests/include/helpers.hpp:150
↓ 47 callers
Function
load_elf_file
<!-- description --> @brief Loads the initial state of an ELF file. <!-- inputs/outputs --> @param mut_file the ELF file to load @param phdr_table th
kernel/tests/src/ext_t/behavior.cpp:270
↓ 46 callers
Function
dispatch_esr
<!-- description --> @brief Provides the main entry point for NMI exceptions (which on AMD do not occur as NMIs are blocked). <!-- inputs/outputs -->
kernel/mocks/dispatch_esr.hpp:43
↓ 46 callers
Function
free_mk_root_page_table
* <!-- description --> * @brief Releases a previously allocated root_page_table_t that was allocated * using the alloc_mk_root_page_table func
loader/tests/src/free_mk_root_page_table.c:39
↓ 46 callers
Function
load_phdr_table
<!-- description --> @brief Loads the initial state of the program header table. <!-- inputs/outputs --> @param mut_phdr_table the program header tab
kernel/tests/src/ext_t/behavior.cpp:157
↓ 45 callers
Function
alloc_mk_root_page_table
* <!-- description --> * @brief This function allocates the root page table * * <!-- inputs/outputs --> * @param pmut_rpt where to return the
loader/tests/src/alloc_mk_root_page_table.c:40
↓ 45 callers
Method
id
<!-- description --> @brief Returns the ID of this vs_t <!-- inputs/outputs --> @return Returns the ID of this vs_t
kernel/src/x64/intel/vs_t.hpp:637
↓ 45 callers
Function
platform_free
* <!-- description --> * @brief This function frees memory previously allocated using the * platform_alloc() function. * * <!-- inputs/outpu
loader/efi/src/platform.c:152
↓ 45 callers
Method
set_tls_reg
<!-- description --> @brief Sets the value of a requested TLS register <!-- inputs/outputs --> @param reg the TLS register to set @param val the valu
kernel/src/x64/amd/intrinsic_t.hpp:131
↓ 45 callers
Method
set_tls_reg
<!-- description --> @brief Sets the value of a requested TLS register <!-- inputs/outputs --> @param reg the TLS register to set @param val the valu
kernel/src/x64/intel/intrinsic_t.hpp:289
↓ 42 callers
Method
id
<!-- description --> @brief Returns the ID of this vs_t <!-- inputs/outputs --> @return Returns the ID of this vs_t
kernel/src/x64/amd/vs_t.hpp:252
↓ 40 callers
Method
release
<!-- description --> @brief Release the vp_t. <!-- inputs/outputs --> @param gs the gs_t to use @param tls the tls_t to use @param sys the bf_syscall
example/default/src/vp_t.hpp:95
↓ 39 callers
Function
dispatch_syscall_bf_vm_op
<!-- description --> @brief Dispatches the bf_vm_op syscalls <!-- inputs/outputs --> @param mut_tls the current TLS block @param mut_page_pool the pa
kernel/src/dispatch_syscall_bf_vm_op.hpp:246
↓ 39 callers
Method
id
<!-- description --> @brief Returns the ID of this vm_t <!-- inputs/outputs --> @return Returns the ID of this vm_t
kernel/src/vm_t.hpp:98
↓ 38 callers
Function
bfdebug_x16
* <!-- description --> * @brief Outputs a string and an 16bit hex to the console * * <!-- inputs/outputs --> * @param str the string to output
loader/efi/include/debug.h:160
↓ 37 callers
Method
assigned_pp
<!-- description --> @brief Returns the ID of the PP this vs_t is assigned to. If this vs_t is not assigned, syscall::BF_INVALID_ID is returned. <!--
example/default/mocks/vs_t.hpp:235
↓ 37 callers
Method
assigned_vp
<!-- description --> @brief Returns the ID of the VM this vs_t is assigned to. If this vs_t is not assigned, syscall::BF_INVALID_ID is returned. <!--
example/default/mocks/vs_t.hpp:220
↓ 37 callers
Function
platform_free
* <!-- description --> * @brief This function frees memory previously allocated using the * platform_alloc() function. * * <!-- inputs/outpu
loader/tests/src/platform.c:211
↓ 36 callers
Function
platform_alloc
* <!-- description --> * @brief This function allocates read/write virtual memory from the * kernel. This memory is not physically contiguous.
loader/efi/src/platform.c:95
↓ 36 callers
Function
tests
<!-- description --> @brief Used to execute the actual checks. We put the checks in this function so that we can validate the tests both at compile-ti
example/default/tests/template/behavior.cpp:56
↓ 35 callers
Method
signal_vm_created
<!-- description --> @brief Tells the extension that a VM was created so that it can initialize it's VM specific resources. <!-- inputs/outputs --> @
kernel/src/ext_t.hpp:1503
↓ 35 callers
Function
tests
<!-- description --> @brief Used to execute the actual checks. We put the checks in this function so that we can validate the tests both at compile-ti
loader/tests/src/test_dump_vmm.cpp:46
↓ 34 callers
Function
debug_ring_write
<!-- description --> @brief Outputs a character to the serial port. <!-- inputs/outputs --> @param mut_ring the debug ring to output to @param c the
kernel/src/debug_ring_write.hpp:45
↓ 33 callers
Method
assigned_pp
<!-- description --> @brief Returns the ID of the PP this vs_t is assigned to If vs_t is not assigned, syscall::BF_INVALID_ID is returned. <!-- input
kernel/mocks/vs_t.hpp:335
↓ 33 callers
Method
id
<!-- description --> @brief Returns the ID of this vp_t <!-- inputs/outputs --> @return Returns the ID of this vp_t
example/default/src/vp_t.hpp:112
↓ 33 callers
Method
vmrd16
<!-- description --> @brief Returns the value of requested 16 bit VMCS field <!-- inputs/outputs --> @param field the 16 bit VMCS field to read @para
kernel/src/x64/intel/intrinsic_t.hpp:421
↓ 32 callers
Method
bf_vp_op_create_vp
<!-- description --> @brief This syscall tells the microkernel to create a VP given the IDs of the VM and PP the VP will be assigned to. Upon success,
syscall/src/bf_syscall_t.rs:936
↓ 31 callers
Function
serial_write
<!-- description --> @brief Outputs a string to the serial port. <!-- inputs/outputs --> @param str the string to output @param len the total number
kernel/src/serial_write.hpp:43
↓ 30 callers
Function
dispatch_syscall_bf_debug_op
<!-- description --> @brief Dispatches the bf_debug_op syscalls <!-- inputs/outputs --> @param mut_tls the current TLS block @param page_pool the pag
kernel/src/dispatch_syscall_bf_debug_op.hpp:66
↓ 30 callers
Function
tests
<!-- description --> @brief Used to execute the actual checks. We put the checks in this function so that we can validate the tests both at compile-ti
example/default/tests/mocks/intrinsic_t/behavior.cpp:40
↓ 29 callers
Method
assigned_vm
<!-- description --> @brief Returns the ID of the VM this vp_t is assigned to. If this vp_t is not assigned, syscall::BF_INVALID_ID is returned. <!--
example/default/src/vp_t.hpp:212
↓ 29 callers
Method
bf_vs_op_create_vs
<!-- description --> @brief This syscall tells the microkernel to create a VS and return it's ID. <!-- inputs/outputs --> @param vpid The ID of the V
syscall/src/bf_syscall_t.rs:1027
↓ 29 callers
Function
free_mk_code_aliases
* <!-- description --> * @brief Releases a previously allocated code_aliases_t that was allocated * using the alloc_and_copy_mk_code_aliases f
loader/tests/src/free_mk_code_aliases.c:39
↓ 29 callers
Function
platform_virt_to_phys
* <!-- description --> * @brief Given a virtual address, this function returns the virtual * address's physical address. Returns NULL if the c
loader/efi/src/platform.c:194
↓ 28 callers
Function
dispatch_esr_dump
<!-- description --> @brief Print the contents of a register <!-- inputs/outputs --> @param name the name of the register @param val the value of the
kernel/src/x64/dispatch_esr.hpp:176
next →
1–100 of 2,423, ranked by callers