1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#include "rust_internal.h"
rust_kernel::rust_kernel(rust_srv *srv) :
_region(srv->local_region),
_log(srv, NULL),
domains(srv->local_region),
message_queues(srv->local_region) {
// Nop.
}
rust_kernel::~rust_kernel() {
// Nop.
}
void
rust_kernel::register_domain(rust_dom *dom) {
domains.append(dom);
}
void
rust_kernel::deregister_domain(rust_dom *dom) {
domains.remove(dom);
}
void
rust_kernel::log_all_domain_state() {
log(rust_log::KERN, "log_all_domain_state: %d domains", domains.length());
for (uint32_t i = 0; i < domains.length(); i++) {
domains[i]->log_state();
}
}
void
rust_kernel::log(uint32_t type_bits, char const *fmt, ...) {
char buf[256];
if (_log.is_tracing(type_bits)) {
va_list args;
va_start(args, fmt);
vsnprintf(buf, sizeof(buf), fmt, args);
_log.trace_ln(NULL, type_bits, buf);
va_end(args);
}
}
|