1
0
mirror of https://github.com/taigrr/gopher-os synced 2025-01-18 04:43:13 -08:00
gopher-os/STATUS.md
Achilleas Anagnostopoulos cc699b3d15
Update STATUS.md
2018-03-12 06:42:30 +00:00

60 lines
1.7 KiB
Markdown

## Current project status
Here is the list of features currently working as well as some of the next
steps in the project roadmap.
#### Core kernel features
- Bootloader-related
- [x] Multboot structure parsing (boot cmdline, memory maps, framebuffer and kernel image details)
- CPU
- [x] CPUID wrapper
- [x] Port R/W abstraction
- Memory management
- [x] Physical frame allocators (bootmem-based, bitmap allocator)
- [x] VMM system (page table management, virtual address space reservations, page RW/NX bits, page walk/translation helpers and copy-on-write pages)
- Exception handling
- [x] Page fault handling (also used to implement CoW)
- [x] GPF handling
- Hardware detection/abstraction layer
- [x] Multiboot-based HW detection
- [ ] ACPI-based HW detection
#### Supported Go language features:
- [x] Go allocator
- [x] Maps
- [x] Interfaces
- [x] Package init() functions
- [x] Defer
- [x] Panic
- [ ] GC
- [ ] Go-routines
#### Device drivers
- Console
- [x] Text-mode console
- [x] Vesa-fb (15, 16, 24 and 32 bpp) console with support for bitmap fonts and (optional) logo
- TTY
- [x] Simple VT
- ACPI 6.2 support (**in progress**)
- [x] ACPI table detection and parsing
- [x] AML parser
- [ ] AML interpreter/VM
- Interrupt handling chip drivers
- [ ] APIC
- Timer and time-keeping drivers
- [ ] APM timer
- [ ] APIC timer
- [ ] HPET
- [ ] RTC
- Timekeeping system
- [ ] Monotonic clock (configurable timer implementation)
### Feature roadmap
Here is a list of features planned for the future:
- RAMDISK support (tar/bz2)
- Loadable modules (using a mechanism analogous to Go plugins)
- Tasks and scheduling
- Network device drivers
- Hypervisor support
- POSIX-compliant VFS