summaryrefslogtreecommitdiff
path: root/miniany/REQUIREMENTS
diff options
context:
space:
mode:
Diffstat (limited to 'miniany/REQUIREMENTS')
-rw-r--r--miniany/REQUIREMENTS31
1 files changed, 31 insertions, 0 deletions
diff --git a/miniany/REQUIREMENTS b/miniany/REQUIREMENTS
new file mode 100644
index 0000000..0352078
--- /dev/null
+++ b/miniany/REQUIREMENTS
@@ -0,0 +1,31 @@
+implementing:
+
+- userland
+ - argument passing to main function (argc, argv)
+- libc
+ - print_char
+ - requires a 3 parameter syscall to 80h (Linux)
+ - requires
+ - inline assembly
+
+not implementing:
+- libc
+ - printf
+ - format string only, as replacement for puts
+ - vararg required in compiler
+ - puts
+ - requires stdout, which is a FILE structure
+ - print_char
+ - requires a 3 parameter syscall to 80h (Linux)
+ - requires
+ - either inline assembly
+ - linker and calling convention
+- preprocessor
+ - have a cat building up the required modules instead
+ - needs file operations (at least open, close, read)
+ - needs a file system on the host and the destination
+ (alternative: have a tape-like file system)
+- linker
+ - have compilation units needs a linker do build
+ an executable
+