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

Function bootstrap_entry

kernel/integration/fast_fail_wait_no_bootstrap.cpp:107–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

105 /// @param ppid0 the physical process to bootstrap
106 ///
107 extern "C" void
108 bootstrap_entry(bsl::safe_u16::value_type const ppid0) noexcept
109 {
110 /// NOTE:
111 /// - Call into the bootstrap handler. This entry point serves as a
112 /// trampoline between C and C++. Specifically, the microkernel
113 /// cannot call a member function directly, and can only call
114 /// a C style function.
115 ///
116
117 auto const ret{dispatch_bootstrap( // --
118 g_mut_gs, // --
119 g_mut_tls, // --
120 g_mut_sys, // --
121 g_mut_intrinsic, // --
122 g_mut_vp_pool, // --
123 g_mut_vs_pool, // --
124 bsl::to_u16(ppid0))};
125
126 if (bsl::unlikely(!ret)) {
127 bsl::print<bsl::V>() << bsl::here();
128 return bf_control_op_exit();
129 }
130
131 /// NOTE:
132 /// - This code should never be reached. The bootstrap handler should
133 /// always call one of the "run" ABIs to return back to the
134 /// microkernel when a bootstrap is finished. If this is called, it
135 /// is because the bootstrap handler returned with an error.
136 ///
137
138 return bf_control_op_exit();
139 }
140
141 /// <!-- description -->
142 /// @brief Implements the fast fail entry function. This is registered

Callers

nothing calls this directly

Calls 2

dispatch_bootstrapFunction · 0.50
bf_control_op_exitFunction · 0.50

Tested by

no test coverage detected