summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-09-27 02:11:26 +0200
committerMiguel <m.i@gmx.at>2018-09-27 02:11:26 +0200
commit50ad5b31f261eceb715720fbe279a69241770554 (patch)
tree318fdb525a8dd612fd8f23544acb4cb043580f0e /README.md
parent330aa15e3e4a705eb8d168bc9c76af9b1b768dfc (diff)
revisit bochs
Diffstat (limited to 'README.md')
-rw-r--r--README.md35
1 files changed, 18 insertions, 17 deletions
diff --git a/README.md b/README.md
index 9fa8d0e..8ccdc78 100644
--- a/README.md
+++ b/README.md
@@ -18,15 +18,16 @@ Features
* Booting with Multiboot (e.g. GRUB 2)
* 32-bit protected mode
* Logging to COM1
-* Parsing ACPI and Multiboot Data (partly)
+* Parsing ACPI (incomplete) and Multiboot Data
* Symmetrical Multiprocessing with LAPIC and IOAPIC
* APIC and PIT Timers
* Seperate GDT and IVT for each CPU
* Paging / Virtual Memory
-* RAM image (ext2 read-only)
+* Ext2 RAM Disk
+* Pipes
* Standard streams (stdin/stdout/stderr)
* Mouse and Keyboard support
-* Multithreading & Multitasking
+* Multi-threading & Multitasking
* Kernel and Userspace Tasks
* CPU Private Memory
* Support for ELF binaries.
@@ -34,11 +35,13 @@ Features
* Finegrained Spinlocks
* Superfast Task Scheduler
* PCI Bus scanning
+* Ethernet E1000 PCI Driver
* VESA Framebuffer with fallback to a text-only terminal
* C-library for Userspace (Newlib)
+* Simple Network Stack (ARP, IPv4, ICMP, UDP)
* Simple FoolShell
* Snake Game
-* Ships with other useless userspace software
+* Ships with some useless userspace software
_Please note that most features are only very rudimentary and mostly buggy._
@@ -68,42 +71,40 @@ NEWLIB
https://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
https://ftp.gnu.org/gnu/automake/automake-1.11.6.tar.gz
-
Supported Platforms
-------------------
__TODO: update/recheck__
-FoolOS is tested/developed on the following emulators/machines
+FoolOS was/is tested/developed on the following emulators/machines
-* bochs 2.6.6 (compiled with: ./configure --enable-clgd54xx --enable-a20-pin --enable-debugger --enable-disasm --enable-e1000 --with-x --with-x11 --with-term --enable-smp) (add -lpthread to LIBS in the Makefile!)
-* bochs 2.6.8 (compiled with: ./configure --enable-clgd54xx --enable-a20-pin --enable-debugger --enable-disasm --enable-e1000 --with-x --with-x11 --with-term --enable-smp) (add -lpthread to LIBS in the Makefile!)
-* qemu 1.1.2
-* virtual box 4.1.18
+* bochs 2.6 (try compiled with: ./configure --enable-clgd54xx --enable-a20-pin --enable-debugger --enable-disasm --enable-e1000 --with-x --with-x11 --with-term --enable-smp) (add -lpthread to LIBS in the Makefile!)
+* qemu 2.8.1
+* qemu 3.0.0
+* virtual box
* Acer Aspire 1810TZ (Notebook)
* Q6600 on Asus p5n32-e sli plus (Desktop PC)
-* 4790K on Asus (Desktop PC)
+* 4790K on Asus z97-pro gamer (Desktop PC)
Todos
-----
-* ethernet drivers: vbox E1000 /virtio / NS2000 / ipxe network drivers / laptop acer
* tcp/ip stack
* udp traceroute etc
+* vbox E1000 / virtio / NS2000 / ipxe network drivers / laptop acer
-* threads! semaphores
+* Fix scheduler. use all cpus!
+* threads! semaphores/ mutexes
* return value / argv / env
* execve: support hashbangs
* DMA where possible!
* optimized Mouse & KB processing in seperate task. (Kb all chars and different layouts)
-* Kernel Stuff Reentrancy?
+* check Kernel Stuff Reentrancy?
* Cleanup syscalls
* Writing to ext2 RAM-image
-* Mutexes
* create/remove pages on demand (sbrk, stack, load prog)
* GCC optimizations (break kernel?) / volatile??
-
* Unit Testing
* GUI / Window Manager (update\_rect, etc..)
@@ -120,7 +121,7 @@ This is a simple and useless "operating system", with a very basic set
of features. It is the fruit of my fundamental explorations of the x86
architecture and operating system design.
-Copyright M.Idziorek 2014-2015,2018 <m.i@gmx.at> unless stated otherwise.
+Copyright M.Idziorek <m.i@gmx.at> unless stated otherwise.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF