Changeset 20
- Timestamp:
- 06/06/08 00:08:06
- Files:
-
- trunk/bin/MouthOS.bin (added)
- trunk/build.sh (modified) (2 diffs)
- trunk/images/MouthOS.img (modified) (previous)
- trunk/src/include (moved) (moved from trunk/src/headers) (1 prop)
- trunk/src/include/sys (added)
- trunk/src/include/sys/stdarg.h (added)
- trunk/src/include/sys/stdio.h (added)
- trunk/src/include/sys/stdstr.h (added)
- trunk/src/kernel.c (modified) (2 diffs)
- trunk/src/klib (added)
- trunk/src/klib/kprintf.c (added)
- trunk/src/klib/kstrlen.c (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/build.sh
r19 r20 163 163 FLAGS="$FLAGS -m32 -Wall -ffreestanding -fstrength-reduce \ 164 164 -fomit-frame-pointer -finline-functions \ 165 -nostdinc -fno-builtin -c -o" 165 -nostdinc -fno-builtin \ 166 -I \.\/src\/include\/sys -c -o" 166 167 167 168 LINKER="ld" … … 217 218 $RUN 218 219 220 INPUT_FILE="\.\/src\/klib\/kstrlen\.c" 221 OUTPUT_FILE="\.\/bin\/kernel\/kstrlen\.o" 222 RUN=`echo $COMPILER | sed "s/input/$INPUT_FILE/g"` 223 RUN=`echo $RUN | sed "s/output/$OUTPUT_FILE/g"` 224 RUN=`echo $RUN | sed "s/flags/$FLAGS/g"` 225 $RUN 226 227 INPUT_FILE="\.\/src\/klib\/kprintf\.c" 228 OUTPUT_FILE="\.\/bin\/kernel\/kprintf.o" 229 RUN=`echo $COMPILER | sed "s/input/$INPUT_FILE/g"` 230 RUN=`echo $RUN | sed "s/output/$OUTPUT_FILE/g"` 231 RUN=`echo $RUN | sed "s/flags/$FLAGS/g"` 232 $RUN 233 219 234 # Link all the files together... 220 235 trunk/src/include
- Property svn:mergeinfo set
trunk/src/kernel.c
r17 r20 20 20 */ 21 21 22 #include "stdio.h" 23 24 void puts(char *string); 25 26 extern void start; 27 22 28 /* 23 29 * The bootloader will call main below and then the kernel will execute. … … 29 35 { 30 36 37 char vid_buffer[2048]; 38 39 kfprintf(vid_buffer, "Loading MouthOS Kernel..."); 40 kfprintf(vid_buffer, " Kernel located at: %x", &start); 41 42 puts(vid_buffer); 43 31 44 for ( ;; ) ; 32 45 33 46 } 47 48 /* NB: The following code WILL be removed. This is here ONLY to test 49 * that the kfprintf function was working properly. 50 */ 51 52 void 53 puts(char *string) 54 { 55 56 unsigned char *vidmemptr = (unsigned char *) 0xb8000; 57 58 59 while (*string++ != '\0') { 60 *vidmemptr++=*string; 61 *vidmemptr++=0xF; 62 } 63 64 }
