2011-10-31 10:55:18 +04:00
|
|
|
# Short-Term Development Targets as of 2011/10/31
|
|
|
|
|
|
|
|
## Harddisk Support
|
|
|
|
* Write support for EXT2
|
2011-11-03 00:45:36 +04:00
|
|
|
* Port EXT2 drivers to IDE read/write (superblock read testing was successful)
|
2011-10-31 10:55:18 +04:00
|
|
|
* Build a better VFS with support for disk mounting
|
|
|
|
* Get all of the example binaries onto a hard disk image
|
|
|
|
* **PORT GCC**
|
|
|
|
|
2011-10-31 11:05:34 +04:00
|
|
|
## Operation Viper
|
|
|
|
* Port ncurses
|
|
|
|
* Requires some terminal-related C library functions
|
|
|
|
* Port Vim
|
|
|
|
* Requires directory support
|
|
|
|
* Disable command execution?
|
|
|
|
|
2011-10-23 03:20:57 +04:00
|
|
|
# Development Targets as of 2011/10/21
|
|
|
|
|
|
|
|
|
|
|
|
## I/O
|
|
|
|
* `/dev` file system
|
|
|
|
* `/dev/fbN` and `/dev/ttyN` for virtual framebuffer terminals and graphics
|
2011-10-23 03:39:37 +04:00
|
|
|
* `/dev/ttyS0` for serial I/O
|
2011-10-23 03:20:57 +04:00
|
|
|
* Support framebuffer switching via keyboard
|
|
|
|
* Remove hardcoded special-casing for `stdin`/`stdout`/`stderr`
|
|
|
|
* SATA read/write drivers (`/dev/sdaN`)
|
|
|
|
* `/dev/ramdisk` (read-only)
|
|
|
|
* EXT2 write support (including file creation, directory creation, rm, unlink, etc.)
|
|
|
|
* EXT2 drivers should operate on a `/dev/*` file
|
|
|
|
* Mounting of `/dev/*` files using a filesystem handler
|
|
|
|
* VFS tree
|
|
|
|
|
2011-10-23 03:21:45 +04:00
|
|
|
## libc
|
2011-10-23 03:20:57 +04:00
|
|
|
* Fork `newlib`
|
|
|
|
* Changes for `newlib` should be moved to a git repository
|
|
|
|
* Fix 64-bit host builds?
|
|
|
|
* `dirent.h` support; `readdir` in kernel
|
|
|
|
* Entire user-space library set should build from scratch on any compatible system
|
2011-10-23 03:21:45 +04:00
|
|
|
* Consider working with `glib`?
|
2011-10-23 03:20:57 +04:00
|
|
|
|
|
|
|
## GCC
|
|
|
|
* Port GCC
|
|
|
|
* Port `yasm`, `make`
|
|
|
|
|
|
|
|
## Task Management
|
|
|
|
* Fix user-mode `fork`
|
|
|
|
* Add user-mode `wait` (with queues!)
|
|
|
|
* Signals (`signal()`, `kill()`, etc.)
|