
Server id number SVR.92			3 Apr 1992 condict
-----------------------

Bug Fixes:

o Backed out changes to vm_mmap data structs that were installed in
  SVR88.  (They have a bug.)

o The +uniproc configuration (compiles server without locks for a
  uniprocessor) was executing some code without the protection of the
  master lock (server-server signal calls; zalloc, in net_input_thread).
  This is fixed and there is now a check for this, when MACH_LTRACKS is
  turned on, as in DEFAULT+uniproc.

o Missing includes (nfs.h, in init_main.c; kern/parallel.h, in
  ux_server_loop.c) added.

Enhancements:

o The +uniproc configuration is more efficient, since the sleep queue
  locks and thread_locks are eliminated and it uses the master lock as
  the condition lock in sleep/wakeup.  (10% speedup in AIMIII w. 8 users)

..............................................................................

Server id number SVR.91			31 Mar 1992 emcmanus
-----------------------
* Ensured that all cthreads are given a name, since gdb now displays these
  names.  Changed some names to be more useful in its truncated display.

* Wire the STREAMS runq and weldq threads if wired_threads is true.

* Check some Mach return values in profiling.  Fixed two bugs when
  profiled threads exit.

* Set the exception port for Unix tasks but not for the server itself,
  since the server should not generate exceptions, and breakpoints need
  to be passed on to gdb if it is attached.

* TTY fixes to improve behaviour on loss of Carrier Detect.

..............................................................................

Server id number SVR.90			24 Mar 1992 barbou
-----------------------

Bug Fixes:
=========
o Bug #102: port leak when core dumping.
o Bug #110: release master_lock before accessing user memory when core dumping.
o Bug #113: syscall trace goes only to the console (no more to the log file).
o Bug #114: SIGIO correctly generated in char_select().
o Bug #115: ifdef'ed some i386 dependent code in block_io().
o Bug #116: memory leak in bsd_recvfrom_long() (revisited).
o Bug #117: page 0 is no more accessible.
o Bug #118: null pointer in thread_block().
o Bug #119: null pointer in execve_prim().
o Bug #120: force the definition of SYS_sigvec on non-BSD systems.
o Bug #121: don't report emulator EXC_BREAKPOINT exceptions.
o Bug #122: no more panic(psig action).
o Bug #123: select() on AFS always succeeds.
o Bug #124: correct server exception port initialization.

New Features:
============
o Server exceptions: the server exceptions are handled by the server itself
  since SVR86. It will now panic instead of task_terminating.

o Protected page 0: the page 0 was accessible RW for a standalone server,
  and R for a.out exec'ed binaries (this includes second servers). It is
  now inaccessible in these cases.
  To allow some backward compatibility (ie. to be able to run old servers
  or binaries that dereference null pointers), the global variable
  `allow_page_0_access' decides (in the exception path) if we should 
  give another chance to the faulting process by making its page 0
  readable. The default is to apply the strict protection of page 0, like
  in OSF/1 IK.
  The global protection strategy can be changed by modifying the
  `page_0_protection' variable in the server at boot time.
..............................................................................

Server id number SVR.89			23 Mar 1992 condict
-----------------------
Enhancements:

o Server can now be compiled without OSF/1 locks, for extra speed on a
  uniprocessor.  Add "+uniproc" to CONFIG variable to turn on.  This results
  in the master_mutex being taken at a high level to completely serialize the
  server (up to 6% real-time savings in work-load benchmarks).  NOTE: this
  version works on multi-processors too, but only uses 1 processor at a time.

o After building emulator, ln it to emulator.SVRnn, just like vmunix, so that
  old versions of emulator stay around and are identifiable.

o Add ux_server_thread_blocking/unblocking calls around all vm operations that
  can send a message to the vnode pager, since this can block.

o Turn on the acctwatch thread.

Bug fixes:

o Fixed bug 112: sleep queues corrupted by recursive sleep call due to Netintr.

o Fixed bug in sleep/wakeup: two different locks were being used by assert_wait
  and thread_wakeup_prim.

o Get rid of OPTION mach and include <mach.h>.  This was bogus.

..............................................................................

Server id number SVR.88			23 Mar 1992 sp
-----------------------

Bug fixes:

