Combuster wrote:In case of PCI IDE controller this interpretation is standarized. What I was asking if there is such an standarized interpretation for PCI SCSI HBAs, but now it seems that there is no such standard interpretation of BAR contents of a PCI SCSI HBA.
If that was your real question, it took your four posts of running around before actually asking it. The answer is no, there is no standard host-side interface for SCSI. That fact was already mentioned (between the lines for lack of an direct question) several posts up.
Well, I tried to be clear by specifying ATA host adapter PCI IDE controller specs, in my first post. But I should have been more clear.
Thanks.
Combuster wrote:
<rant>
You could have found out yourself by just being observant. about 50% of the drivers windows loads before install are for SCSI.
That should not mean that there is no standard for scsi host adapter. Windows loads drivers for some IDE controllers too(e.g. Intel, Sis, etc.)
Combuster wrote:
You could have looked up your selection of SCSI cards and find out they all need a separate driver.
I don't know how could I find that they all need a separate driver, by just knowing the manufacturer of card/controller. I think you mean to say: by reading some publicly available datasheets of SCSI HBAs.
In case of IDE controllers drivers are required for IDE controller cards, even though PCI IDE controller spec exist.
Combuster wrote:
You could have deduced it all from the lack of information on a standard interface.
Well, I'll not use word
deduced, but it was a 50-50 situation for me before asking it here. You can say I just have some idea that such an standard may not exist. I was not sure though.
Combuster wrote:
You could have looked at the list of interfaces for PCI.
I tried googling it before asking it here, but I didn't find anything that can give me a reason to conclude that there doesn't exists such a standard.
Combuster wrote:
You could even have seen the fragment "for your specific SCSI card" I posted earlier.
Yes I did noted that, but I was not sure what you mean to say. On many earlier occasions, on other forums, whenever I asked such a
standard related question regarding any I/O devices, many said that I will need a driver for that - w/o driver I will not be able to communicate with I/O device. They simply assumed that since most I/O devices come with their drivers provided by manufactures, w/o them it was not possible to communicate with the device. Later I figured out that standards for such device do exist, some are formal standards, other are de-facto.
So, I tried to confirm that only, by asking again. I hope you can understand.
Combuster wrote:
Then maybe you would have found out for yourself that there is no standard and simply ask "am I correct about this"
Well, this was actually my intention when I asked it in my first post. That's why I gave the reference of ATA host/PCI IDE controller, to indicate what I am searching for.
May be I should have asked more clearly. That would have simplified things for all of us. I 'll keep your suggestions in mind next time. Thanks
Combuster wrote:
That also brings me to the attitude: experimenting and testing your ideas is a core part of OS development business. If you have trouble deducing something as simple as "there's no standard interface for SCSI", which anybody whom has spent a fair share of time with such a system will be able to tell you, how will you fare with finding the answers to things nobody know about?
Well, I'm new to this driver kind of stuff, and I occasionaly find myself messed up in hardware specs. The definition of
fair share of time is different for different persons. In other words, I have not spent fair enough time, neither I have much experience regarding such stuff, so may due to that it was not obvious for me to deduce this thing. I'm learning still, and it will take time for me to reach that stage where I can ask such question, that nobody here knows about.
Thanks for your positive criticism and throwing light on various aspects of how a OS developer should figure things out. I'll try to be better next time.