-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathTODO.txt
100 lines (83 loc) · 3.11 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
TODO:
=== Hardware ===
- Cirrus 64-bit VisualMedia Accelerator
PCI 1013:00B8 (Cirrus CLGD5446)
> Specs avail?
Qemu Suggests http://home.worldonline.dk/~finth/
> Bochs/Qemu
- UniChrome Driver
- Sound Stack
> Intel 82801AA AC97 Audio (qemu)
=== General Features ===
- #!
> Pass as argument? or pass pointer like ld-acess?
> argc/argv - Definitely
- Network Debugging + IPv6 Autoconf
> Should IPv6 RAs be done in kernel mode, or usermode?
> Wait until something like linux's net.conf.ipv6.accept_ra is set?
> Have a custom suffix for stateless IPs?
- Signals
> Add return value to mutexs and semaphores, and add warn_unused_ret
- Restructure build system into:
"ARCH=armv7-tegra2", "EDITION=smp"
> While you're at it, clean up the build system filenames and ARCH=native/ARCH=host-*
=== Kernel Core ===
- Virtual PCI bus for system configuration
> Hook in drv_pci.c, with an arch-defined array of devices
> Allow hooks on PCI config accesses (to emulate power management etc)
- VFS Path caching
> Is it needed?
> Use a trie of path elements
- Trie on path content (with '/' included)
- Prefixed to reduce load
- Able to split
> Maintain backwards cache of elements
> Support symlink caching too
- USB Stack
> Check validity
> (DONE) Rework HC API to support structure used by OHCI/ECHI
- LVM Usablity
> /Devices/LVM/by-id/ and /Devices/LVM/by-label
=== Userland ===
- AxWin3
> Text editor (with a GP formatted text field?)
> Maybe a basic web browser using the surface support?
> Port freetype for nice font support
> Configuration (via lib/server)
- AxWin4
> Resolution Independence
> Alt-Space, x maximise (and other menu options)
- Omnispeak
> Debug speed issues (tracing agian)
> Port to AxWin3
> (DONE) Trace memory corruption
- libc
> Floating point (printf, AND scanf)
- problem - decimal to binary exponent handling
=== MISC ===
- System/integration tests:
> Run qemu with -kernel and init set to a test suite, compare SysDebug output
> Module testing of IP stack in progress.
- Kernel/IP - SCTP Support
- Kernel/IPStack - IPv6 support
> Partial (ICMPv6 ND in progress)
- Cairo port?
- Kernel/Caching - Support procfs flush command?
> Allows updating of the floppy image without reboot
- Common 'NeedsBounceBuffer' function?
- ### Tegra2 - Create small testing driver/kernel for fiddling with graphics (shorter reboot and faster operation)
- Log to partition?
- Discardable initialisation section?
- ACPI Shutdown/reboot
- Module dependencies as a double-nul terminated string in separate section
> Allow reading of dependency list before linking
- KittyOS - Replacement init for Acess that streams pictures from /r/aww
- HFS/HFS+ Driver
- CD/DVD Driver
- PCIe SSD Interface - http://www.nvmexpress.org/
- Stack-based physical memory manager (with DMA region for range allocations)
> Integrate physical and virtual MM code such that PMM requests the actual mapping (and can grab the next pointer out)
- mmap(MAP_IMMUTABLE) :: Map pages such that they never change underneath you (isn't this MAP_PRIVATE?)
- Locking for VFS handles - Prevent closing while an operation is outstanding
- Userland threads
- DNS Lookups