Subject: Re: during 'make depend': aic7xxx_seq.h: no such file or directory
To: None <netbsd-help@NetBSD.ORG>
From: Pete Bentley <pete@demon.net>
List: port-i386
Date: 03/07/1996 14:42:19
[ CC'd to port-i386 as people there might be interested in the last para]

In message <199603070825.AAA13736@Vashti.Stanford.EDU>, Robert Kennedy writes:
>> It looks like there's a file (aic7xxx_seq.h) missing from the ksrc11
>> distribution, or like 'make depend' needs to invoke some rule to build
>> it. What's the problem?

It's a case of make depend not knowing that this file is generated by
a rule in a sub makefile.  The warning is harmless, the kernel will
build fine and the dependancies will even be correct as aic7xxx_seq.h
doesn't include anything much. ie don't worry about it...

>> What is the relationship between the .../dev/ic directory and the
>> .../dev/microcode/aic7xxx directory?

The dev/ic directory contains the architecture-independant driver code
for boards based on the aic7xxx series.  The dev/microcode/aic7xxx
series contains source code for an assembler for the chip and source
code for microcode which gets downloaded to the chip at initialisation
time. ie at kernel build time first the assembler
(dev/microcode/aic7xxx_asm.c) gets built, then it assembles the
sequencer code in aic7xxx.seq into a C header file (aic7xxx_seq.h)
which is included by the driver itself (dev/ic/aic7xxx.c). The driver
downloads that data to the card as part of the initialisation.  To
answer one of your other questions, the assembler output ends up in
the compile/WHATEVER directory, so *is* found correctly when the
kernel is built.

Having the aic7xxx assembler (essentially a user-land utility) built
as part of a kernel build is a little bit ugly but very pragmatic.

Oh, for what it's worth (more to other people than the original
poster) I am using a port of the FreeBSD-current version of this
driver with NetBSD-current, and it supports more cards as well as
being a somewhat more robust.  I haven't tried to get it committed to
the source tree yet as it doesn't work with EISA (all the machines I
care about just now are PCI) and it does some rather ugly things to
work round differences between the NetBSD and FreeBSD SCSI systems
which happen to not cause any troubles for me, but I haven't analysed
them yet.  If anyone wants the patches so as to help play guinea pig,
just mail me.

Pete.