ref: 95a5e1ae0bfc1353f8f63b178e9c92c69cd81b4b
parent: c42acc310b6723b9f76d1939b866bd35d44f9d70
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Sun Sep 16 12:46:28 EDT 2012
sdide: make sure bmiba is in i/o port space, not memory
--- a/sys/src/9/pc/sdide.c
+++ b/sys/src/9/pc/sdide.c
@@ -2160,7 +2160,7 @@
ctlr->maxdma = maxdma;
ctlr->span = span;
ctlr->irqack = irqack;
- if(pi & 0x80)
+ if((pi & 0x80) && (p->mem[4].bar & 0x01))
ctlr->bmiba = (p->mem[4].bar & ~0x01) + channel*8;
if(head != nil)
tail->next = sdev;
--
⑨