-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO
187 lines (167 loc) · 2.64 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
Please see the issues page on Github: http://github.com/jdetter/Chronos/issues
+-------------------------------------+
| System Calls that need implementing |
+-------------------------------------+
Critical system calls
=====================
vfork
poll
select
issetugid
utime
utimes
vfork
alarm
High priority system calls
==========================
flock
nanosleep
reboot
time
Medium priority system calls
============================
issetugid
exit_group
mlock
munlock
mremap
readv
writev
preadv
pwritev
settimeofday
swapon
swapoff
madvise
Low priority system calls
=========================
getlogin: not calling correct function in NewLib.
semget
semop
System calls that need to be modified:
======================================
execv
access
lseek
mmap
munmap
open: add support for symbolic links
lstat: add support for symbolic links
mprotect: add support for NX protection
readdir: needs linux compatibility
times: needs to add children times
Finished System calls:
=================================
signal
getdents
sigaction
fork
close
read
write
cwd
chdir
mkdir
rmdir
unlink
dup
dup2
brk
sbrk
chmod
chown
fstat
lseek
getpid
isatty
wait
waitpid
getcwd
creat
create
exit
_exit
execve
gettimeofday
kill
link
stat
getegid
geteuid
getgid
getpgid
getpgrp
getpid
getppid
getresgid
getresuid
getsid
gettid
getuid
setgid
setpgid
setregid
setresgid
setresuid
setreuid
setsid
setuid
fchdir
fchmod
fchown
lchown
umask
ioctl
ttyname
sleep
+---------------------------------+
| Features that need implementing |
+---------------------------------+
Critical priority features
==========================
+ Increase portability (abstract VM)
+ Shared memory mappings
+ Map disk blocks into memory with mmap
+ Get ramfs working again
+ Setup fstab support
High priority features
==========================
termios + termio
threads
+ includes system calls: clone, tkill, tgkill
users and groups
+ add support for users/groups
security
+ add basic permission handling
errno codes
Medium priorty features
=====================
swapping (swap pages to and from disk)
+ includes system calls: swapon swapoff
multiprocessor support
Finished features
=================
+ expanding user stacks
+--------------------------------+
| Drivers that need implementing |
+--------------------------------+
High priority drivers
=====================
Network Interface Controller driver (NIC)
SATA (Modern hard drives)
ATAPI (CDROMs)
+------------------+
| Porting software |
+------------------+
Critical software
=================
+ gcc
+ gdb
+ git
+ nano
Ported software
===============
+ NewLib: stdc library
+ ncurses: terminal library
+ as: x86 assembly code assembler
+ ld: x86 linker