Subject: AdvanSys driver step by step
To: tech-kern@NetBSD.ORG <tech-kern@NetBSD.ORG>
From: Dante Profeta <>
List: tech-kern
Date: 06/21/1998 20:13:59
I have completed the first two steps of my AdvanSys SCSI driver porting
tour ;-)

At this time my kernel is able to recognize the board, initialize it and
configure it.
I've ended with the tedious work of porting/rewrite tons of library
function calls needed to dialog with the RISC engine, eproms, queues,
irq, ecc... about 300K of linux driver source code...

My next step is to translate and glue the linux entry point functions
(about 100-200K of source code) in something suitable to NetBSD.

Now I would need some help because I'm on my own in figuring how this
two operating systems handle all the actions.
I take a look at bha.c/uha.c but I cannot figure out how the entry-point
functions could play ... they have a lot of different filosophy.

I have many questions because I'm quite confused...

1) How does bha_enqueue bha_dequeue plays.
2) What bhamynphis actualy do, and what is mynphis() function?
3) What are the equivalent, if there are, of linux release, abort and
reset function calls ... i.e. where I have to attach them?
These three functions perform the following actions:
- release: Release resources allocated for a single adapter.
- abort: Abort a specified SCSI command.
- reset: Reset the device associated with an SCSI command (???)

Thanks you all for your help