Инициализация окружения работает
This commit is contained in:
parent
3a4fc413c4
commit
4470a47bb8
|
@ -18,6 +18,9 @@ BACKGROUND_PATH=boot:///boot.tga
|
||||||
MODULE_PATH=boot:///boot.tga
|
MODULE_PATH=boot:///boot.tga
|
||||||
MODULE_CMDLINE=[BOOTIMG]
|
MODULE_CMDLINE=[BOOTIMG]
|
||||||
|
|
||||||
|
MODULE_PATH=boot:///mod/simd.ko
|
||||||
|
MODULE_CMDLINE=[MOD]simd.ko
|
||||||
|
|
||||||
MODULE_PATH=boot:///mod/hello.ko
|
MODULE_PATH=boot:///mod/hello.ko
|
||||||
MODULE_CMDLINE=[MOD]hello.ko
|
MODULE_CMDLINE=[MOD]hello.ko
|
||||||
|
|
||||||
|
|
|
@ -60,9 +60,11 @@ typedef struct {
|
||||||
} env_t;
|
} env_t;
|
||||||
|
|
||||||
extern module_info_t static_info;
|
extern module_info_t static_info;
|
||||||
|
static void (*fb_printf)(char *str, ...);
|
||||||
|
|
||||||
static inline void init_env(env_t *loader_env) {
|
static inline void init_env(env_t *loader_env) {
|
||||||
loader_env->info = (module_info_t *)&static_info + loader_env->offset;
|
loader_env->info = (module_info_t *)&static_info + loader_env->offset;
|
||||||
|
fb_printf = loader_env->fb_printf;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // system.h
|
#endif // system.h
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
#include <system.h>
|
#include <system.h>
|
||||||
|
|
||||||
const char name[] = "Привет мир!";
|
static const char name[] = "Привет мир!";
|
||||||
const char message[] = "Привет из модуля!";
|
static const char message[] = "Привет из модуля!";
|
||||||
|
|
||||||
module_info_t init(env_t *env) {
|
module_info_t init(env_t *env) {
|
||||||
|
init_env(env);
|
||||||
|
fb_printf("[%s]\n", message);
|
||||||
return (module_info_t){ .name = (char *)&name,
|
return (module_info_t){ .name = (char *)&name,
|
||||||
.message = (char *)&message,
|
.message = (char *)&message,
|
||||||
.err_code = 2023,
|
.err_code = 2023,
|
||||||
|
|
|
@ -37,7 +37,7 @@ static void nosound( ) {
|
||||||
|
|
||||||
module_info_t init(env_t *env) {
|
module_info_t init(env_t *env) {
|
||||||
init_env(env);
|
init_env(env);
|
||||||
env->fb_printf("Программа инициализирована!\n");
|
fb_printf("Программа инициализирована!\n");
|
||||||
return (module_info_t){ .name = (char *)"Мелодия",
|
return (module_info_t){ .name = (char *)"Мелодия",
|
||||||
.message =
|
.message =
|
||||||
(char *)"Надеюсь скоро тут будет тетрис!",
|
(char *)"Надеюсь скоро тут будет тетрис!",
|
||||||
|
|
Loading…
Reference in New Issue