From ba66b73ce7b4b83ba5dc0fe80695d2fbdd66dd80 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 14 May 2017 18:45:47 +0200 Subject: added some docu and a design document --- DESIGN | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 DESIGN (limited to 'DESIGN') 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. -- cgit v1.2.3-54-g00ecf