diff --git a/src/sys/include/ubixos/init.h b/src/sys/include/ubixos/init.h new file mode 100644 index 0000000..72e5a9b --- /dev/null +++ b/src/sys/include/ubixos/init.h @@ -0,0 +1,51 @@ +/***************************************************************************************** + Copyright (c) 2002-2004 The UbixOS Project + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, are + permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this list of + conditions, the following disclaimer and the list of authors. Redistributions in binary + form must reproduce the above copyright notice, this list of conditions, the following + disclaimer and the list of authors in the documentation and/or other materials provided + with the distribution. Neither the name of the UbixOS Project nor the names of its + contributors may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + $Id$ + +*****************************************************************************************/ + +#ifndef _INIT_H +#define _INIT_H + +#include + +typedef int (*intFunctionPTR)(void); + +int static_constructors(void); + +intFunctionPTR init_tasks[] = { + static_constructors, + vmm_init, + }; + +int init_tasksTotal = sizeof(init_tasks)/sizeof(intFunctionPTR); + +#endif + +/*** + END + ***/ + diff --git a/src/sys/init/main.c b/src/sys/init/main.c index 037d925..6d26d75 100644 --- a/src/sys/init/main.c +++ b/src/sys/init/main.c @@ -30,6 +30,7 @@ #include #include #include +#include /***************************************************************************************** Desc: The Kernels Descriptor table: @@ -78,10 +79,11 @@ int main() { int i = 0x0; - - while (1) { - for (i = 0x0;i <= 0xFF;i++) { - kprintf("Ubix: [0x%X]",i); + + /* Modify src/sys/include/ubixos/init.h to add a startup routine */ + for (i=0x0;i + +/***************************************************************************************** + Function: int vmm_init() + + Description: Initializes the vmm subsystem + + Notes: + +*****************************************************************************************/ +int vmm_init() { + if (vmm_buildMemoryMap() != 0x0) { + return (0x1); + } + /* + if (vmm_pagingInit() != 0x0) { + return (0x1); + } + */ + return (0x0); + } + +/*** + END + ***/ +