diff --git a/kernel/init.c b/kernel/init.c index b63c5c43..39274ebb 100644 --- a/kernel/init.c +++ b/kernel/init.c @@ -25,6 +25,7 @@ #include #include #include +#include #ifdef CONFIG_LWIP #include #include @@ -47,6 +48,7 @@ void echo_init(void); void ping_init(void); +int test_init(void); /* * Note that linker symbols are not variables, they have no memory allocated for @@ -178,4 +180,45 @@ int network_shutdown(void) return 0; } +static void list_fs(vfs_node_t* node, uint32_t depth) +{ + int j, i = 0; + dirent_t* dirent = NULL; + + while ((dirent = readdir_fs(node, i)) != 0) { + for(j=0; jname); + + if (strcmp(dirent->name, ".") && strcmp(dirent->name, "..")) { + vfs_node_t *new_node = finddir_fs(node, dirent->name); + if (new_node) { + if (new_node->type == FS_FILE) { + char buff[16] = {[0 ... 15] = 0x00}; + + read_fs(new_node, (uint8_t*)buff, 8, 0); + for(j=0; j #include #include -#include #include #include +#include #include #include #include @@ -34,8 +34,6 @@ #include #endif -extern int test_init(void); - /* * Note that linker symbols are not variables, they have no memory allocated for * maintaining a value, rather their address is their value. @@ -45,39 +43,6 @@ extern const void kernel_end; extern char __BUILD_DATE; extern char __BUILD_TIME; -static void list_fs(vfs_node_t* node, uint32_t depth) -{ - int j, i = 0; - dirent_t* dirent = NULL; - - while ((dirent = readdir_fs(node, i)) != 0) { - for(j=0; jname); - - if (strcmp(dirent->name, ".") && strcmp(dirent->name, "..")) { - vfs_node_t *new_node = finddir_fs(node, dirent->name); - if (new_node) { - if (new_node->type == FS_FILE) { - char buff[16] = {[0 ... 15] = 0x00}; - - read_fs(new_node, (uint8_t*)buff, 8, 0); - for(j=0; j 1 // idle loop of the application processors int smp_main(void) @@ -117,7 +82,6 @@ int main(void) kprintf("Kernel starts at %p and ends at %p\n", &kernel_start, &kernel_end); system_calibration(); - network_init(); kprintf("Processor frequency: %u MHz\n", get_cpu_frequency()); kprintf("Total memory: %u MBytes\n", atomic_int32_read(&total_pages)/((1024*1024)/PAGE_SIZE)); @@ -125,9 +89,7 @@ int main(void) kprintf("Current available memory: %u MBytes\n", atomic_int32_read(&total_available_pages)/((1024*1024)/PAGE_SIZE)); sleep(5); - list_root(); - test_init(); - per_core(current_task)->status = TASK_IDLE; + create_kernel_task(NULL, initd, NULL); per_core(current_task)->time_slices = 0; // reset the number of time slices reschedule();