Инициализация окружения работает

This commit is contained in:
Aren Elchinyan 2023-10-29 18:41:54 +03:00
parent 3a4fc413c4
commit 4470a47bb8
4 changed files with 10 additions and 3 deletions

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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 *)"Надеюсь скоро тут будет тетрис!",