From owner-freebsd-scsi Wed Jun 2 15: 2:12 1999 Delivered-To: freebsd-scsi@freebsd.org Received: from quark.ChrisBowman.com (crbowman.erols.com [209.122.47.155]) by hub.freebsd.org (Postfix) with ESMTP id D00B714BEF for ; Wed, 2 Jun 1999 15:01:49 -0700 (PDT) (envelope-from crb@ChrisBowman.com) Received: from fermion (crb@fermion.ChrisBowman.com [10.0.1.2]) by quark.ChrisBowman.com (8.9.2/8.8.8) with SMTP id SAA32326; Wed, 2 Jun 1999 18:00:49 -0400 (EDT) (envelope-from crb@ChrisBowman.com) Message-Id: <199906022200.SAA32326@quark.ChrisBowman.com> X-Sender: crb@quark X-Mailer: QUALCOMM Windows Eudora Pro Version 4.0.1 Date: Wed, 02 Jun 1999 17:59:25 -0400 To: "Justin T. Gibbs" From: "Christopher R. Bowman" Subject: Re: Support for Symbios vs. Adaptect SCSI Cc: freebsd-scsi@freebsd.org In-Reply-To: <199905271916.NAA57184@pluto.plutotech.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-freebsd-scsi@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org At 01:05 PM 5/27/99 -0600, Justin T. Gibbs wrote: >>>My plan is to write an assembler for the Symbios scripts >>>engine so that the firmware is easier to read, modify, and understand. >>>At that point, I would expect the Symbios parts to be as well >>>supported under FreeBSD as the Adaptec parts. I don't expect to >>>get around to this until late this summer. >> >>There already exists the SCRIPTS assembler that produces C code structures >>containing the data as preinitialized arrays. I thought I even saw the source >>to it floating around somewhere. Are you looking to write a better assembler >>or just oblivious of the existing one? > >It is the general policy of the project to provide all the tools required >to modify a driver in the standard distribution. The aic7xxx driver, for >instance, provides the assembler that I wrote for its RISC engine. If >the source is available for NASM (I've only seen the DOS executables) >and it allows for things like chip specific program patching at device >attach time, then that would certainly work. > >>I have, in the past, written an assembler for a custom CPU for which I did the >>mask layout and design, and I have been looking for a way to contribute to the >>project (I am a hardware guy with a lot of software under my belt, but I just >>can't seem to wrap my head around the kernel). Perhaps you could describe >>what exactly you are looking for in an assembler and I could work on it for >>you. > >The scripts syntax is somewhat obtuse, but I guess it would suffice. The >main additional feature I'd want in the assembler is the ability to >easily designate condition portions of the script that can be independently >patched in. Take a look at the sys/dev/aic7xxx/aic7xxx.seq and the output >from aicasm in sys/compile/KERNAME/aic7xxx_seq.h for an idea of the >patching capability I'd want. Ok I read through some of it, but I don't get how the symbols are relocated. I mean I see how the sequencer script is assembled by your assembler, and I think I understand how you have implemented what amounts to a run time dropping of certain instruction from being downloaded to the chip using conditional statements executed at download time. What I don't understand is how are the assembly labels fixed up when instructions are dropped from being download to the chip due to this conditional situation. -------- Christopher R. Bowman crb@ChrisBowman.com http://www.ChrisBowman.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message