MCPcopy Create free account
hub / github.com/Bareflank/hypervisor / dispatch_syscall

Function dispatch_syscall

kernel/mocks/dispatch_syscall.hpp:64–90  ·  view source on GitHub ↗

<!-- description --> @brief Provides the main entry point for all syscalls. This function will dispatch syscalls as needed. <!-- inputs/outputs --> @param tls the current TLS block @param page_pool the page_pool_t to use @param huge_pool the huge pool to use @param intrinsic the intrinsic_t to use @param vm_pool the vm_pool_t to use @param vp_pool the vp_pool_t to use @param vs_pool the vs_pool_t

Source from the content-addressed store, hash-verified

62 /// @return Returns a bf_status_t containing success or failure
63 ///
64 [[nodiscard]] constexpr auto
65 dispatch_syscall(
66 tls_t const &tls,
67 page_pool_t const &page_pool,
68 huge_pool_t const &huge_pool,
69 intrinsic_t const &intrinsic,
70 vm_pool_t const &vm_pool,
71 vp_pool_t const &vp_pool,
72 vs_pool_t const &vs_pool,
73 ext_pool_t const &ext_pool,
74 vmexit_log_t const &log) noexcept -> syscall::bf_status_t
75 {
76 bsl::discard(page_pool);
77 bsl::discard(huge_pool);
78 bsl::discard(intrinsic);
79 bsl::discard(vm_pool);
80 bsl::discard(vp_pool);
81 bsl::discard(vs_pool);
82 bsl::discard(ext_pool);
83 bsl::discard(log);
84
85 if (SYSCALL_FAILS == tls.test_ret) {
86 return syscall::BF_STATUS_FAILURE_UNKNOWN;
87 }
88
89 return syscall::BF_STATUS_SUCCESS;
90 }
91}
92
93#endif

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected