diff options
| author | Miguel <m.i@gmx.at> | 2018-09-27 02:11:26 +0200 |
|---|---|---|
| committer | Miguel <m.i@gmx.at> | 2018-09-27 02:11:26 +0200 |
| commit | 50ad5b31f261eceb715720fbe279a69241770554 (patch) | |
| tree | 318fdb525a8dd612fd8f23544acb4cb043580f0e /README.md | |
| parent | 330aa15e3e4a705eb8d168bc9c76af9b1b768dfc (diff) | |
revisit bochs
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 35 |
1 files changed, 18 insertions, 17 deletions
@@ -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 |
