summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README125
1 files changed, 0 insertions, 125 deletions
diff --git a/README b/README
deleted file mode 100644
index 64408bf..0000000
--- a/README
+++ /dev/null
@@ -1,125 +0,0 @@
-* vi: ft=markdown
-
-Welcome to FoolOS
-
-=================
-Copyright M.Idziorek 2014 <m.i@gmx.at>
-
-Disclaimer
-----------
-
-This is a simple and useless "operating system", with very basic
-features, sorry. It is the fruit of my fundamental explorations of
-the 32-bit protected mode, interrupt handling, memory management and
-some other things.
-
-[![Screenshot of FoolOS](/screenshots/foolos.png?raw=true "FoolOs Kernel")]
-
-
-NOTES
-=====
-
-cli; disable interrupts
-lgdt
-lidt
-sti; enable interrupts
-
-Linux Startup x86
-=================
-
-1. arch/x86/boot/header.S
-
-Contains the header and linux 16 bit code.
-
-This code should be entered with a bootloader at the address specified
-within the header (as _start) which will put us at 'start_of_setup'
-
-Direct loading will put us at 'start2' at the very start which will
-show an error message
-
-If everyhing goes right we will enter the 16-bit real mode C module
-with:
-
-call main ; should not return
-
-2. arch/x86/boot/main.c
-
-void main(void) will do some checks and detections (cpu,mem,..) and
-invoke: go_to_protected_mode();
-
-3. arch/x86/boot/pm.c
-
-go_to_protected_mode() - will disable interrupts and set up the initial
-idt and gdt descriptor tables before calling: protected_mode_jump() and
-passing the address of code32_start.
-
-4. arch/x86/boot/pmjump.S
-
-back in assembly-world the actual transition is made inside
-'protected_mode_jump' and we move on to 'in_pm32' where the data segment
-is set up and we jmpl to the 32-bit entry point of the kernel.
-
-5. arch/x86/kernel/head32.c (assumption!?)
-
-void i386_start_kernel(void)
-
-6. init/main.c
-
-start_kernel(void)
-
-setup_arch()!!
-
-Interrupts
-==========
-
-arch/x86/include/asm/irq_vectors.h each entry is 8 bytes
-
-ISA interrupts:
-
-0x30 0x0000 0x0000 0x0000 0x0000
-0x31
-0x32
-..
-0x3f
-
-
-TODOS
-=====
- * study LINUX KERNEL
- * GNU HURD
- * MINIX
- * FreeBSD etc.
-
-NETWORK
-=======
-
- look at following linux drivers:
- * e1000
-
-notes
-=====
-
-* posix - minimal set of function calls!
-* distributed os
-* caches L1,L2,L3
-* controller -> ide inteface of device
-* probe memory!
-* a20~ wrap
-
-* ssd card reader
-* cobol fortran algol? compilers?
-
-* quotation: ontogeny nrecapitulates phylogeny
-
-* own simple sell
-
-check:
-apertium?
-clang
-freebsd
-user-mode-linux
-
-REFERENCES
-==========
-
-http://www.brokenthorn.com/Resources/OSDev17.html