o Rewrite of vm_map code to use sorted lists rather than a sorted
  array. This fixes the problem where processes would not execute
  due to the large number of mapped regions. It also makes the
  utask structure smaller and generally reduces the amount of
  allocated memory to support this stuff.

o Fixed emulator exec bug that deallocated too much memory.

..............................................................................

Server id number SVR.87			20 Mar 1992 jose
-----------------------

Features:

o Added the MEMORY_OBJECT_COPY_TEMPORARY option to avoid writing dirty
  temporary pages (only for NORMA kernels >= NMK5).

o Handle norma_mk_version (barbou).

Bug fixes:

o Removed asynchronous i/o thread.

o Fixed amount of memory printed in the buffer cache size message.


..............................................................................

Server id number SVR.86			13 Mar 1992 condict
-----------------------

Enhancements:

o Eliminated bsd/mach_init.c, the bootstrap file inherited from the BSD
  server, and replaced it with bsd/init_main.c (the OSF/1 integrated kernel
  bootstrap file) and uxkern/server_init.c (the analog of locore.s).
  In the process, several missing and misplaced initializations were
  corrected, and the startup sequence is now much more like OSF/1 IK.

o The server now chooses the number of block buffers to be the same as the
  integrated kernel (used to be less than half as many).  However, since
  all of its buffer can simultaneously be up to 8K in size, the server can
  up to twice as much memory for the cache as in the integrated kernel,
  where the total bytes are limited to an average of 4K bytes per buffer.
  The performance effect of this change is under investigation.

Bug fixes:

o When reading initial portion of file in kern_exec and ldr_exec, the server
  now reads enough bytes, whether or not exec header is bigger than MAXINTERP.

o In second_cnputc, a char address (instead of int address) is now supplied
  to the second_write system call, making it work for both-endian machines.

o Move uarea_lock_init call in newproc later, fixing bug introduced in SVR85.

..............................................................................

Server id number SVR.85			10 Mar 1992 condict
-----------------------

Bug fixes:

o Added many missing lock initializations (only affects machines where a
  free lock is non-zero).

o Added a work-around for a C-threads defect (Mach kernel threads are not
  created on demand).  This fixes an occasional hang where all server threads
  are blocked because of insufficient Mach kernel threads.

o Changed the initialization of cred structs for proc 0, to be more like
  OSF/1, fixing a lock initialization problem and a bad ref count in the
  u_cred for proc 0.  This may fix Bug 107.

Enhancements:

o The initial pool of server threads is now created by ux_server_init (called
  from the bootstrap code in mach_init.c) instead of by an explicit loop in
  mach_init.c.  Thus, ux_server_receive_max no longer is exported.

..............................................................................

Server id number SVR.84			7 Mar 1992 sp
-----------------------

Bugs fixed:

o #90 - table(TBL_INTR) not implemented. vmstat will now run although
	  some of the information is not available.

o #104 - if munmap is used with address regions that are not exactly
	   those used in mmap, the mmap table is now correctly updated.

..............................................................................

..............................................................................

Server id number SVR.83			6 Mar 1992 emcmanus
-----------------------
Corrected output draining and re-enabled commented-out code.
Fix XON/XOFF behaviour to avoid deadlocks.
Deal with carrier loss on input.

..............................................................................

Server id number SVR.82			5 Mar 1992 sp
-----------------------

Bug Fixes:
o #71 - general msync misbehaviour. VSE assertions 6,7,8 and 9 now pass.

..............................................................................

Server id number SVR.81			2 Mar 1992 condict
-----------------------
The server version string in the banner message has been updated to V3.5
to reflect the latest release.

Bug fixes:

o Fix a panic in newproc due to bad ref count on proc structure.

o Fix mpsleep bug: improperly placed break was preventing signals from
  being handled after process was awakened.

..............................................................................

Server id number SVR.80			28 Feb 1992 emcmanus
-----------------------
TTY bug fixes: stripping 7-bit characters, correctly determining hardware
tab status.  Work on correct tcdrain() temporarily commented out pending
debugging.

..............................................................................

Server id number SVR.79			28 Feb 1992 barbou
-----------------------

New Functionality:
=================
o a user task generating an unexpected exception for the emulator code will
  be suspended, so that a debugger can be attached to it.

