|
|
1.1 root 1: Changes to kernel and related files for version #78:
2:
3: NOTES:
4: COH 386 apps using sys/timeb.h need to be recompiled.
5: New libc.a needed for support of nap() and ftime() system calls.
6: New kbmain.o is needed, (just recompile current kbmain.c) and new
7: /conf/kbd/us, etc as well, due to change in kb.h (or else you won't
8: be able to switch sessions with virtual consoles).
9: New db needed from Steve since uproc.h changed.
10: File name changes in kernel file set:
11: lp.c is replaced by lp386.c
12: fl.c is replaced by fdc.c, fl386.c, and <sys/fdc765.h>.
13:
14: 06/14 msig.c: fix value passed to signal handler
15: 06/11 sys/timeb.h, var.c: add ftime system call
16: 06/11 sys5.c: uname returned 0, did not set u_error in several failure cases
17: 06/10 fl386.c: some open failures left diskette drive locked
18: 06/04 sys2.c, var.c: add nap() system call
19: 06/03 exec.c: vlad's fix - kernel blew up in pexece() when out of memory
20: 05/26 uproc.h: change u_error from char to int so errnos > 127 come out ok
21: 05/24 xl.h,xlfdc.h,xlft.h,xlft.c,xl_dec.c,xla.s: Archive floppy tape driver
22: 05/24 seg.h,shm0.c,shm1.c: vlad - allow deferred removal of live shm segments
23: 05/24 as.s: increase i/o map upper limit (3ff->1fff) for newer vga cards
24: 05/19 mmu.c: add getDmaMem for aligned contiguous memory allocation
25: 05/18 sig.c: patchable variable CATCH_SEGV for nonportable software
26: 05/18 sig.c: signal to traced process wrongly caused core dump
27: 05/14 sys3.c: read on file set for APPEND should not be forced to end
28: 05/14 mmu.c: growing segments beyond 4 megabytes caused a panic
29: 05/14 kb.h: Add lots more function keys; change vt keydefs. (mlk)
30: 05/11 sig.c, signal.h, msig.c: sigpause() and reliable signals
31: 05/11 sys1.c: upause() should set EINTR.
32: 05/11 sys1.c: part of waitpid(), done by Michael
33: 05/07 lp386.c: fix interrupt mask and wakeup problems
34: 05/07 tty.c: fix sign extension bug in vmin/vtime handling
35: 05/07 fl386.c: delete scratch_buffer code - had ugly bug [mlk found this]
36: 05/07 fl386.c,fdc.c,fdc765.h: split floppy driver for floppy tape
37: 05/03 ndp.c: delete "Bad Em write..." printf, just do SIGSEGV
38: 04/27 tty.c: change defer(wakeup,...) to wakeup(...) since all wakeups
39: are deferred. This should cut down on defer overflows.
40: 04/27 sig.c: set SRFDUMP flag for all dumped segments
41: 04/27 move acct.h from /usr/include/ to /usr/include/sys
42: 04/26 reg.h,md.c: setivec return status added, for floppy tape support.
43: 04/20 fl.c: another FL_DSK_CH_PROB change from Michael
44:
45: Changes to kernel and related files for version #77:
46:
47: 04/19 proc.h,sem.h,proc.c,sem386.c: sem_undo and other semaphore final test
48: changes from Vlad.
49: 04/20 fl.c: FL_AUTO_PARM added by Michael for PS/2-L40 compatibility.
50:
51: Changes to kernel and related files for version #76:
52:
53: NOTES:
54: "dcore" utility groks r75 and later core files
55: "dlout" utility is like "cdmp" for l.out's
56: --
57: 04/15 fakedma.c: dmaout() sometimes wrote garbage over the start of a click
58: 04/14 sig.c: DUMP_TEXT if patched causes text segment to appear in core files
59:
60: Changes to kernel and related files for version #75:
61:
62: NOTES:
63: New "file" command groks fixed core file format.
64: New kbmain.o needed for Greek keyboards.
65: New db needed from steve (later than 93/04/08) for revised core file format.
66: --
67: 04/08 sem386.c,Makefiles,bld: vlad's new, improved semaphores
68: 04/08 sig.c: put magic number back at start of core file
69: 04/08 vtnkb.c,kbmain.c,kb.h: Greek keyboard, with patchable variable VTGREEK
70: 04/07 various headers: the definitive (!) paddr_t cleanup
71: 04/07 ndpas.s: change fdiv to fdivr to reflect change in assembler
72: 04/07 sys/kb.h: added function key definitions from mlk
73: 04/07 fl.c: further PS/1 fixes from mlk
74: 03/22 exec.c: exsread(): do only one iread() per section
75: 03/20 a.out.h,exec.c: allow more than 1 text section for coff executables
76: 03/18 var.c: change argument count for uwait() from 0 to 3 for waitpid()
77: 03/18 exec.c: delete redundant kkcopy()
78: 03/18 aha.c: nigel's fix to prevent defer overflows
79: 03/18 sys/__paddr.h added to header suite
80:
81: Changes to kernel and related files for version #74:
82:
83: NOTES:
84: --
85: 03/10 fl.c: workaround for incorrect detection of nspt on some 3-1/2" drives
86: 03/05 aha.c: nigel's interrupt fix
87: 03/05 fs1.c: verbose panic output in case idetach panic
88: 03/05 fs2.c: once again, restore verbose inode busy diagnostic
89: 03/04 alloc.c: verbose panic output in case of bad free
90:
91:
92: Changes to kernel and related files for version #73:
93:
94: NOTES:
95:
96: 1. You will need a new libc.a to use waitpid() and chsize().
97: 2. There is a new fsck from epstein.
98: 3. "putq()" and "getq()" from prior kernels are now "cltputq()" and "cltgetq()"
99: 4. sleep() and v_sleep() have been superseded by x_sleep() - see the comments
100: in proc.c for argument list and return values.
101: 5. new ps needed
102:
103: 03/01 sys1.c,proc.c,sig.c: numerous fixes to sleep/wakeup/wait().
104: waitpid() is still a stub.
105: 02/23 fs1.c,sys2.c,sys5.c,timeout.c,var.c,fs2.c,pipe.c,sys3.c,atcon.c,
106: trap.c,usswan.c,vtnkb.c: epstein's file system changes - pipe fix,
107: chsize(), enforce ulimit on file size...,allow Swan kb support
108: by patching VTSWAN=1.
109: 02/18 types.h et al - Nigel replaced vaddr_t with caddr_t and made other
110: header changes in preparation for STREAMS.
111: 02/17 fd.c: Nigel's fix - open was creating files even when it failed
112: 02/12 tty.c: make sure VEOF is initialized properly on first opens.
113: 02/10 sys2.c: allow upoll() to succeed when number of fd's is 0
114: 02/09 seg.h,mmu.c,shm0.c: allow individual shm seg references to be RW/RO
115: 02/04 reg.h,con.h,bio.c,fs2.c,fs3.c,sys3.c,sys5.c,md.c,as.s,clock.c: Nigel's
116: fixes (1) call STREAMS at key places via macros; (2) add extra
117: parameters to dopen()/dclose()/dioctl(); (3) support mask register
118: for interrupts.
119: 02/04 shm1.c: don't allow attempts to create shm segments of size 0
120: 02/02 fs2.c: restore verbose inode busy diagnostic
121: 02/02 as.inc,as.s,clist.c,tty.c: replace getq() and putq() with cltgetq()
122: and cltputq() since the old names conflict with standard STREAMS
123: externals.
124: 02/02 coherent.h,proc.c,rlock.c,alx.c,asy.c,dmareq.c,hs.c,lf.c,msg386.c,sem.c:
125: stop passing 2nd and 3rd magic arguments to sleep as they were always
126: ignored. sleep() vanishes; v_sleep() becomes a macro calling
127: w_sleep(char * event, int cl, char * msg)
128: 01/22 sys1.c: utimes() - check for null or otherwise invalid user pointer
129: 01/22 fs1.c: imode() - access() as superuser returns exec perm set only
130: if the file is executable.
131: 01/22 fs3.c: iopen() - a non-superuser trying to write to a directory
132: gets EISDIR, not EPERM.
133: 01/22 tty.c: sgtty-type TIOCSETx ioctl's no longer set ISTRIP.
134: 01/22 sys1.c: add interface for waitpid(); fix uwait return value for
135: stopped processes (i.e., processes that hit a breakpoint)
136:
137: Changes to kernel and related files for version #72:
138:
139: NOTES:
140:
141: 1. You will need an upgraded libc.a or at least shmemul.o to use S5
142: shared memory.
143: 2. You will need tboot 1.2.6 or later if you are using FP emulation.
144: 3. Epstein has given us another fsck.
145:
146: 01/17 sys5.c: sysi86(SI86FPHW, &data) supported to get ndp type
147: 01/17 sig.c: ptrace can examine modify fp state in emulator
148: 01/14 fs2.c,fs3.c,sys2.c,pipe.c,sys/inode.h: epstein's pollable pipes
149: 01/14 main.c,at.c,fl.c: michael's PS1 mods
150: 01/11 ndp.c,mmu.c,bld: hooks for linking Linux/cef floating point emulator
151: 12/29 new shm1.c from vlad, after testing preliminary ipcs
152: 12/29 mmu.c: fix bug allocating ram disk slots in page directory
153: 12/29 mmu.c,ndp.c,uproc.h: fp emulator state save/restore
154: 12/23 typed.h and .c files containing it: remove use of T_NULL which
155: conflicts with use of that identifier in coff.h
156: 12/23 rm.c,mmu.c: move start of RAM disk to virtual 0x8800_0000 for
157: compatibility with shm as assigned on other systems.
158: 12/23 shm1.c,sys5.c,shm.h,Makefiles,bld: S5 shared memory
159: 12/23 mmu.c: leave room for ndp state in user stack, per cef's request
160: 12/21 fs1.c,fs2.c: epstein's fix to inode busy bug
161:
162: Changes to kernel and related files for version #71:
163:
164: 12/18 fd.c, fs1.c, fs3.c, pipe.c, sys2.c, sys3.c: merge epstein's pipe
165: fixes.
166: 12/17 shm0.c: minor cleanup, add shmAtt() for vlad
167: 12/10 sys[235].c,tty.c: enhanced useracc(), ttioctl no longer allowed to
168: overwrite kernel text
169: 12/10 ndp.c: fix interrupt 13 attachment in case of 287
170: 12/10 shm0.c: add shmDetachP() in support of ipcrm et al
171: 12/10 syscoh.c(): add cohcall(COH_WTEXT,dest,src,numBytes) so a process can
172: write into its text segment. This is mainly for cef's NDP emulator
173: thunks.
174: 12/10 sys5.c,atcon.c,main.c,uproc.h: add code for ulimit(); add kernel
175: patchable variable BPFMAX = max # of 512 byte blocks when writing
176: a file. Warning: ulimit(2,..) is not yet enforced! ulimit(3) returns
177: the maximum possible break value (with 64 kbytes of cushion).
178: 12/09 sys1632.c: make 286 stime() work as before
179: 12/09 sys5.c: fix return values from ustatfs(),ufstatfs()
180: 12/08 null.c,as.s,work.c,fakedma.c,ndp.c,shm0.c,as.inc,mmu.h: replace
181: use of WORK0 and WORK1 with calls to workAlloc() and workFree().
182: 12/07 sig.c,ndp.c: allow ptrace() to transfer NDP state
183: 12/04 sys1.c: stime() gets value, not pointer (undocumented part of BCS
184: compatibility)
185: 12/02 shm0.c,bio.c,sys3.c,proc.c,syscoh.c,mmu.c,exec.c: kernel support
186: for shared memory
187:
188: Changes to kernel and related files for version #70:
189:
190: 11/30 sys2.c,pty.c: fix typo in POLLOUT polling
191: 11/25 ktty.h,tty.c: XTABS under sgtty becomes TABDLY=TAB3 under termio
192: 11/25 sys1.c: ulseek() once again rejects absolute offsets outside
193: the range 0..0x7ffff_ffff.
194: 11/25 null.c: /dev/kmemhi
195: 11/25 null.c: can now read/write /dev/mem more than 4096 bytes
196: 11/25 tty.h,ktty.h,asy.c,*kb*.c: support IXANY
197: 11/24 tty.c: block before first character if -icanon, vmin > 0.
198:
199: New /bin/stty, accepts decimal min/time values, ^? for DEL, ^- for <undef>.
200: New /conf/patch needed since we can no longer seek past 0x7ffff_ffff!
201:
202: Changes to kernel and related files for version #69:
203:
204: Warning: old COHERENT 286-style (was never part of S5) TIOC[C]BREAD is
205: no longer supported. It conflicts with termio-style VMIN/VTIME. Norm
206: said it was ok to drop this.
207:
208: 11/20 fl.c: fix at least one endless retry condition
209: 11/20 asy.c: setting BAUD 0 now hangs up the line
210: 11/19 asy.c: TCSBRK now sends 0.25 second break
211: 11/19 tty.c,asy: TCSETAF,TCSBRK weren't draining output
212: 11/19 tty.c: TCFLSH was ignoring third argument
213: 11/18 sys1.c: fix improper u_error setting in setuid()/setgid()
214: 11/17 mmu.c: fix startup arithmetic bug
215: 11/17 misc.c: use strchirp() in panic() if paging not enabled
216: 11/17 as.s: fix comparison in paging()
217: 11/12 mmu.c: add DV() macro for debugging
218: 11/12 asy.c: drain port fully on TCSETAW/TIOCSETP
219: 11/12 tty.c: add support for OCRNL, VMIN, VTIME
220:
221: Changes to kernel and related files for version #68:
222:
223: New /bin/ps needed!
224: setfpe no longer supported.
225:
226: 11/10 mmu.c,md.c,syscoh.c,as.s: add window server support (iomapOr(),
227: iomapAnd, kiopriv(), mapPhysUser()).
228: 11/10 msg386.c: vlad's permission 0 fix.
229: ... ker 67 was in here somewhere but had fatal character processing bug...
230: 11/06 null.c: improved ps command, uses new /dev/ps
231: 11/04 sys/ktty.h,tty.c: fix ONLCR/ICRNL check in tty module
232: 11/04 at.c,misc.c,as.s: atbsyw() and atdrqw() no longer depend on CPU speed
233: 11/04 sys/ktty.h,*kb*.c: fix ctrl-s/ctrl-q test to check IXON flag
234: 10/29 sys1.c: fix utimes() return value.
235: 10/28 287 support (untested)
236: 10/25 Fix floating point exception handling for 387. Add NDP sensing.
237:
238: Changes to kernel and related files for version #66:
239:
240: New /bin/ps needed!
241:
242: NOTICE: /usr/include/sys/dirent.h and /usr/include/sys/dir.h are
243: obsolete and should be removed from the /usr/include/sys directory!
244: All references to them should include /usr/include/dirent.h instead.
245:
246: 10/19 trap.c - stub for floating point exceptions
247: 10/20 as.s,mmu.h,uproc.h - reserve space just below u area for NDP state
248: 10/20 trap.c - device not available trap rewritten for NDP
249: 10/22 floating point context switching, exceptions, and signal handlers
250:
251: Changes to kernel and related files for version #65:
252: 10/08 fl.c - fix open/close count imbalance
253: 10/11 as.s,trap.c - fix runaway resulting from bad user pointer in system call
254:
255: Changes to kernel and related files for version #64:
256: New /etc/reboot (source in ker386/tools).
257: 09/24 sig.c: ptrace fix, going from single step to full speed
258: 10/01 trap.c: revise retry policy for iret bug
259: 10/01 syscoh.c,param.h: superuser-callable reboot function
260: 10/02 as.s: revise IODELAY to solve install problems on some systems
261: 10/02 syscoh.c: update breakpoint code for new trap handler
262: 10/02 msg386.c,sys2.c: vlad's new msg handler (no longer a device driver)
263: 10/02 die.c: shorter code for print8/16/32, without need for data seg.
264: 10/05 mmu.c: add PHYS_MEM and getPhysMem() for NCM and others (allocate
265: blocks of contiguous physical memory).
266: 10/06 fl.c: flopen() would occasionally hang the system
267: 10/06 as.s,as.inc,xdt.s: mmu update call gate to speed interrupt response
268:
269: Changes to kernel and related files for version #63:
270:
271: 09/08 sys5.c: fix permission problem in mkdir()
272: 09/08 fl.c: fix end-of-volume problem
273: 09/08 uproc.h, sys1.c, exec.c: S5-compatible setuid()/setgid()
274: 09/09 coherent.h,misc.c: replace kkcopy(), kclear() with macro calls to
275: memcpy and memset.
276: 09/09 tty.c: TCSETAW was losing buffer contents; add ttrtp() call.
277: 09/10 seg.c: vlad's fix for recursive exec's
278: 09/16 bio.c,tioc.c,al.c,hs.c,asy.c,pty.c,*kb*.c: get rid of tioc286()
279: kluge in device drivers; move tioc() call into dioctl()
280: 09/17 null.c: /dev/proc for leaner ps, courtesy of La Monte.
281: 09/17 uproc.h,md.c,sig.c,sys1.c,trap.c: fixes for db support
282: 09/22 ptrace.h: add constants for ptrace() commands (no BCS standard for these)
283: 09/22 fs2.c: Steve's conjectured fix for inode busy
284: 09/22 as.s,xdt.s,as.inc: further changes for db support
285: 09/24 fdioctl.h,sdioctl.h,mtioctl.h,buf.h,fl.c: clean up ioctl name space junk
286:
287: Related to kernel changes above:
288: new bin/ps must be used due to yet another change in u area
289: watch for new cron from vlad that doesn't spawn lots more crons
290: new db has at least some working features
291:
292: still to do: ptrace(), floating point
293: clean up __cinit()/__putchar() stuff
294:
295: Changes to kernel and related files for version #62:
296:
297: 08/28 memset.s: yet another segment botch fixed (sorry!)
298: 08/31 fl.c: Jack's improved floppy driver; much quicker on dd; warns on
299: attempting to mount write-protected floppy for read/write.
300: 09/01 stdio.h,sys/param.h,sys/uproc.h,sys/select.h,libc.a,misc.tar.Z
301: (bedaemon.c, select.c),bin/ps,exec.c,fd.c,sys2.c,sys1632.c: up
302: to 60 open files per process. If you are building kernels from
303: #62 sources, best rm ALL older .o files and start over due to
304: change in value of NOFILE in sys/param.h.
305: 09/01 conf/kgen - allows you to link a new kernel with same configuration
306: as your original 4.0.0/4.0.1 installation. This script is NFG on
307: systems not built by doing a full COH install of 4.0.0/4.0.1. Its
308: main purpose is to allow developers & customers to replace one or
309: more kernel binary files, then make a new kernel with all the right
310: drivers and patches for their systems.
311:
312: Changes to kernel for version #61:
313:
314: 08/18 new memset.s,memcpy.s
315: 08/21 vtkb.c - vlad
316: 08/21 null.c - fix bug with /dev/null input
317: 08/24 vtkb_d.c,vtkb_f.c - vlad
318: 08/25 trap.c,as.s: fix IRET GP fault bug
319: 08/25 trap.c: separate GP fault handler
320: 08/25 trap.c,as.s,syscoh.c,param.h: kernel breakpoints
321:
322: Changes to kernel for version #60:
323:
324: 08/05 as.s: set IOPL to 1, not 3. Requires new /etc/ATclock.
325: 08/05 xdt.s: source cleanup
326: 08/05 mmu.h,as.inc: add SEG_RNG0_STK, SEG_RNG0_TXT, SEG_RNG1_STK
327: 08/14 null.c: set seek limit of 256 on /dev/cmos. Add /dev/clock.
328: 08/18 as.s,as.inc,xdt.s,mmu.h,mmu.c,vtnkb.c,mmas.s: Ring 1 kernel (use new ps)
329: 08/18 mmu.c: replace zero_fill() with memset()
330:
331: Changes to kernel for version #59:
332:
333: 07/24 mmu.c: zero_fill now uses register variables and long* for speed
334: 07/20 kb_d.c, kb_f.c: fix Alt-Gr bug.
335: ????? limit.h, coff.h cleaned up by steve
336: 07/24 typed.h,mmu.h fixed
337: 07/24 mmu.c: vaddr() checks MAX_VADDR; round CMOS RAM amt down to click bdry
338: 07/24 die.c: hex output
339: 07/24 main.c: t_piggy stuff
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.