/* * Copyright 2010 Stefan Lankes, Chair for Operating Systems, * RWTH Aachen University * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * This file is part of MetalSVM. */ #include #include #include #include #include #include #include #include #include #include #include #include #include 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. */ extern const void kernel_start; extern const void kernel_end; extern char __BUILD_DATE; extern char __BUILD_TIME; extern char __BUILD_VERSION; 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; jstatus = TASK_IDLE; reschedule(); while(1) { NOP8; } return 0; }