Bug Fixes:
=========
o Bug #43: missing job control synchronization: the fix is not 100% reliable.
o Bug #91: fixed disk minor number computation for Sequent.
o Bug #97: sealed a memory_leak in the bsd_recvfrom_long() routine.
o Bug #100: sealed a port leak in bsd/kern_sig.c
o Bug #101: fixed problem with entering the bio_{read,write}_reply() 
	interrupt handling routine from a normal server thread.

New Source Files:
================
o The modified ps(1) command sources are integrated in the server source
  tree under usr/bin/ps. This version can run on both OSF/1- IK and OSF/1-MK.
  Some shell scripts allow one to build it outside of the standard OSF/1.0.3
  source tree (only for the i386 currently).
..............................................................................

Server id number SVR.78			28 Feb 1992 david
-----------------------
o fixed AFS bug 0099: panic cache_info.
o ameliorated bug 0046: panic newproc - added robustness to fork() [barbou]  and exit()
o minor changes to AFS

..............................................................................

Server id number SVR.77			28 Feb 1992 condict
-----------------------

Bug Fixes:

o Add exception recovery to emulator (with support for it in the server), so
  that it now correctly returns EFAULT when system calls are specified with
  bad user addresses, instead of core-dumping, like previous versions did.

o Add a task_terminate call on the emulator side of the exit system call,
  ensuring that the task will die even if the RPC to the server returns, for
  some reason.

..............................................................................
Server id number SVR.76			27 Feb 1992 jose
-----------------------

Bug Fixes:

o vnode_pager now pages out anonymous memory [bug 98]
  (the paging file needs to exist and to be large enough).

o DATA_MOVE option in paging in works w/ paging files.

Features:

o The server can page out to a disk partition.

o Asynchronous writes are handled by a special thread:
  write micro-benchmarks are improved by 100 %.

o Synchronous reads & writes use synchronous mach calls.

o bdev_ioctl works in certains cases.
  
..............................................................................

Server id number SVR.75			26 Feb 1992 sp
-----------------------

o Upgrade patch number to 1.0.4

..............................................................................

Server id number SVR.74			26 Feb 1992 sp
-----------------------

Features:
o Upgrade to 1.0.4

..............................................................................

Server id number SVR.73			25 Feb 1992 condict
-----------------------
Performance enhancements:

o The ports on which the server receives system calls (and other requests)
  have been partitioning into multiple port sets on a multi-processor, to
  prevent a port-set locking bottleneck in the Mach kernel.

o MAP_FILE option turned off in emulator, since mapped files aren't
  implemented.  Saves unnecessary function calls.

Enhancement:

o New functions (ux_server_thread_blocking/unblocking) have been added to
  allow a server thread to do a blocking Mach service without any danger of
  hanging due to running out of Mach kernel threads.

..............................................................................

Server id number SVR.72			19 Feb 1992 emcmanus
-----------------------
Big changes to tty code to fix problems exposed by VSX.  Some of these
changes require modifications to the microkernel, although the server
will work in a compatibly wrong way on unmodified microkernels.

..............................................................................

Server id number SVR.71			18 Feb 1992 jose
-----------------------
Bug Fixes:

o Added code to prevent deadlock between vnode pager
and shared libraries (bug 96), but a general solution has to be found.

o Allowed anonymous object creation before swapon by
lazy-allocating paging file (bug 94).

o Fixed vm_mmap_lookup possibly solving bug 71 (Simon).

..............................................................................

Server id number SVR.70			13 Feb 1992 david
-----------------------
Bug Fixes:

o Added socket locking to AFS [0095]

Enhancements:

o Added Daryl Clevenger's vnode caching support code,
  this gives about a 2x speed up on stat operations

o Merged the mk and ik source.

o Added locking to vcache table FlushVCache routine

o Corrected minor problems with function parameters and return codes.

..............................................................................

Server id number SVR.69			12 Feb 1992 bernadat
-----------------------
Fixed  CLOCKS_PER_SEC value to be 100 
Added /dev/kmem protection checking (bug 78)
Fixed Makefile rules for profiling
Added tape support

..............................................................................

Server id number SVR.68			30 Jan 1992 sp
-----------------------

Bugs:
o fix up auxiliary vector code which fails if you have more than
  a vm_page_size's worth of arguments and environment
o fix console long printf bug

Other:
o clean up some dead configuration options inherited from the BSD server

..............................................................................

