Subject: New NetBSD/Alpha source and binary snapshot available.
To: None <port-alpha@NetBSD.ORG>
From: Chris G Demetriou <Chris_G_Demetriou@BALVENIE.PDL.CS.CMU.EDU>
List: port-alpha
Date: 12/21/1995 10:20:15
Hi folks, & Merry Christmas.  8-)

There's a new NetBSD/Alpha source and binary snapshot available at:

	ftp://ftp.netbsd.org/pub/NetBSD/arch/alpha/951220

It should be propagating to mirror sites starting tomorrow morning
(Dec. 22).  Same format, same contents, etc., as always, with one
addition: I added a README_FIRST file to the distribution, which
contains last minute notes about the snapshot.  (For this snapshot,
they tell you how to fix the /usr/libexec/cpp symlink so that
everything works...  It was wrong in the last snapshot, too, and then i
fixed it, but i forgot to fix it _again_ when i updated the kernel
version string to note that the source base is now post-NetBSD 1.1...)


So what's new?


I finally spent some time a Seriously Whacked all of the TurboChannel
code.  Changes to the TurboChannel code included:

	(1) redoing the way all TurboChannel autoconfiguration is
	    done,

	(2) fixing up interrupt handling so interrupts are enabled
	    when devices attach interrupt handlers, and disabled
	    when devices remove handlers.  This means that TC
	    option slot interrupts should now work, on all
	    TC systems.  I've not tested that, yet, though.

	(3) made some of the code more amenable to being shared
	    with NetBSD/pmax.  the main turbochannel bus driver
	    and the TC LANCE driver are now marked as "machine
	    independent."  Between this and (2), PMAD-A
	    option slot LANCE boards should work.  I've not
	    tested that, yet, though, either.

	(4) updated the 53c94 SCSI driver to match changes made
	    to the sparc port's driver (from which it was
	    originally derived).  There were a lot of changes
	    here to both the 53c94 code and the related DMA support
	    code.  Given the bugs i found in the old DMA code, I dunno
	    how the 53c94 driver worked at all...  We're slowly
	    getting closer to a machine-independent 53c94 driver,
	    but it's not clear what it'll actually end up looking
	    like (whether it'll be like the sparc driver or the pmax
	    driver).  This might even solve the problem with using
	    both SCSI busses on 3000/[4-9]00 systems at the same
	    time, but i've not had a machine to test that on.

The result of all of those TC changes is that the TurboChannel code is
now more shareable, more easily maintainable, more stable, and more
functional.  Unfortunately, there's still no real console driver, but
i hope to fix that eventually.


The other main item that's new in this snapshot is the way time is
handled.  I rewrote microtime() to use the process cycle counter, so
it now has much higher resolution than it used to.

Once i'd done that, it was just a little bit of work to go a bit
further and provide a memory-mapped clock pseudo-device, so that
programs could do high-resolution timing completely in user-land.
I did this, and i wrote a few sample routines to use it, which live
lib /usr/lib/libalpha.a (/usr/src/lib/libarch/alpha in the master
NetBSD sources).  Note that the interfaces provided by this library
are likely to change a little bit before i finalize them (people who
know about high-resolution timing, please give me input!), so don't
start to rely on them too heavily until there are some manual pages.
8-)


That's it since my 11/27 "mini-snapshot" -- I've been busy with other
projects for work, travelling, etc...  

I've included the message I sent out about the 11/27 "mini-snapshot"
below, as a reminder of the changes since the last complete snapshot
and as a reminder to be sure to use the COMPAT_10 kernel option.
(Note that tip 2, about the need for stty opost, should be unnecessary
now; the bug was fixed.)



chris
=================================================================
To: port-alpha@netbsd.org
Subject: New NetBSD/alpha source snapshot & kernels available.
Date: Tue, 28 Nov 1995 20:08:04 -0500
From: Chris G Demetriou <Chris_G_Demetriou@BALVENIE.PDL.CS.CMU.EDU>

There's a new NetBSD/alpha source snapshot, and some new kernels,
available at:

	ftp://ftp.netbsd.org/pub/NetBSD/arch/alpha/951127

For an explanation of what's what, see:

	ftp://ftp.netbsd.org/pub/NetBSD/arch/alpha/README.files

This snapshot contains _only_:
	(1) new kernels (i.e. netbsd.gz, netbsd.gdb.gz, netbsd_nfs.gz,
		netbsd_nfs.gdb.gz)
	(2) new source tar files/diffs.

Because this snapshot doesn't include a complete install image and tar
files of the binaries, the previous distribution is still available
at:

	ftp://ftp.netbsd.org/pub/NetBSD/arch/alpha/951017


Hints and tips for using these sources:
	(1) COMPILE YOUR KERNELS WITH COMPAT_10.  If you do not,
	    you'll not be able to mount your file systems!!!
	(2) If
	       you
		   see
		       a
			 stairstepping
				       problem
					       with
						    carriage
							     returns
	    "stty opost" to fix it.  This is a problem with the
	    machine-independent tty_compat.c code in NetBSD, and
	    hopefully it'll be fixed in the next NetBSD/alpha snapshot
	    i build.	


These sources and kernels fix a couple of (very) serious bugs:

	(1) "modified" and "referenced" bits weren't being kept for
	    pages.  Not keeping reference bits would just cause
	    a minor performance lose.  Lack of "modified" bits
	    could cause serious problems -- typically, once the
	    system started paging, applications would crash randomly.

	    Thanks to Jeff Hsu for pointing out and clearly
	    demonstrating the problem, and for providing a sample
	    fix that pointed me in the right direction.

	(2) There was a problem with the FFS code that would cause
	    it to deterministically crash in certain situations.
	    (Basically: when 'fsck' would cause the root file system
	    to be reloaded, not all the fields of the superblock were
	    handled properly.)  This couldn't cause data loss, but
	    was very annoying and confusing (at least to me)...


New features:

	(1) AXPpci ("NoName") support, written by Jeff Hsu.  With this
	    and bug #1 above fixed, he is apparently self-hosting
	    on his 16M AXPpci 33.  (That machine type right, Jeff?)

	(2) I've verified that the NFS server code works.  (I dunno if
	    it didn't before, but i changed a couple of things in
	    my source tree and tried it, and it worked...)

	(3) user-land and kernel profiling both work.  (Note that
	    you'll have to update your /usr/src/lib from the NetBSD
	    master sources and recompile and install your libraries,
	    if you want to do user-land profiling...)


Other notes:

I'm going to be travelling until next friday or saturday (i.e. 12/9,
or something like that), so if you send me mail, don't expect to hear
back from me until i get back...  I hope to do a complete snapshot not
too long after i return.


chris