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