Server id number SVR.67			24 Jan 1992 david
-----------------------
+ Tidied up AFS code to remove compile time warnings.
+ Added AFS 13.Nov.1991 updates from CMU
+ Fixed bug 0079 by implementing a virtual file system policy for
  allocating device ids.

..............................................................................

Server id number SVR.66			20 Jan 1992 sp
-----------------------
Update banner for version 3.4

..............................................................................

Server id number SVR.65			20 Jan 1992 bernadat
-----------------------
Fixed afs_inactive() bug #36.
Initialize zones as expandable.
Added xpr functionality.

..............................................................................

Server id number SVR.64			15 Jan 1992 jose
-----------------------
Bug Fixes:

o In inode_pager.c: allowed inode_uncache_try to be called in AFS pagin path.

o In uipc_syscalls: allowed pipes & sockets to be parallelized [PhB].

o In bsd_server_side.c: allows writes to be parallelized [PhB].

o In device_misc.c: c_lock releasing in char_read corrects X server bug [PhB].

o Changed server id to V3.3 (Michael).

..............................................................................

Enhancements:

o Added the DATA_MOVE option to avoid copyin from the cache buffer
  to the pager buffer on pagins (Gains up to 15 % on pagin).

o Added user name to server banner [Simon].


Server id number SVR.63			7 Jan 1992 condict
-----------------------
Bug Fixes:

o In device_reply_hdlr, bug introduced in SVR61 (zfree of uninitialized
  variable) is fixed.

o Missing target (default_pager_object.h) added to server Makefile, fixing
  error message when compiling with shadowing.

o mach_init.c fixed to refer to NFS configuration option properly.

Enhancements:

o Performance (1): MACH_LTRACKS turned off in STD+WS configuration, and
  complex locks optimized, gaining 15-20 % in network performance.

o Performance (2): NETISR_THREADS turned off, reverting to the use of
  simulated softnet AST's (doesn't work in integrated kernel).  Gains up
  to 25% in networking performance.

o Performance (3): Definition of simple locks changed from mutexes to spin
  locks.  Gains 2-3% in most workload benchmarks (when not paging), and reduces
  code and data size by about 6%, giving better expected performance under
  paging.

..............................................................................

Server id number SVR.62			2 Jan 1992 david
-----------------------
Added support for a SMALL server configuration, this is the same as
the OSF/1.0.3 SMALL kernel.  Added SLIP driver from 1.0.3. and  
allowed for NFS deconfiguration.

..............................................................................

Server id number SVR.61			27 Dec 1991 jose
-----------------------
Features:
o Added port aliasing on kernel device interface
..............................................................................

Server id number SVR.60			24 Dec 1991 sp
-----------------------

Features:
o Defunct the bsd server file eflags.h which is identical to OSF/1 psl.h
o Remove unused bsd server files from conf/files
o Defunct unused i386/Makefile

..............................................................................

Server id number SVR.59			20 Dec 1991 barbou
-----------------------

New Features:
============
o More consistency verification between the server and the emulator.
o More checks of the return value of the device_xxx() routines.
o Print a message on the user's tty if a process gets an exception while
  in the emulator code. The message gives the emulator PC where the fault
  occured, so that it can be debugged.
o Removed the obsolete "Dumping core for process ..." message.

Bug Fixes:
=========
o Bug #44: partial fix only: the job control signals are no more ignored
  after unblocking them, but wait() still can't know which signal was
  raised.
o Bug #64: avoid sending Mach device request for a second console.
o (from P.Roy): missing "address" param to vm_protect() in ldr_kload.c.
o commented out an assertion that is FALSE on MK63.

Hack:
====
o don't force signal delivery for processes named "gdb3.0". This hack can
  be removed as soon as we don't need gdb3.0 anymore.
..............................................................................

Server id number SVR.58			20 Dec 1991 jose
-----------------------
Features:
o vnode_pager: Added port name aliasing (port_name == &vstruct).
o increased the number of max mmapped regions (64 -> 96).

Bugs
o allowed mmap to use the default pager when no paging file is set

..............................................................................

Server id number SVR.57			19 Dec 1991 bernadat
-----------------------
All changes in this version were made to get the DOS server running
and should allow X servers to run:
	- Mmap on character special files (/dev/iopl for i386 PC/ATs)
	- Select for character devices
	- Loader hack for BSD a.out programs linked with -T

