Sun Jun  7 17:45:42 PDT 1992
Revised 28 August 1993

This directory contains the files necessary to install the BSD
sparc audio driver in a SunOS 4.x kernel.  The driver has been 
extended to allow the more control over buffer management (i.e.,
block size and high/low water marks).  The major implementation
difference is that the BSD driver is a standard charater special
device, while the sun driver is streams device.

The driver is (mostly) compatible with Sun binaries.  For instance,
all the Sun ioctls are understood (except for Streams ioctls), but
the "active" and "pause" fields of the audio_info_t structure mean
the same thing under bsd, but have slightly different meanings under SunOS.

The driver includes an IRIG timecode signal receiver which may be
used to synchronize the system clock.  This feature was designed for
use in conjuction with the Network Time Protocol Version 3 distribution,
but it can also be used by other time-related protocols.  See the
accompanying "README.irig" file for a complete description and
instructions.  The IRIG timecode support was written by Roy LeCates
(lecates@snow-white.ee.udel.edu); correspondence about this feature
should be directed to him.

INSTALLATION

(1) In your config file, change the line:

	device-driver	audioamd
    to:
	device-driver	bsdaudio

    NOTE: the bsd driver replaces the sun driver -- you cannot have
	  both in one system.

    Add these lines to /sys/sun4c/conf/files:

	sbusdev/bsd_audio.c	optional bsdaudio device-driver
	sun4c/bsd_audiointr.s	optional bsdaudio device-driver

    NOTE to IRIG USERS:
    The IRIG receiver is only included in the driver if the
    AUDIO_IRIG symbol is defined.  The simplest way to achieve this
    is to add the following line to your kernel's config file:

	options	AUDIO_IRIG

(2) Copy these files into /sys/sbusdev:

	bsd_audio.c
	bsd_audioio.h
	bsd_audioirig.h
	bsd_audioreg.h
	bsd_audiovar.h
	bsd_audiocompat.h

    Copy this file into /sys/sun4c:

	bsd_audiointr.s

(3) Copy these files into /usr/include/sbusdev:

	bsd_audioio.h
	bsd_audioirig.h

(4) Apply the patch in conf.c.patch to /sys/sun/conf.c.  This will
    add an entry for bsd_audio in the character device switch, `cdevsw'.

(5) If you have Sun system source, apply the patch in genassym.patch
    to /sys/sun4c/genassym.c.

(6) Run config.

(7) If you have an object-only system, copy the file assym.s to the
    config'd directory for your kernel.  DON'T COPY assym.s IF YOU
    BUILD YOUR KERNELS FROM SOURCE.

(8) Run make the install & boot the new kernel.


All the code in these directories is subject to the standard UC Regents
software copyright:

   Copyright (c) 1991, 1992 The Regents of the University of California.
   All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:
   1. Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
   2. Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.
   3. All advertising materials mentioning features or use of this software
      must display the following acknowledgement:
	This product includes software developed by the Computer Systems
	Engineering Group at Lawrence Berkeley Laboratory.
   4. The name of the Laboratory may not be used to endorse or promote 
      products derived from this software without specific prior written 
      permission.

   THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.
