Исправление загрузки модулей

This commit is contained in:
Aren 2023-11-17 21:08:08 +03:00
parent 8369696931
commit 8a32d4070e
13 changed files with 49 additions and 14 deletions

View File

@ -16,17 +16,17 @@ TERM_WALLPAPER=boot:///boot.jpg
KASLR=no KASLR=no
KERNEL_PATH=boot:///kernel.elf KERNEL_PATH=boot:///kernel.elf
MODULE_PATH=boot:///boot.tga MODULE_PATH=boot:///mod/cpubench.ko
MODULE_CMDLINE=[BOOTIMG] MODULE_CMDLINE=[MOD]cpubench.ko
MODULE_PATH=boot:///mod/simd.ko MODULE_PATH=boot:///mod/simd.ko
MODULE_CMDLINE=[MOD]simd.ko MODULE_CMDLINE=[MOD]simd.ko
MODULE_PATH=boot:///mod/cpubench.ko
MODULE_CMDLINE=[MOD]cpubench.ko
MODULE_PATH=boot:///mod/pci_data.ko MODULE_PATH=boot:///mod/pci_data.ko
MODULE_CMDLINE=[MOD]pci_data.ko MODULE_CMDLINE=[MOD]pci_data.ko
MODULE_PATH=boot:///mod/pci.ko MODULE_PATH=boot:///mod/pci.ko
MODULE_CMDLINE=[MOD]pci.ko MODULE_CMDLINE=[MOD]pci.ko
MODULE_PATH=boot:///boot.tga
MODULE_CMDLINE=[BOOTIMG]

View File

@ -1,3 +1,3 @@
#define VERSION_MAJOR 0 #define VERSION_MAJOR 0
#define VERSION_MINOR 1 #define VERSION_MINOR 1
#define VERSION_BUILD 505 #define VERSION_BUILD 512

View File

@ -94,7 +94,7 @@ void mod_init( ) {
continue; continue;
} }
module_info_t (*module_init)(env_t * env) = module_info_t (*module_init)(env_t *env) =
(module_info_t(*)(env_t * env)) (module_info_t(*)(env_t * env))
elf_entry((elf64_header_t *)module_ptr->address); elf_entry((elf64_header_t *)module_ptr->address);
@ -109,6 +109,7 @@ void mod_init( ) {
module_info_t ret = module_init(&main_env); module_info_t ret = module_init(&main_env);
LOG("\t->%s\n", ret.message);
module_list[modules_count].message = ret.message; module_list[modules_count].message = ret.message;
module_list[modules_count].data_size = ret.data_size; module_list[modules_count].data_size = ret.data_size;

0
modules/cpubench/build.sh Normal file → Executable file
View File

View File

@ -52,9 +52,16 @@ module_info_t init(env_t *env) {
L2_cache_size( ); L2_cache_size( );
L3_cache_size( ); L3_cache_size( );
fb_printf("Конец");
return (module_info_t){ return (module_info_t){
.name = (char *)"CPUBENCH", .name = (char *)"CPUBENCH",
.message = (char *)"Дополнительная информация о процессоре", .message = (char *)"Дополнительная информация о процессоре",
.type = 0,
.data_size = 0,
.data = (void *)0,
.data_size = 0,
.err_code = 0, .err_code = 0,
.module_id = 0,
}; };
} }

View File

@ -9,6 +9,11 @@ module_info_t init(env_t *env) {
return (module_info_t){ return (module_info_t){
.name = (char *)&name, .name = (char *)&name,
.message = (char *)&message, .message = (char *)&message,
.err_code = 2023, .type = 0,
.data_size = 0,
.data = (void *)0,
.data_size = 0,
.err_code = 0,
.module_id = 0,
}; };
} }

View File

@ -41,7 +41,12 @@ module_info_t init(env_t *env) {
return (module_info_t){ return (module_info_t){
.name = (char *)"Мелодия", .name = (char *)"Мелодия",
.message = (char *)"Надеюсь скоро тут будет тетрис!", .message = (char *)"Надеюсь скоро тут будет тетрис!",
.err_code = 404, .type = 0,
.data_size = 0,
.data = (void *)0,
.data_size = 0,
.err_code = 0,
.module_id = 0,
}; };
// Массив с нотами // Массив с нотами

0
modules/pci/build.sh Normal file → Executable file
View File

View File

@ -80,6 +80,11 @@ module_info_t init(env_t *env) {
return (module_info_t){ return (module_info_t){
.name = (char *)"[PCI]", .name = (char *)"[PCI]",
.message = (char *)"PCI драйвер", .message = (char *)"PCI драйвер",
.type = 0,
.data_size = 0,
.data = (void *)0,
.data_size = 0,
.err_code = 0, .err_code = 0,
.module_id = 0,
}; };
} }

0
modules/pci_data/build.sh Normal file → Executable file
View File

View File

@ -11,8 +11,14 @@ vendor_t vendor_list[] = { { "Intel", 0x8086 },
module_info_t init(env_t *env) { module_info_t init(env_t *env) {
init_env(env); init_env(env);
return (module_info_t){ .name = (char *)"[PCI][DATA]", return (module_info_t){
.message = (char *)"PCI данные", .name = (char *)"[PCI][DATA]",
.data_size = 3, .message = (char *)"PCI данные",
.data = &vendor_list }; .type = 0,
.data_size = 0,
.data_size = 3,
.data = &vendor_list,
.err_code = 0,
.module_id = 0,
};
} }

0
modules/simd/build.sh Normal file → Executable file
View File

View File

@ -30,6 +30,12 @@ module_info_t init(env_t *env) {
return (module_info_t){ return (module_info_t){
.name = (char *)"SIMD", .name = (char *)"SIMD",
.message = (char *)"SIMD инструкции", .message = (char *)"SIMD инструкции",
.type = 0,
.data_size = 0,
.data = (void *)0,
.data_size = 0,
.err_code = 0, .err_code = 0,
.module_id = 0,
}; };
} }