..............................................................................

Server id number SVR.56			18 Dec 1991 sp
-----------------------
Features:
o include sys/synch.h everywhere so we use the (null) spl macros rather
  than calling a (null) function
o Only suspend the server with -h if we are a second server
o more dead field cleanup in user.h

..............................................................................

Server id number SVR.55			17 Dec 1991 jose
-----------------------
Features:

o vnode_pager: update to 1.0.3. and changes to allow sysV_shmem and mmap
  anonymous memory backup.

o Changed mmap to also use the vnode pager when mapping anonymous memory.

o Changed sysV shared memory to use the vnode pager for back up.

Bug fixes:

o Corrected bugs on sysV_shmem deallocation.

o Corrected bug in mig structure for stat.

..............................................................................

Server id number SVR.54			13 Dec 1991 sp
-----------------------

Features:
o Complete removal of CMUCS and VICE conditionals
o Removal of all old BSD code from uxkern and emulator
o Remove last vestiges of BSD restartable system call code
o cleaned up proc and uthread structures of dead fields

..............................................................................

Server id number SVR.53			11 Dec 1991 condict
-----------------------
Bug fixes:

o Recursive call to mpsleep eliminated (share locks changed).

o The suffix on the generated vmunix.SVRnn.CONFIG file is correct again.

Enhancements:

o Only relative pathnames go into Makedep now, so it doesn't need
  to be modified if a private copy is taken of a shadowed file, or
  when source trees are moved.

o AFS is built in the STD+WS configuration.

..............................................................................

Server id number SVR.52			9 Dec 1991 emcmanus
-----------------------
Large-scale reworking of server profiling so that it works.

..............................................................................

Server id number SVR.51			5 Dec 1991 sp
-----------------------

Bug Fixes:

o Bug 49: readlink now null terminates the string it returns.

..............................................................................

Server id number SVR.50			3 Dec 1991 jose
-----------------------
Bug Fixes:
o Bug 15 - Do cleaning up in memory_object_terminate
o Bug 58 - (Probably) Initializing paging fill to FALSE

New Features:
o just_return flag in Debugger function allowing
  simple return from exception hdlr.

..............................................................................

Server id number SVR.49			2 Dec 1991 sp
-----------------------
Bug Fixes:

o Bug 56 - Make sure regions are sync'd to disk when unmapped

o Bug 53 - implement the System V IPC table() calls.

..............................................................................

Server id number SVR.48			26 Nov 1991 sp
-----------------------
New Features:
o Upgrade to 1.0.3

Bug Fixes:
o #51: msync does not flush multiple regions

..............................................................................

Server id number SVR.47			15 Nov 1991 bernadat
-----------------------
Fixed bug 0052 (df crashed STD+WS+afs server)
Fixed console alias (for Z1000)

..............................................................................

Server id number SVR.46			15 Nov 1991 condict
-----------------------

New Features:

o Increase size of shared I/O area (used for read/write) from 4K to 8K
  bytes, for better performance.

o Many improvements in the Makefiles.  The "machine" and "xxx_mach" symbolic
  links in the source tree are no longer needed, so cross-compilation to
  different target cpus on a non-AFS host is now possible.  The top-level
  object dirs (server, emulator) are now created automatically.  It is now
  possible to build just the server or just the emulator from the root
  Makefile.

Bug Fixes:

o Out-of-band data returned by the recvfrom sys call is now deallocated.

o The read system call now correctly calculates the size of the shared
  I/O area and uses all of it (instead of just 1 page).

o The number of server threads that have been invoked, but haven't yet
  reached their first message receive is kept track of, to avoid the
  possibility of a gratuitously large burst of thread creations.
  
..............................................................................

Server id number SVR.45			13 Nov 1991 barbou
-----------------------

New Functionality:
=================
o The console state is restored when halting a second server: this is to
  be kind to the parent shell.

Bug Fixes:
=========
o bug #1: invalid syscalls are redirected to a real "nosys".
o bug #16: check for null pathname in unlink(): diff(1) uses this.
o bug #33: return E2BIG when arguments of exec() exceed the OSF/1 limit.
o bug #35: fixed the interface of sigpending().
o bug #39: fixed the computation of the number of stopped processes in a
           process group.
