This is a discussion on Highpoint HPT302 support within the comp.unix.bsd.openbsd.misc forums, part of the OpenBSD category; --> Hello group. Does anyone know if the HPT/TRIONES 302 chip used on the Highpoint Rocket 133 (2 channel) ATA133 ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hello group. Does anyone know if the HPT/TRIONES 302 chip used on the Highpoint Rocket 133 (2 channel) ATA133 controller can be used with OpenBSD? I took a look in the kernel sources (pciide code), and found that there are several other 3xx chips supported. It would be nice if someone could add support for this chip as well. I would be happy to do it myself, but I can't get hold of any documentation on the net, and Highpoint support just referred me to the semi opensource linux driver, which uses a precompiled hpt302lib.o file. Furthermore the linux driver architecture is completely different from OpenBSD's and I have too little time and skills to try and figure all that out manually... Thanks in advance /Helge Olsen (for email replies, please remove the obvious from my email address) |
| |||
| On Sat, 5 Jul 2003, Helge Olsen wrote: > Does anyone know if the HPT/TRIONES 302 chip used on the Highpoint Rocket > 133 (2 channel) ATA133 controller can be used with OpenBSD? I took a look in > the kernel sources (pciide code), and found that there are several other 3xx > chips supported. It would be nice if someone could add support for this chip > as well. I would be happy to do it myself, but I can't get hold of any it may be as simple as adding the right numbers to the pciide files. (no code to write, just make it match your device.) it may also be more complicated. the freebsd change to support it was this simple. see sys/dev/ata/ata-chipset.c in freebsd src. report back if it works please. -- "First, it was not a strip bar, it was an erotic club. And second, what can I say? I'm a night owl." - M. Barry, Mayor of Washington, DC |
| ||||
| "Helge Olsen" <helge@olsentech-nospam.net> wrote in message news:3f0859fd$1@news.broadpark.no... [snip snip] > Thanks man. > > It seems like they use the same register values and functions for the > HPT302, 371 and 372 in FreeBSD. HPT372 support is already in there for > OpenBSD, so this should be quite easy. I'll try and do some compiling and > testing (hopefully already tomorrow) and I'll report back later. > > /Helge > > Hello again. I looked at the code from FreeBSD and it turns out the HPT302 acts like a HPT372, so I just altered the folliwing files in /usr/src/sys/dev/pci: pcidevs: Added product ID for the HPT302 (0x06) pcidevs.h: Added it here as well pciide_hpt_reg.h: Defined the revision of the HPT302 (0x01) and added the pio, dma and udma codes for the HPT372 Values were taken from the FreeBSD code and adapted to the OpenBSD data model pciide.c: Added to pciide_triones_products[] the necessary definition with reference to the hpt_chip_map function. altered hpt_chip_map() to include checks for the HPT302 in relevant places altered hpt_setup_channel() to checp for and set up the HPT302 (separately, I didn't feel comfortable adding confusion to existing code). That is all there was to it! The machine is up and working now, and it seems to be stable so far, although I haven't tested it for more than a few hours. Once I feel more comfortable that the code is stable, I'll clean up the code and create patches for 3.3 if anyone is interested. My knowledge is limited though, so I won't vouch for my patch to be production grade or even work in another system :-) Cheers /Helge |