summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-05-14 18:45:47 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-05-14 18:45:47 +0200
commitba66b73ce7b4b83ba5dc0fe80695d2fbdd66dd80 (patch)
treed380f396ddedbce1a692c55bc2644601c8a0b468
parente47f8666ec59b9726cc0daee98872bdc4ea6fe3e (diff)
downloadabaos-ba66b73ce7b4b83ba5dc0fe80695d2fbdd66dd80.tar.gz
abaos-ba66b73ce7b4b83ba5dc0fe80695d2fbdd66dd80.tar.bz2
added some docu and a design document
-rw-r--r--DESIGN15
-rw-r--r--src/README2
2 files changed, 17 insertions, 0 deletions
diff --git a/DESIGN b/DESIGN
new file mode 100644
index 0000000..b7ba1e2
--- /dev/null
+++ b/DESIGN
@@ -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.
diff --git a/src/README b/src/README
index f0081b7..bfd0795 100644
--- a/src/README
+++ b/src/README
@@ -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