-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
103 lines (90 loc) · 2.52 KB
/
TODO
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
101
102
103
* add names to threads (configurable?)
* s/printf/printk/
* error/info/debug reporting functions
* have some decent logging system
* cleanup early MMU mapping (remove the identity mapping)
* add a real fault handler
* free __init memory
* add support for no-mmu ?
* add support for DT?
* port to raspberry-pi (ARMV6 - ARM11)
* watchdog drivers
* add led driver
~ add clock subsystem
* add real timer subsystem
* cleanup this kapi thing
* cleanup scheduler
* some header need to move to uapi/?
* add a better kmalloc implementation
* IRQ
✓ generic irq operations (iomap irq base address at registration time)
~ chained interrupts
✓ infrastructure
* if all desc of child chip are masked, so should be the parent
* irq_mask()/irq_unmask() should be nestable/recursive
* network
* look for ethernet driver?
* have a very simple stack
* have support for something very simple, like TFTP or ping
✓ make a decent skb_alloc()
* ARP/neighbour tables
* how to associate L3 addresses to interfaces
* sending queue
* Block layer
* infrastructure
✓ add basic support for SD card
* add support for DMA & scatter/gather
* add support for HS
* add support old version of SD specs (pre SDHC)
? add support for MMC
* add support for eMMC
* would be nice to have support for SATA ...
* FS
* vfs
* FAT
* a very simple filesystem
* those are very little usefull without user space support ...
* SMP
✓ add memory barriers
✓ add (spin)locks
✓ add semaphores
✓ scheduler SMP-awareness
✓ wakeup: need to choose a good CPU (same as last or idle)
✓ wakeup: may need to wakeup others CPUs (IPI)
~ per-cpu timers
! need preempt support (lock_rel() -> do need_resched()/resched())
* add per-cpu infrastructure ?
! need printf serialization
* RTC:
* add basic support
* MM
* add support for highmem
* ARM:
* add support for ARMv4/ARMv5 ?
* add support for LPAE ?
* SMP:
* add support for IPIs
* really need per-cpu infrastructure
* ARM-v7M:
~ add basic supoort for interrupts & exceptions
* ARM64:
✓ drop from EL3 to EL1, as it should
✓ basic exception handling
✓ run on SDRAM
✓ enable MMU & dcache
✓ enable icache
✓ interrupts
✓ GIC
✓ timer
~ per-cpu timers
~ SMP support
* ioremap
* MIPS:
✓ add support for interrupts & other exceptions
* Serial:
* generic serial-out
✓ add serial input
* add support for a small monitor (dump info, read system registers, launch tests, ...)
* STM32:
✓ add support for timers
* add support for RTC