Hello, Frank. On Friday, March 31, 2006, bennett78 wrote:
> SoSoComm Dudes: VERY, VERY BIG thanks to you :-))), finally we can do something more sensible with it (like scatter-gather). > I was able to contact Davide Santo, AN2604 "Introduction to BestComm". > He admitted > the short commings of his document in the area of Firmware instruction > info and gave > me a name of a guy, Ed in the ASIC design area in Austin. Ed has agreed > to answer > questions, push for resources to provide a support tool and provided me > with a document > from their head programmer "SmartDMA Hand-Assembly Guides" (see attached > pdf). > With this secret decoded ring I was able to put together a disassembler, > see attached > disasm.c. Cut and paste your favorite Task into fw[] array at the > beginning, > "cc -o d disasm.c ; d" It's not perfect, but useful- Enjoy. Sorry I'm not > sure where or if you guys want to check this stuff into a git > repository, somewhere > and hope ozlabs is not fussy about attachments! But it could be start point for a kernel compiler :). > If we can formulate a list of questions Ed might be able to help, I'll > start: > o what does init=31 mean? > AN2604 say init=0 means always requestor and 31 is reserved but > referenced > alot in the F/W comments > o Need more info on how MORE works > o Tell us about LCD levels. Only 2? (let's call a LCD indent a level) > LCD seems to reset DRD to 1A. DRD2B1or2 follow a DRD2A (ext=1)? > o LCD[28:23]orLCD[20:15] or LCD[11:6] what is extraN? > drop 101nnn - extraN > add 1nnnnn - indexN > o how many DRD2B1[2] can be stacked up? > o when is/can a LDC Literal used? and how? I'll reread my drafts at next week too, so may be this list will be extended. -- Regards, Andrey Volkov
