Rev 4429 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4429 | Rev 4587 | ||
---|---|---|---|
Line 1181... | Line 1181... | ||
1181 | IDE_BAR1_val dw ? |
1181 | IDE_BAR1_val dw ? |
1182 | IDE_BAR2_val dw ? |
1182 | IDE_BAR2_val dw ? |
1183 | IDE_BAR3_val dw ? |
1183 | IDE_BAR3_val dw ? |
1184 | endg |
1184 | endg |
1185 | ;----------------------------------------------------------------------------- |
1185 | ;----------------------------------------------------------------------------- |
- | 1186 | ||
- | 1187 | proc clear_pci_ide_interrupts |
|
- | 1188 | mov esi, pcidev_list |
|
- | 1189 | .loop: |
|
- | 1190 | mov esi, [esi+PCIDEV.fd] |
|
- | 1191 | cmp esi, pcidev_list |
|
- | 1192 | jz .done |
|
- | 1193 | cmp [esi+PCIDEV.class], 0x01018F |
|
- | 1194 | jnz .loop |
|
- | 1195 | mov ah, [esi+PCIDEV.bus] |
|
- | 1196 | mov al, 2 |
|
- | 1197 | mov bh, [esi+PCIDEV.devfn] |
|
- | 1198 | mov bl, 0x20 |
|
- | 1199 | call pci_read_reg |
|
- | 1200 | and eax, 0FFFCh |
|
- | 1201 | mov edx, eax |
|
- | 1202 | add edx, 2 |
|
- | 1203 | in al, dx |
|
- | 1204 | DEBUGF 1,'K : clear_pci_ide_interrupts: port[%x] = %x ',dx,al |
|
- | 1205 | out dx, al |
|
- | 1206 | in al, dx |
|
- | 1207 | DEBUGF 1,'-> %x; ',al |
|
- | 1208 | add edx, 8 |
|
- | 1209 | in al, dx |
|
- | 1210 | DEBUGF 1,'port[%x] = %x ',dx,al |
|
- | 1211 | out dx, al |
|
- | 1212 | in al, dx |
|
- | 1213 | DEBUGF 1,'-> %x\n',al |
|
- | 1214 | jmp .loop |
|
- | 1215 | .done: |
|
- | 1216 | ret |
|
- | 1217 | endp |