o bug #40: transmit "flag" to the tty line discipline open routine.
o the emulator will now check earlier for pending signals.
o fixed the way the signal disposition of SIGSYS is checked in nosys() and
  afs_check_nosys().
..............................................................................

Server id number SVR.44			8 Nov 1991 bernadat
-----------------------
Bug 004 fixed (Automatic reboot when running VSX fpu tests)

..............................................................................

Server id number SVR.43			7 Nov 1991 condict
-----------------------

New Features:

o Substantial changes to Make* files, to support shadow source trees, i.e.
  you only need to have in your private directory the root Makeconf file
  and any files you have changed.  The BCSSBASE environment variable tells
  the Makefiles where to find the rest of the source files.

o The WIRED_THREADS option, which makes the server use a Mach kernel thread
  for each server C-thread, with no limit on the number of threads, is now
  a runtime flag.  The WIRED_THREADS option only sets its initial value.  It
  can be turned on at runtime by specifying -w to the server.

o Bcopy.c was replaced by bcopy.s, for a > 2X speed-up in bcopy performance.

..............................................................................

Server id number SVR.42			6 Nov 1991 emcmanus
-----------------------
Report write-fail notifications from the kernel, since ignoring these
allowed us to miss the root cause of the filesystem problems we have
been experiencing.  Meanwhile, get rid of these problems by limiting
the number of concurrent write requests to 16 using a semaphore.
Additional requests are blocked until one of the current ones finishes.
The need for this limit should go away with later kernels, in which case
WRITE_THROTTLE can be undefined.  The value 16 can be changed either in
the #define or by patching the variable write_throttle.

..............................................................................

Server id number SVR.41			31 Oct 1991 david
-----------------------
New Features:
o added system V ipc

..............................................................................

Server id number SVR.40			30 Oct 1991 bernadat
-----------------------
New Functionality: AFS 3.1 support. But only AFS 3.0 Mach2.5 binaries
                   have been tested (afsd, klog, ...)
Bug Fixes: bug #30, NULL utimes() times argument
           Handle serialized ufs file system

..............................................................................

Server id number SVR.39			30 Oct 1991 sp
-----------------------

Bugs Fixed:

o Fix for Bug 23, port leakage in smmap which caused the system to panic
  when using the loader.

o Got rid of the printf in bdev_ioctl.

..............................................................................

Server id number SVR.38			29 Oct 1991 barbou
-----------------------

New functionality:
=================
o Kernel Loader
	Can load and invoke user-provided modules, but...
	These modules are supposed to be "linked" with the server by the
	kernel loader server (/sbin/kloadsrv), which presently rejects the
	server object file format. Pretty hard to fix without a document 
	about what the kernel loader server expects...

Bug Fixes:
=========
o bug #17: synchronization between exit() and server_thread_register().
o bug #24: uname is working now.
o bug #25: convert MIG_ARRAY_TOO_LARGE error into ENAMETOOLONG.
o bug #26: no more memory fault in e_orecvfrom() when fromlenaddr is NULL.
o bug #29: got rid of old and bogus getgroups(). Turn it to be "generic".

..............................................................................

Server id number SVR.37			28 Oct 1991 condict
-----------------------
New features:

o Increase maximum number of server threads, to allow for multiprocessors up
  to 6 CPUS.

Bug fixes:

o Fix Berkeley semaphores (msleep, mwakeup).  They are now working and tested.

o Fix race condition in updating the time from Mach.

..............................................................................

Server id number SVR.36			25 Oct 1991 emcmanus
-----------------------
Disabled asynchronous writes, which has empirically been found to
get rid of filesystem problems.  This is a temporary fix and will
be undone when the problem has been properly solved.

..............................................................................

Server id number SVR.35			24 Oct 1991 jose
-----------------------
Bug fixes:

o Removed references to local struct time

..............................................................................

Server id number SVR.34			24 Oct 1991 sp
-----------------------
New Features:

o add msync


..............................................................................

Server id number SVR.33			23 Oct 1991 condict
-----------------------

Bug fixes:

o Maintain the time in a global time variable, like the integrated kernel.
  Formerly, the macro get_time had to be called everywhere the time was
  needed and there was no global time var.  Now the time will be updated
  from Mach whenever a TIME LOCK is taken.  This fixes the known NFS bugs.

