Kyle, Grant, Thanks for your help but being unable to reproduce the issue at will makes it very difficult to make any progress. The fault didn't occurred those past two days. So I decided to go another way. I've plugged in one of my well working sata card and did a lot of IO using "dd if=/dev/zero of=/dev/sdc". I'm not sure if this would trigger the same problem but it does trigger an HPMC Bus timeout too after a few hundreds megs. This time, the PCI slot pointed by the output is the sata card itself in slot 4. Regarding GR02, it seems to point somewhere in user space. Regarding Kyle's patch, it didn't changed anything but since the fault isn't at inw(), I'm not sure it still even makes sens to apply it. I tried to find out why the HPMC os handler wasn't triggered. As documented in pdc20-v1.1-Ch3-pdce.pdf, the interruption vector table is setup correctly. By this I mean that CR 14 points correctly to the beginning of the fault_vector_20 (physical addr), the checksum is ok and the length seems about right. I used a quickly coded module to check all of this at run time. The only thing that doesn't seem to be done is calling PDC_INSTR but I still need to investigate that. As far as I understand it's should provide instr to jump to the os_hpmc handler. Those instr are already harcoded in the fault vector so it's shouldn't be needed, unless calling PDC_INSTR actually does tell the PDC that os_hpmc has been installed. So again, I'm looking for help on going further with this issue. Unfortunately, I don't have a lot of knowledge about PCI and the HP side of the elroy chip. I wanted to look at elroy's documentation but it seems that a large part was stripped down. Any pointer to usefull doc is more than welcome ! I've attached two HPMC dumps generated using the same command. Hopefull they'll provide more details. This is on an C3600 running latest parisc-2.6 git tree. Regards, Guy
Attachment:
c3600-sata-pci-hpmc2
Description: Binary data
Attachment:
c3600-sata-pci-hpmc
Description: Binary data