Date: Wed, 02 Jun 1999 17:59:25 -0400 From: "Christopher R. Bowman" <crb@ChrisBowman.com> To: "Justin T. Gibbs" <gibbs@plutotech.com> Cc: freebsd-scsi@freebsd.org Subject: Re: Support for Symbios vs. Adaptect SCSI Message-ID: <199906022200.SAA32326@quark.ChrisBowman.com> In-Reply-To: <199905271916.NAA57184@pluto.plutotech.com> References: <Your message of "Thu, 27 May 1999 14:46:06 EDT." <199905271847.OAA07996@quark.ChrisBowman.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906022200.SAA32326>