Enhancements:

o The Berkeley semaphore code is installed and is safe to execute, but does
  not work correctly yet.

..............................................................................

Server id number SVR.32			21 Oct 1991 emcmanus
-----------------------
Changes to allow the server to be compiled with assertions enabled.
Fixed core-dumping on big sparse processes.

..............................................................................

Server id number SVR.31			18 Oct 1991 jose
-----------------------
New Features:
-------------
	o Anonimous memory backup from OSF/1: swapon() and paging files.
Bug Fixes:
---------
	o in inode_pager.c: we need one default port per set/thread to handle
	  message flushing correctly.
	o ditto: the vs structures weren't released after object termination.

..............................................................................

Server id number SVR.30			17 Oct 1991 barbou
-----------------------
New Features:
------------
	o Logical Volume Manager.
	o physio() (almost complete implementation).
	o new buffer strategy, closer to the OSF/1.0.2 reality. This can be
	  used for easy code reuse, but the other more efficient one is still
	  in use.
	o a second server will now catch signals from the parent server. This
	  allows one to enter the debugger after a memory fault instead of
	  observing a useless core dumped by the BSD server. Of course, one
	  can ignore the signal by resuming the execution ('continue' under 
	  gdb, or 'mkill -CONT server_task_id' from the shell).
	o with the LVM came an interesting package of callout threads (see
	  server/kern/threadcall.c).
Bug Fixes:
---------
	o Deleted some include of "cmucs.h" (defunct option).

..............................................................................

Server id number SVR.29			17 Oct 1991 condict
-----------------------
New Features:

o WIRED_THREADS option, which wires all server threads for easier debugging.

o Universal time system calls implemented (utc_adjtime/gettime).  Not yet
  tested.

o Add locking version of spl_n for imported modules that depend on spl's
  alone for mutual exclusion, such as AFS.

Bugs fixed:

o Server and emulator handle multiple I/O shared pages, now.  Emulator will
  calculate size of shared I/O area and use it whenever it can.

o Created specified minimum number of server threads on bootstrap, instead
  of just one.

..............................................................................

Server id number SVR.28			16 Oct 1991 sp
-----------------------
Bugs:

o changed the default so that the kernel loads statically bound Rose
  images and not the loader

o Drop the locks in inode_uncache_try so we don't deadlock [u]mount.


..............................................................................

Server id number SVR.27			15 Oct 1991 sp
-----------------------
New Features:

o Full support for shared libraries with the use space loader

o mvalid now supported

Bugs Fixed:

o Better fix to the inode_uncache problem.


..............................................................................

Server id number SVR.26			11 Oct 1991 emcmanus
-----------------------
Implemented working plock system call.

..............................................................................

Server id number SVR.25			10 Oct 1991 barbou
-----------------------
Fixes to panic(). Work-around to have SIGPIPE delivered immediately to a 
write() returning EPIPE (for the VSX). Non-random errno for nosys().

..............................................................................

Server id number SVR.24			9 Oct 1991 emcmanus
-----------------------
Added support for coredumps.  Fixed some residual streams problems.
Small improvements to profiling.

..............................................................................

Server id number SVR.23			4 Oct 1991 sp
-----------------------
New Features:

o Support for auxiliary vector to be supplied to all images

o Fix exec so that the loader will be created properly for ROSE images

o Reorganise address space so the loader and its data can safely reside
  with the emulator, the program, the kernel, mmap'd data etc etc.

Bug fixes:

o Fixed bug in inode_uncache which tries to uncache memory objects even if
  they aren't cached. This is not a bug per se (it should do nothing) but
  it uncovered a problem in the mach kernel and was a waste of time anyway.

..............................................................................

Server id number SVR.22			3 Oct 1991 jose
-----------------------
o Added ptrace system call

..............................................................................

Server id number SVR.21
-----------------------
o Removed unnecessary panic that sometimes occurred while transferring files
  off of an OSF/1 server machine with ftp.

o Miscellaneous improvements and fixes in the build/configuration environment.

..............................................................................

Server id number SVR.20
-----------------------
o All zones, pageable or not, are now protected by simple locks instead of
  with complex locks, for better performance.

o The spl mechanism has been completely removed.  All spl calls are now
  no-ops.  Data is protected from parallel access by OSF/1 locks and by
  the master lock.  This is a major performance increase.

