forked from rroart/freevms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
121 lines (111 loc) · 4.72 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
TODO:
(With the risk of things here being outdated)
Misc:
Check use of relative queues; is fork use of & correct?
Check waitall and wait
sysimgact use PAGE_ instead of numbers.
Use sys$ with system service call instead in exe$ in ipacp etc, to make asts etc function properly. (Note: doing that in vmsbuffer.c was unstable)
Use setpsli even in more interrupts/exceptions?
Look at how simple and complex buffers are allocated and freed
Update FCB at the same time as read/write attrib?
Have dcltables compiled and loaded the same way as .exe2
Why does initialize use volume cluster 17?
Check if cleanup to 0x40000000 kills 0x3f000000?
Deallocate kernel cli/dcl symbols
Consider unifiying qualifier and parameter code?
DCL ambiguity check
Big cleanup regarding int/long
Load and reloc dynamic libs once and for all, globally.
Replace shark with piraya or something.
Redo translated ch$ in cmuip to fit with libbli
Have special treatment of imgact to make sure it is reserved
Call sys$cli for lib$get_foreign?
Cleanup struct iosb _iosb __iosb 64-bit size and iost1 iost2
Sched svpctx switches to i-stack; do the same?
Move P1 area to 0xffffffff-etc.
For some reason params.dat must my tried to be opened before you can exe$open
dcl, figure out why. (With ODS-2)
At current ioc_std$mapvblk there is a max ods2 partition size of 2T.
Drop exe$alo in rms.c and use own alo-routines and pool?
Make sure dcl image and date in memory are non-writable for user?
Check if DCL could stay in the user level? Then it must have a new sysimgact?
Put Unix system calls in supervisor level? Or executive?
Leaks in syscli?
Bufio/readbuf offset check. Twp and forkblock offset check.
CPU/PAL:
FIX pal
Use 2 other cpu modes.
Use regtrap default for others.
Figure out how to use AMD64 Secure Virtual Machine.
Make exe$astdel_prep2_new jmp to entry.S.
Change ds with astdel and other places?
Check P1 space user accessability.
AST for all modes in x86_64.
Scheduling:
Schedule code cleanup.
Proper deletion of dead processes in the databases (still shows up with sh sys)
Make pcb$t_lname counted string
Have reschedule at prescribed places in rse?
Have sch$rse check ipl 8?
Did not like current affinity implementation; consider per-cpu scheduling queues.
Memory management:
Check page alignment for allocated pools.
Remove panic in vmsmprotect for not implemented stuff (and implement it)
Rde with 0 start 0 len?
Fix pool to conform more with newer versions
Check global pages paging, creating and deleting.
Put RMS ifab/irab in P1.
Put ctl$gl_ccb_table in P1.
More P1 space.
Check whether it was wise having the kernel text readable for exe$astdel.
Why is there no need for iret at the end of exe$astdel?
Pagefault with panic on too high ipl.
Have own buffers for exec mode.
Check if asts are run without sti bit.
Check if cli/elf sup_sti makes trouble.
Check if we can stop use prv bits in pcb and only use cpu bits.
Input/output:
Make echoing work in putnextchar (right before reqcom)
Check whether ddb$t_name has len first
Use correct interface to network module in FreeVMS (promiscuous mode (NMA$C_PCLI_PRM) needs protocol, but that mode is not yet implemented).
Look at how ne2000 is probed
Rewrite ide driver or make it use VMS data structures.
Fix network drivers.
For ide disk set ucb$l_maxblock and more, like in file.c
After some time even more driver support might be cut/broke (the most).
In trandevnam make it use lnm$file_dev.
Acpqfl change from absolute to relative.
Ctrl-asts with flck (without that ipl queueing crashes).
Better handling of bufpost and write?
Logical names:
Logical support in the DCL and elsewhere
In syslnm trnlnm only use retlenaddr and not buflen for it.
Mem leaks.
File system:
Let RMS also use Ext2 with write support.
Execute programs with execve and imgact on Ods-2.
Get more/better write-support in.
Make import (export) handle text/binary files differently (by param).
Check if all ~1 in direct.c need +1 (and name[1])
Ext2 3rd level sizes
Better RMS compatibilty; check input and output RAB fields (incl l_sts)
RMS to handle ext2 files with holes.
RMS to handle terminal I/O better
Grub to handle more file versions and also directories.
Mem leaks.
Clustering:
Do MSCP protocol a bit more properly
Do more SCA/SCS stuff.
Get getdx to add 2?
Might move clustering to just FreeVMS mode, and go from socket to QIO.
Networking:
For CMUIP: do checks upon parts with // check // not yet // was. more such?
Also CMUIP: there was something in telnet that should be lookup upon
And: Find the latest patch to it.
Check parenthesis and bools in CMUIP and other places.
Some forgotten // check in tcp_telnet*?
Also some #if 0 that should later be removed.
Find the newest cmuip patches
Check all local big strings, like DESC$STR_ALLOC 1000 etc. replace?
Will do more with the IP stuff.
Why nmap kills telnetd.