5 * Copyright (C) 2008 Pawel Dziepak
7 * This file consist of functions that are called in order to run Manes. It
8 * includes initialization of hardware and internal kernel data structures.
9 * After this operation kernel can change to the standard way of working witch
10 * preemption, resources, actors and so on.
14 #include "kernel_state.h"
16 #include "../services/logger.h"
17 #include "../services/early_logger.h"
18 #include "../services/service.h"
19 #include "../libs/delegate.h"
21 template<typename T
, typename U
>
24 extern "C" void start() {
25 /* Prepare to execute C++ code */
28 /* Set current kernel state */
29 kernel_state kern_stat
;
31 /* Start early logger and show first message */
33 delegate
<services::service
*> serv
;
34 serv
.function(create_object
<services::service
,services::early_logger
>);
35 services::service_name
earlylogger_name(0,"early_logger",1,serv
);
37 services::service_name::register_service(&earlylogger_name
);
39 services::service::call("early_logger","print","OK.\nStarting Quarn OS...");
45 template<typename T
, typename U
>