-
Notifications
You must be signed in to change notification settings - Fork 10
/
_TODO.txt
161 lines (100 loc) · 6.78 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
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
---------------------
HERCULES TODO IDEAS
---------------------
(in absolutely *NO* particular order)
-------------------------------------------------------------------------------
Per Mark Gaubatz, we need a new dasd util to fix CE/SA alt cyl issue
for existing dasds created using the old dasdinit.
-------------------------------------------------------------------------------
Card reader: @stack support, like Ivan's tape autoloader, to provide
ability to specify different options (ascii/ebcdic) for each i/p file.
Then you could stack a VM USERID card in ebcdic followed by a normal
ascii text file (which would be auto-translated to ebcdic of course),
or vice-versa: an ascii USERID card followed by ebcdic binary data.
Would make getting VMARC files into VM much easier without having to
mess with a ebcdic USERID card.
-------------------------------------------------------------------------------
Maxrates off: reset/disable automatic maxrates
-------------------------------------------------------------------------------
Also provide separate zip file containing .PDB files for download for
Windows snapshots (but especially for final official Windows releases!)
so that on the rare occasion that Hercules ever does crash we're able
to determine exactly where the crash occurred. We cannot do that without
the .PDB files!
-------------------------------------------------------------------------------
Design a more platform generic cpu features runtime check that checks for
the availability of certain processor features and then points some sysblk
function-pointers to the correct function. That way we can exploit certain
features if they're available. Of course going through a function pointer
may be too inefficient depending on where the function is being used, but
depending on what the function (feature) provides it may end up being an
overall gain than a loss.
E.g. (WIN64):
init_hostinfo:
BOOL WINAPI IsProcessorFeaturePresent( PF_COMPARE_EXCHANGE128 );
_INTEGRAL_MAX_BITS (machdep.h ==> _InterlockedCompareExchange128 ==> cmpxchg16b)
-------------------------------------------------------------------------------
Design a way for users to define command synonyms. (dynmod?)
-------------------------------------------------------------------------------
Document all DIAGNOSE instruction support
-------------------------------------------------------------------------------
Trace (instruction and/or device) to file instead of to console.
(Then new utility to format/display it offline).
-------------------------------------------------------------------------------
Instruction Tracing: ability to specify multiple disparate trace ranges.
-------------------------------------------------------------------------------
Windows block device support (i.e. ability to define an entire drive
(Windows drive letter / partition) as a Hercules dasd)
-------------------------------------------------------------------------------
BUG: instruction tracing: control registers not being shown for some
instructions which use/modify them. We need a better way to determine
if FPRs/CRs/ARs should be traced or not. (New bits in OPCODE table?)
(see "display_inst_regs" function in "hscmisc.c")
-------------------------------------------------------------------------------
Full 2540 reader/punch support! mode=1 (normal), mode=2 (binary/"card image")
hopper selection, etc.
-------------------------------------------------------------------------------
Ability to specify highlighting for console messages via regex pattern.
-------------------------------------------------------------------------------
ISSUE: there's the possibility for "socketpair" function to connect to some
other socket other than the pair's listening socket due to some other socket
on the host already listening for connections on INADDR_LOOPBACK. Fix is to
change the "socketpair" function to use a starting port# and SO_REUSEADDR
in a 'setsockopt' call and detect (HSO_errno == HSO_EADDRINUSE) return code
in its 'bind' call and auto-retry again using next port# (in a loop). Refer
to the "console_connection_handler" function for reference.
-------------------------------------------------------------------------------
DUMP command (Windows only) to create on-demand mini-dump.
-------------------------------------------------------------------------------
Device or facility per Gerhard Postpischil's 9/20/2007 suggestion
that allows one to generate random "problems" (i/o errors, machine
checks, etc) for better software error recovery testing.
-------------------------------------------------------------------------------
Add new "+rdbwd" 3590-device-only option to set flag in
TapeCommands3590 table to allow/accept Read Backward CCW.
(Requested by "herc_fun" = Charlie <[email protected]>)
-------------------------------------------------------------------------------
"Generic-ize" the 'qd' command so that it works for ANY device
instead of just dasd devices. SenseId and RDC (Read Device
Characteristics) information is valuable information to display
for devices other than dasd! (e.g. tape devices for example)
-------------------------------------------------------------------------------
Add SRF (Suspend/Resume) support for tape devices.
Add SRF (Suspend/Resume) support for CTC devices.
-------------------------------------------------------------------------------
BCTC support for sysplex'ing via GRS.
-------------------------------------------------------------------------------
Generic native host SCSI support (mostly for tape,
but having it opens other interesting possibilities)
-------------------------------------------------------------------------------
QDIO/QETH (custom Herc device driver to directly update guest storage)
-------------------------------------------------------------------------------
Large block support in channel subsystem (blocks > 64K ==> 2MB maximum?)
-------------------------------------------------------------------------------
Suspend and Resume need prompts. Suspend if overwriting existing file.
Resume if machine is not in reset state.
-------------------------------------------------------------------------------
Suspend/Resume with file specification as an option.
-------------------------------------------------------------------------------
Resume with start if successful option
-------------------------------------------------------------------------------