During all the time I had no time to work on ips(4), the OpenBSD team has also done an amazing amount of work. Now finally, my controller detects the number of targets and LUNs correctly and sets the number of openings to a sane number. I made it to find my controller and to attach a SCSI bus to it. Commands are also sent to the controller.
However, this is about as good as it gets. The status code returned by the controller is never received, because the function to do so is not implemented in the OpenBSD driver. Thus, not knowing the technical details, I try to figure out how BeerFSD behaves and to implement complementary code for NetBSD.
However, a lot of questions remain unanswered. BeerFSD apparently uses a DMA mapping to store the status codes in some type of structure containing an array and some variables. I wonder if these additional variables are also required and some other things. I am sure that, given some amount of time, I am going to figure that out.