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
↓ 28 callers
Function
init_x64
<!-- description --> @brief Initializes tets for x64
loader/tests/include/helpers.hpp:159
↓ 28 callers
Method
vmwr16
<!-- description --> @brief Sets the value of requested 16 bit VMCS field <!-- inputs/outputs --> @param field the 16 bit VMCS field to write to @par
kernel/src/x64/intel/intrinsic_t.hpp:577
↓ 25 callers
Method
assigned_vp
<!-- description --> @brief Returns the ID of the VP this vs_t is assigned to. If vs_t is not assigned, syscall::BF_INVALID_ID is returned. <!-- inpu
kernel/mocks/vs_t.hpp:320
↓ 25 callers
Method
read
<!-- description --> @brief Reads a field from the vs_t given a bf_reg_t defining the field to read. <!-- inputs/outputs --> @param tls the current T
kernel/mocks/vs_t.hpp:395
↓ 25 callers
Function
start_vmm
* <!-- description --> * @brief This function contains all of the code that is common between * all archiectures and all platforms for startin
loader/src/start_vmm.c:275
↓ 24 callers
Method
bf_tls_set_rax
<!-- description --> @brief Sets the value of tls.rax <!-- inputs/outputs --> @param val The value to set tls.rax to
syscall/src/bf_syscall_t.rs:181
↓ 24 callers
Function
bf_vm_op_unmap_direct_impl
syscall/mocks/bf_syscall_impl.hpp:990
↓ 24 callers
Function
dispatch_syscall
<!-- description --> @brief Provides the main entry point for all syscalls. This function will dispatch syscalls as needed. <!-- inputs/outputs --> @
kernel/src/dispatch_syscall.hpp:74
↓ 23 callers
Method
empty
<!-- description --> @brief Returns m_size.is_zero() <!-- inputs/outputs --> @return Returns m_size.is_zero()
lib/mocks/basic_ifmap_t.hpp:155
↓ 23 callers
Method
process
<!-- description --> @brief Process the user provided command line arguments. If the user provided command succeeds, this function will return bsl::er
vmmctl/src/vmmctl_main.hpp:279
↓ 22 callers
Function
dispatch_bootstrap
<!-- description --> @brief Dispatches the bootstrap process as needed. Note that the bootstrap callback is only called when starting the hypervisor o
kernel/integration/support/src/dispatch_bootstrap.hpp:60
↓ 22 callers
Function
dispatch_syscall_bf_callback_op
<!-- description --> @brief Dispatches the bf_callback_op syscalls <!-- inputs/outputs --> @param mut_tls the current TLS block @return Returns a bf_
kernel/src/dispatch_syscall_bf_callback_op.hpp:133
↓ 22 callers
Function
entry_status
lib/tests/src/basic_root_page_table_t/basic_root_page_table_helpers.hpp:49
↓ 22 callers
Method
rdmsr
<!-- description --> @brief Returns the value of requested MSR <!-- inputs/outputs --> @param msr the MSR to read from @return Returns the value of r
kernel/src/x64/intel/intrinsic_t.hpp:305
↓ 21 callers
Function
alloc_and_copy_mk_code_aliases
* <!-- description --> * @brief The function's main purpose is allocate pages for all of the * executable code that is currently linked into t
loader/tests/src/alloc_and_copy_mk_code_aliases.c:77
↓ 21 callers
Method
bf_tls_rax
<!-- description --> @brief Returns the value of tls.rax <!-- inputs/outputs --> @return Returns the value of tls.rax
syscall/src/bf_syscall_t.rs:169
↓ 21 callers
Function
dispatch_syscall_bf_vp_op
<!-- description --> @brief Dispatches the bf_vp_op syscalls <!-- inputs/outputs --> @param mut_tls the current TLS block @param vm_pool the vm_pool_
kernel/src/dispatch_syscall_bf_vp_op.hpp:114
↓ 21 callers
Function
set_idt_descriptor
* <!-- description --> * @brief Sets an IDT's descriptor given an index into the IDT to * set and the offset, selector and attribute values to
loader/src/x64/set_idt_descriptor.c:70
↓ 20 callers
Method
deallocate
lib/src/basic_page_pool_t.hpp:239
↓ 20 callers
Method
dump_field
<!-- description --> @brief Dumps the contents of the VMExit log for the requested PP <!-- inputs/outputs --> @param str the name of the field @param
kernel/src/x64/vmexit_log_t.hpp:61
↓ 20 callers
Method
get_vs
<!-- description --> @brief Returns the vs_t associated with the provided vsid. <!-- inputs/outputs --> @param vsid the ID of the vs_t to get @return
kernel/src/vs_pool_t.hpp:68
↓ 20 callers
Method
rdmsr
<!-- description --> @brief Returns the value of requested MSR <!-- inputs/outputs --> @param msr the MSR to read from @return Returns the value of r
kernel/mocks/x64/intrinsic_t.hpp:132
↓ 19 callers
Method
bf_vs_op_advance_ip_and_run_current
<!-- description --> @brief bf_vs_op_advance_ip_and_run_current tells the microkernel to advance the IP of and execute the currently active VS, VP and
syscall/src/bf_syscall_t.rs:1353
↓ 18 callers
Method
bf_tls_ppid
<!-- description --> @brief Returns the value of tls.ppid <!-- inputs/outputs --> @return Returns the value of tls.ppid
syscall/src/bf_syscall_t.rs:592
↓ 18 callers
Function
map_4k_page_rw
* <!-- description --> * @brief This function maps a 4k page given a physical address into a * provided root page table at the provided virtua
loader/src/map_4k_page_rw.c:50
↓ 18 callers
Method
start
<!-- description --> @brief Starts the extension by executing it's _start entry point. If the extension has not been initialized, this function will r
kernel/src/ext_t.hpp:1574
↓ 17 callers
Function
bf_handle_op_open_handle_impl
syscall/mocks/bf_syscall_impl.hpp:663
↓ 17 callers
Method
bf_vm_op_create_vm
<!-- description --> @brief This syscall tells the microkernel to create a VM and return it's ID. <!-- inputs/outputs --> @return Returns the resulti
syscall/src/bf_syscall_t.rs:683
↓ 17 callers
Function
bfdebug_x32
* <!-- description --> * @brief Outputs a string and an 32bit hex to the console * * <!-- inputs/outputs --> * @param str the string to output
loader/efi/include/debug.h:187
↓ 17 callers
Function
bferror
* <!-- description --> * @brief Outputs a string to the console * * <!-- inputs/outputs --> * @param str the string to output */
loader/windows/include/debug.h:271
↓ 17 callers
Method
bootstrap
<!-- description --> @brief Bootstraps the extension by executing it's bootstrap entry point. If the extension has not been initialized, this function
kernel/src/ext_t.hpp:1599
↓ 17 callers
Function
intrinsic_rdmsr
loader/tests/include/helpers.hpp:436
↓ 17 callers
Method
is_locked
<!-- description --> @brief Returns true if the basic_spinlock_t is locked <!-- inputs/outputs --> @return Returns true if the basic_spinlock_t is lo
lib/src/basic_spinlock_t.hpp:201
↓ 16 callers
Method
bf_tls_rbx
<!-- description --> @brief Returns the value of tls.rbx <!-- inputs/outputs --> @return Returns the value of tls.rbx
syscall/src/bf_syscall_t.rs:194
↓ 16 callers
Method
bf_tls_rcx
<!-- description --> @brief Returns the value of tls.rcx <!-- inputs/outputs --> @return Returns the value of tls.rcx
syscall/src/bf_syscall_t.rs:219
↓ 16 callers
Method
bf_tls_rdx
<!-- description --> @brief Returns the value of tls.rdx <!-- inputs/outputs --> @return Returns the value of tls.rdx
syscall/src/bf_syscall_t.rs:244
↓ 16 callers
Function
bf_vs_op_advance_ip_and_set_active_impl
syscall/mocks/bf_syscall_impl.hpp:1406
↓ 16 callers
Function
bf_vs_op_set_active_impl
syscall/mocks/bf_syscall_impl.hpp:1381
↓ 16 callers
Function
bferror
* <!-- description --> * @brief Outputs a string to the console * * <!-- inputs/outputs --> * @param str the string to output */
loader/linux/include/debug.h:274
↓ 16 callers
Function
free_mk_state
* <!-- description --> * @brief Releases a previously allocated state_save_t that was allocated * using the alloc_and_copy_mk_state function.
loader/tests/src/free_mk_state.c:39
↓ 16 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/tests/src/platform.c:84
↓ 16 callers
Method
wrmsr
<!-- description --> @brief Sets the value of requested MSR <!-- inputs/outputs --> @param msr the MSR to write to @param val the value to set the MS
kernel/mocks/x64/intrinsic_t.hpp:153
↓ 15 callers
Method
allocated
<!-- description --> @brief Returns the number of bytes allocated. <!-- inputs/outputs --> @return Returns the number of bytes allocated.
lib/src/basic_page_pool_t.hpp:129
↓ 15 callers
Method
bf_tls_set_rcx
<!-- description --> @brief Sets the value of tls.rcx <!-- inputs/outputs --> @param val The value to set tls.rcx to
syscall/src/bf_syscall_t.rs:231
↓ 15 callers
Method
bf_vs_op_advance_ip_and_set_active
<!-- description --> @brief TODO <!-- inputs/outputs --> @param vmid The ID of the VM to run @param vpid The ID of the VP to run @param vsid The ID o
syscall/src/bf_syscall_t.rs:1538
↓ 15 callers
Method
bf_vs_op_set_active
<!-- description --> @brief TODO <!-- inputs/outputs --> @param vmid The ID of the VM to run @param vpid The ID of the VP to run @param vsid The ID o
syscall/src/bf_syscall_t.rs:1489
↓ 15 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 sys the bf_sy
example/default/mocks/dispatch_vmexit.hpp:56
↓ 15 callers
Method
get_vs
<!-- description --> @brief Returns the vs_t associated with the provided vsid. <!-- inputs/outputs --> @param vsid the ID of the vs_t to get @return
kernel/mocks/vs_pool_t.hpp:65
↓ 15 callers
Function
map_4k_page_rx
* <!-- description --> * @brief This function maps a 4k page given a physical address into a * provided root page table at the provided virtua
loader/src/map_4k_page_rx.c:50
↓ 15 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/mocks/huge_pool_t.hpp:192
↓ 15 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/mocks/x64/intrinsic_t.hpp:103
↓ 14 callers
Function
bf_debug_op_dump_vs
<!-- description --> @brief This syscall tells the microkernel to output the state of a VS to the console device the microkernel is currently using fo
syscall/src/bf_debug_ops.rs:76
↓ 14 callers
Method
bf_tls_r10
<!-- description --> @brief Returns the value of tls.r10 <!-- inputs/outputs --> @return Returns the value of tls.r10
syscall/src/bf_syscall_t.rs:394
↓ 14 callers
Method
bf_tls_r11
<!-- description --> @brief Returns the value of tls.r11 <!-- inputs/outputs --> @return Returns the value of tls.r11
syscall/src/bf_syscall_t.rs:419
↓ 14 callers
Method
bf_tls_r12
<!-- description --> @brief Returns the value of tls.r12 <!-- inputs/outputs --> @return Returns the value of tls.r12
syscall/src/bf_syscall_t.rs:444
↓ 14 callers
Method
bf_tls_r13
<!-- description --> @brief Returns the value of tls.r13 <!-- inputs/outputs --> @return Returns the value of tls.r13
syscall/src/bf_syscall_t.rs:469
↓ 14 callers
Method
bf_tls_r14
<!-- description --> @brief Returns the value of tls.r14 <!-- inputs/outputs --> @return Returns the value of tls.r14
syscall/src/bf_syscall_t.rs:494
↓ 14 callers
Method
bf_tls_r15
<!-- description --> @brief Returns the value of tls.r15 <!-- inputs/outputs --> @return Returns the value of tls.r15
syscall/src/bf_syscall_t.rs:519
↓ 14 callers
Method
bf_tls_r8
<!-- description --> @brief Returns the value of tls.r8 <!-- inputs/outputs --> @return Returns the value of tls.r8
syscall/src/bf_syscall_t.rs:344
↓ 14 callers
Method
bf_tls_r9
<!-- description --> @brief Returns the value of tls.r9 <!-- inputs/outputs --> @return Returns the value of tls.r9
syscall/src/bf_syscall_t.rs:369
↓ 14 callers
Method
bf_tls_rbp
<!-- description --> @brief Returns the value of tls.rbp <!-- inputs/outputs --> @return Returns the value of tls.rbp
syscall/src/bf_syscall_t.rs:269
↓ 14 callers
Method
bf_tls_rdi
<!-- description --> @brief Returns the value of tls.rdi <!-- inputs/outputs --> @return Returns the value of tls.rdi
syscall/src/bf_syscall_t.rs:319
↓ 14 callers
Method
bf_tls_rsi
<!-- description --> @brief Returns the value of tls.rsi <!-- inputs/outputs --> @return Returns the value of tls.rsi
syscall/src/bf_syscall_t.rs:294
↓ 14 callers
Function
bf_vm_op_map_direct_impl
syscall/mocks/bf_syscall_impl.hpp:955
↓ 14 callers
Function
bf_vs_op_create_vs_impl
syscall/mocks/bf_syscall_impl.hpp:1109
↓ 14 callers
Function
dispatch_syscall_bf_mem_op
<!-- description --> @brief Dispatches the bf_mem_op syscalls <!-- inputs/outputs --> @param mut_tls the current TLS block @param mut_page_pool the p
kernel/src/dispatch_syscall_bf_mem_op.hpp:110
↓ 14 callers
Method
initialize
<!-- inputs/outputs --> @param version the version provided to the extension by the microkernel. If this API does not support the ABI versions that th
syscall/src/bf_syscall_t.rs:50
↓ 14 callers
Method
remaining
<!-- description --> @brief Returns this->size() - this->allocated(). <!-- inputs/outputs --> @return Returns this->size() - this->allocated().
lib/src/basic_page_pool_t.hpp:146
↓ 13 callers
Method
allocated
<!-- description --> @brief Returns the number of bytes allocated. <!-- inputs/outputs --> @return Returns the number of bytes allocated.
kernel/src/huge_pool_t.hpp:109
↓ 13 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/src/x64/amd/vs_t.hpp:542
↓ 13 callers
Method
bf_vs_op_init_as_root
<!-- description --> @brief This syscall tells the microkernel to initialize a VS using the root VP state provided by the loader using the current PPI
syscall/src/bf_syscall_t.rs:1120
↓ 13 callers
Function
bf_vs_op_migrate_impl
syscall/mocks/bf_syscall_impl.hpp:1359
↓ 13 callers
Function
bf_vs_op_read_impl
syscall/mocks/bf_syscall_impl.hpp:1180
↓ 13 callers
Method
id
<!-- description --> @brief Returns the ID of this vs_t <!-- inputs/outputs --> @return Returns the ID of this vs_t
example/default/src/x64/intel/vs_t.hpp:116
↓ 13 callers
Method
id
<!-- description --> @brief Returns the ID of this VsT <!-- inputs/outputs --> @return Returns the ID of this VsT
example/default_rust/src/x64/intel/vs_t.rs:108
↓ 13 callers
Method
is_open
<!-- description --> @brief Returns true if the basic_ioctl_t has been opened, false otherwise. <!-- inputs/outputs --> @return Returns true if the b
lib/mocks/basic_ioctl_t.hpp:147
↓ 13 callers
Method
process
<!-- description --> @brief Process the mk_args_t provided by the loader. If the user provided command succeeds, this function will return bsl::errc_s
kernel/src/mk_main_t.hpp:486
↓ 13 callers
Method
state_save_to_vs
<!-- description --> @brief Stores the provided state in the vs_t <!-- inputs/outputs --> @param tls the current TLS block @param intrinsic the intri
kernel/mocks/vs_t.hpp:350
↓ 13 callers
Method
vs_to_state_save
<!-- description --> @brief Stores the vs_t state in the provided state save <!-- inputs/outputs --> @param tls the current TLS block @param intrinsi
kernel/mocks/vs_t.hpp:371
↓ 12 callers
Method
alloc_huge
<!-- description --> @brief Allocates a physically contiguous block of memory and maps it into the extension's address space. <!-- inputs/outputs -->
kernel/src/ext_t.hpp:1317
↓ 12 callers
Method
bf_intrinsic_op_rdmsr
<!-- description --> @brief Reads an MSR directly from the CPU given the address of the MSR to read. Note that this is specific to Intel/AMD only. Als
syscall/src/bf_syscall_t.rs:1629
↓ 12 callers
Method
bf_tls_online_pps
<!-- description --> @brief Returns the value of tls.online_pps <!-- inputs/outputs --> @return Returns the value of tls.online_pps
syscall/src/bf_syscall_t.rs:604
↓ 12 callers
Method
bf_tls_vmid
<!-- description --> @brief Returns the value of tls.vmid <!-- inputs/outputs --> @return Returns the value of tls.vmid
syscall/src/bf_syscall_t.rs:556
↓ 12 callers
Method
bf_vm_op_unmap_direct
<!-- description --> @brief This syscall tells the microkernel to unmap a previously mapped virtual address in the direct map. Unlike bf_vm_op_unmap_d
syscall/src/bf_syscall_t.rs:824
↓ 12 callers
Method
bf_vs_op_run_current
<!-- description --> @brief bf_vs_op_run_current tells the microkernel to execute the currently active VS, VP and VM. <!-- inputs/outputs --> @return
syscall/src/bf_syscall_t.rs:1272
↓ 12 callers
Function
bf_vs_op_tlb_flush_impl
syscall/mocks/bf_syscall_impl.hpp:1430
↓ 12 callers
Function
bf_vs_op_write_impl
syscall/mocks/bf_syscall_impl.hpp:1215
↓ 12 callers
Function
bferror_x32
* <!-- description --> * @brief Outputs a string and an 32bit hex to the console * * <!-- inputs/outputs --> * @param str the string to output
loader/efi/include/debug.h:474
↓ 12 callers
Function
dispatch_syscall_bf_handle_op
<!-- description --> @brief Dispatches the bf_handle_op syscalls <!-- inputs/outputs --> @param mut_tls the current TLS block @return Returns a bf_st
kernel/src/dispatch_syscall_bf_handle_op.hpp:93
↓ 12 callers
Function
dispatch_vmexit_cpuid
<!-- description --> @brief Handles the CPUID VMexit <!-- inputs/outputs --> @param gs the gs_t to use @param tls the tls_t to use @param mut_sys the
example/default/src/x64/dispatch_vmexit_cpuid.hpp:55
↓ 12 callers
Function
platform_alloc
* <!-- description --> * @brief This function allocates read/write virtual memory from the * kernel. This memory is not physically contiguous.
loader/tests/src/platform.c:128
↓ 12 callers
Method
remaining
<!-- description --> @brief Returns this->size() - this->allocated(). <!-- inputs/outputs --> @return Returns this->size() - this->allocated().
kernel/src/huge_pool_t.hpp:126
↓ 11 callers
Function
bf_callback_op_register_bootstrap_impl
syscall/mocks/bf_syscall_impl.hpp:846
↓ 11 callers
Function
bf_callback_op_register_fail_impl
syscall/mocks/bf_syscall_impl.hpp:884
↓ 11 callers
Function
bf_callback_op_register_vmexit_impl
syscall/mocks/bf_syscall_impl.hpp:865
↓ 11 callers
Function
bf_debug_op_dump_vmexit_log
<!-- description --> @brief This syscall tells the microkernel to output the VMExit log. The VMExit log is a chronological log of the "X" number of ex
syscall/src/bf_debug_ops.rs:90
↓ 11 callers
Function
bf_is_page_aligned
<!-- description --> @brief Returns true if the provided address is 4k page aligned, returns false otherwise. <!-- inputs/outputs --> @param addr the
syscall/include/bf_constants.rs:38
↓ 11 callers
Method
bf_tls_set_online_pps
<!-- description --> @brief Sets the value of tls.online_pps (unit testing only) <!-- inputs/outputs --> @param val The value to set tls.online_pps t
syscall/mocks/bf_syscall_t.hpp:1075
↓ 11 callers
Method
bf_tls_set_rbx
<!-- description --> @brief Sets the value of tls.rbx <!-- inputs/outputs --> @param val The value to set tls.rbx to
syscall/src/bf_syscall_t.rs:206
↓ 11 callers
Method
bf_tls_set_rdx
<!-- description --> @brief Sets the value of tls.rdx <!-- inputs/outputs --> @param val The value to set tls.rdx to
syscall/src/bf_syscall_t.rs:256
← previous
next →
101–200 of 2,423, ranked by callers