diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-05-14 18:45:47 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-05-14 18:45:47 +0200 |
commit | ba66b73ce7b4b83ba5dc0fe80695d2fbdd66dd80 (patch) | |
tree | d380f396ddedbce1a692c55bc2644601c8a0b468 | |
parent | e47f8666ec59b9726cc0daee98872bdc4ea6fe3e (diff) | |
download | abaos-ba66b73ce7b4b83ba5dc0fe80695d2fbdd66dd80.tar.gz abaos-ba66b73ce7b4b83ba5dc0fe80695d2fbdd66dd80.tar.bz2 |
added some docu and a design document
-rw-r--r-- | DESIGN | 15 | ||||
-rw-r--r-- | src/README | 2 |
2 files changed, 17 insertions, 0 deletions
@@ -0,0 +1,15 @@ +design principles +----------------- + +Use strict ANSI C99. This means no inline-assembly. This means +we have to write assembly routines if we need things not available +in C (lgdt, in, out, etc.). + +Make sure it compiles with every ANSI C99 compiler (gcc, clang, tcc, ...). + +Use only very simple makefile rules. Make sure we could also just +use a simple shell script to compile the kernel. + +Avoid implementation and using of unsafe C functions. Provide safe +counterparts wherever possible. There are of course exceptions like +scrolling the VGA buffer with a memmove. @@ -10,7 +10,9 @@ * magic.asm kernel utility routines +* console.c - the kernel console, can use VGA or serial port for now * vga.c - VGA basic output routines for early kernel output +* serial.c - serial output to COM1 (only sequential ASCII chars, no terminal) * port.c, port.asm - I/O ports C library routines |