diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 60 |
1 files changed, 23 insertions, 37 deletions
@@ -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 ========== |
