summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md60
1 files changed, 23 insertions, 37 deletions
diff --git a/README.md b/README.md
index 44d1fc4..ac25532 100644
--- a/README.md
+++ b/README.md
@@ -38,7 +38,6 @@ NEWLIB
https://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
https://ftp.gnu.org/gnu/automake/automake-1.11.6.tar.gz
-
Usage
-----
Use the FoolOS.iso in your favourite emulator or `dd` to an usb stick
@@ -46,6 +45,7 @@ and test on real hardware.
Supported Platforms
-------------------
+TODO: update/recheck
FoolOS is tested/developed on the following emulators/machines
@@ -60,13 +60,12 @@ FoolOS is tested/developed on the following emulators/machines
Features
--------
-We have (or had) 32-bit protected mode, interrupt handling,
-memory management, scheduling, a floppy disk controller, mouse
-
-as well as VESA and a couple of other things. networking is a big goal.
-Please note that all features are only very rudimentary and buggy.
-Some might have been disable (temporarily) due to conflicts or regressions.
+Please note that all features are only very rudimentary and mostly buggy.
+* Booting with Multiboot (grub)
+* 32-bit protected mode
+* Interrupt handling
+* Task scheduling
* ELF binaries
* PIT support / Timing
* PIC support & Interrupt handling framework
@@ -77,45 +76,32 @@ Some might have been disable (temporarily) due to conflicts or regressions.
* Spinlocks
* Simple Shell
* Simple Ext2 driver (read-only)
-
-Fetures are under this line are currently disabled / not developed:
-
-* Bootloader (2 stages)
-* VESA Support
* PS2 Mouse driver
-* Floppy disk driver
* ACPI / MP
* Symmetric Multiprocessing
* PCI bus scanning
+* Kernel and Userspace Tasks (ring 0/ring 3)
+
+Discontinued Features
+---------------------
+
+* Floppy Disk Driver
+* Custom Bootloader (2 stages)
Todos
-----
-* check 16bit stack alignment before all calls from asm
-* put boot code for application processors in kernel image
+* Check 16bit stack alignment before ALL calls from assembler!
+* Ethernet driver E1000 / NS2000 & Networking stack
* Porting (ncurses, gcc, binutils, vim, apache...)
-* Support some TTY standard (xterm)
-
-* /dev/console
-* /dev/kb
-
-* E1000 driver (or some other easy network card driver) maybe NS2000 better?
-* Networking stack
-
-* GUI
-
-Issues
-------
-
- sbrk()
- ESP collisions!?
- TSS-ESP0?
- kbfree()
- pg_directory alloc
- implement posix(?) getdents instead of our own readdir.
- Turning on some gcc optimizations breaks the kernel. (need debug so go for ELF!)
- Assumed support for VESA mode 0x114 with linear addressing. (let the user select)
- fixed size of process images!
+* Check VESA mode and adapt console (text/gui)
+
+* sbrk()
+* ESP collisions / TSS-ESP0
+* kbfree() and real pgdirectory alloc
+* implement posix(?) getdents instead of our own readdir.
+* Turning on some gcc optimizations breaks the kernel?
+* Writing to files (at least in ext2 ram image)
REFERENCES
==========