Subject: New ADB Test Kernel
To: None <port-mac68k@NetBSD.ORG>
From: John P. Wittkoski <jpw@insoft.com>
List: port-mac68k
Date: 11/29/1995 09:32:02
Hello all,

As I am sure many of you know, there have been some problems with the ADB
support on newer macs. As one possible solution to this problem, I have been
investigating a way to access the ADB devices in a different way than the
Mac ROM Glue (MRG) method, which is currently in use.

I had previously developed a kernel which worked only on certain machines.
Among the successes and partial-successes were the IIsi, IIvx, P600, LCIII, 
Q900 and Q950.) The best result was the LCIII, because it allowed several 
people who could not previously use NetBSD to get up and running with their
ADB keyboard and mouse instead of using the serial console or logging in over 
the serial line.

Since then, I have been improving the previous changes I made so that 
hopefully, more machines can use this test kernel. (Or at least improve support
for the previously working machines.)

Some details on this kernel:
  This is built from kernel source pulled down 11/17.
  It is 1.1_ALPHA. (I'm a week or so behind the official source tree.)
  It will NOT work on II, IIx, IIcx, IIci, or SE/30.
  It will NOT work on ANY Powerbooks.
  This version actually does poll the ADB bus for all the attached devices.
     (The previous version simply assumed what you had attached)
  This version should work with 3 button mice, but as I don't have a 3 button
     mouse or X running, I was not able to test this.
  Reading and writing to the PRAM/RTC clock does not work, but it gets the
     time from the Booter.
  It will probably NOT work with 68040 machines if you can't at 
     least get to the "adb: bus subsystem" message with any other kernel. 
     It may fail even after that, depending on the current state of the
     SCSI support in the kernel.
  It may not work with X. (I do not have X loaded so I cannot test it.)
  If you happen to go into the debugger, the keyboard input will probably only
     last a few keystrokes before it hangs.

If anyone can test this kernel on their systems and let me know the results, 
it would be really helpful. The image is located at (anonymous ftp):
   ftp.microserve.com  /ppp-pop/jpw/netbsd.11.28.gz

Also, Jules asked for a test kernel that didn't look for any ethernet cards.
The same kernel as above, with ethernet support removed (I think) is:
   ftp.microserve.com  /ppp-pop/jpw/netbsd.noae.11.28.gz
I don't know if this kernel will actually ignore ethernet cards, as I don't
have any to test with.

You can gunzip the file in MacOS and then cpin it into the NetBSD partition
using the installer. Remember to not overwrite a good bootable kernel.

Please send the results directly to me. I am especially interested in what
type of serial speed you can get, since some of the ADB code can spend
a good amount of time with interrupts off.

Here are the results I have obtained myself:
IIsi works.
Quadra 605 hangs at "[ preserving XXX bytes of NetBSD symbol table ]" (This 
   is unrelated to the ADB code)
Quadra 610 hangs in ADBReInit.

Also, I will try to have a version based on the official 1.1 source code
as soon as I can pull it down.

I will summarize the results and post them in a few days. 

Thanks.

	--John
          jpw@insoft.com

--
--------------------------------------------------------------
 John Wittkoski				InSoft, Inc.
 Senior Systems Engineer                Phone: (717) 730-9501
 Email: jpw@insoft.com                  Fax  : (717) 730-9504
--------------------------------------------------------------