o The default CONFIG is now STD+WS (+second was deleted).  The second
  attribute is still present in the definition of STD.

o The ifinit function, which is called twice, has been changed to avoid
  problems cause by this.  In particular, only one slow timeout thread is
  created.  (Previously, there were two.)

...............................................................................

Server id number SVR.19			91/10/01 sp
-----------------------

Bug Fix:

o Allow the emulator to run on old kernels even though all system calls aren't
  emulated.

...............................................................................

Server id number SVR.17			91/09/25 sp
-----------------------

Bug Fix:

o Bug number 0003. Emulator now registers emulation for all system
  call numbers to nsysent instead of just up to 188.

...............................................................................

Server id number SVR.16.		91/09/20 barbou
------------------------

This one is robust enough for my signals stress test.

Bug fix:

o fixed the fix of SVR14 (spl_n). Completed (hopefully) the original fix by 
  modifying the _master_lock() macro.

...............................................................................

Server id number SVR.15.		91/09/20 barbou
------------------------

New Feature:

o dynamic computation of the number of pages shared with the emulator,
  according to the size of the shared data structures.

Bug fix:

o locks now use the same amount of memory wether _KERNEL and/or UNIX_LOCKS
  are on. This means that ushared_rw and ushared_ro now have the same size on
  the server side and the emulator side.

...............................................................................

Server id number SVR14.
----------------------
Fixed one of the two bug fixes of SVR13: spl_n(0) now works correctly for
interrupt handlers, avoiding another deadlock.

...............................................................................


Server id number SVR13.
----------------------
This version of the server has two major problems fixed that were causing
repeated deadlocks.  The first one was due to not releasing all spl locks
before trying to get the master lock (fixed in previous install).  The other
was due to inconsistent use of two different locks in zone allocation (fixed
in this install).  There are no functional enhancements in this version, but
it is now robust enought to compile itself without crashing.
	
...............................................................................


Server id number SVR10.
----------------------

New Features:

o mmap and friends added

o added uxkern/vm_param.h to have all the vm related defines and macros
  instead of dumping them all in kalloc.h.

...............................................................................

Server id number SVR9.
----------------------

New Features:

o The `-2' flag is no longer required; the server will realize itself if it is
  running standalone or as a second server.

o The server prints the micro-kernel banner when booting (so that one can check
  it: I never remember which MK is running).

o A minimal MK number is associated with the server (server/conf/version.mk)
  which means that the current server won't run correctly with MK older than
  this one. A warning is printed by the server if the micro-kernel is not 
  up to date.

Bug Fixes:

o Reference counts on credentials are decremented when the uarea is "released".
  It was incremented by uarea_init() but never decremented. uarea_terminate()
  does it now.

o Added some more cnflush() in subr_prf.c, and modified uprintf() to print on
  the console when there is no user terminal (useful when the server can't 
  exec init for example).

o Small hack to try to bypass the vm_map() bug in micro-kernels prior to MK59.
  This server can run on these old micro-kernels but it is not guaranteed to
  behave completely normally.

o The banner now prints the OSF/1 real release number (1.0.2) instead of the
  server version.

...............................................................................

Server id number SVR8.
----------------------

New Features:

o Upgrade to MK63 (with backward compatibility to MK59).

o Add necessary changes to Make* files to allow building the OSF/1
  server under itself (still doesn't work from the OSF/1 integrated
  kernel).

Bug fixes:

o Fixed emulator/Makefile (caused error when building from the emulator
  directory, although not when building from the root dir).

...............................................................................


Server id number SVR7.
----------------------

New Features:

o 1.0.2 upgrade complete

o Upgrade of relevant files from UX22 to UX26

o Upgrade to run on MK60

o Kernel printf in stand-alone mode fixed.

o Compilation warnings, including the "ASSERT redefined" message
  from gcc version 37, eliminated.

o Kernel loading of statically bound COFF and ROSE supported

o The server can deliver signals to processes in "user space" (as opposed to
  the emulator space).

o Server fully pageable

Notes:

This version of the server CANNOT be run on kernels before MK59
because of the interface change from vm-pageable to vm_wire and a bug
in vm_map in the kernel.

Virtually every file has been altered to a greater or lesser extent.
Many have the trivial change of having the change history added at
the start of the file.
