ref: fe8781f6aa7c8bba8632cb0db38a0a08d522e2be
parent: ce7acb0e8432ea49e7efb1d4de2c0de5f0b71514
parent: 9f10de45eb0e8286637ce7efab6f762fd4044675
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Thu Mar 30 19:39:03 EDT 2017
merge
--- a/sys/src/9/pc/pccpuf
+++ b/sys/src/9/pc/pccpuf
@@ -101,6 +101,7 @@
sdodin pci sdscsi led
sdvirtio pci sdscsi
sdmmc pci pmmc
+ sdnvme pci
sdloop
vga3dfx +cur
--- a/sys/src/9/pc/pcf
+++ b/sys/src/9/pc/pcf
@@ -98,6 +98,7 @@
sdodin pci sdscsi led
sdvirtio pci sdscsi
sdmmc pci pmmc
+ sdnvme pci
sdloop
uarti8250
--- a/sys/src/9/pc/sdnvme.c
+++ b/sys/src/9/pc/sdnvme.c
@@ -165,7 +165,7 @@
if(cq->base == nil)
continue;
phaseshift = 16 - cq->shift;
- for(;; cq->head++){+ for(;;){e = &cq->base[(cq->head & cq->mask)<<2];
if(((e[3] ^ (cq->head << phaseshift)) & 0x10000) == 0)
break;
@@ -183,11 +183,9 @@
*wp = nil;
wakeup(z);
}
+ ctlr->reg[DBell + ((cq-ctlr->cq)*2+1 << ctlr->dstrd)] = ++cq->head & cq->mask;
}
- ctlr->reg[DBell + ((cq-ctlr->cq)*2+1 << ctlr->dstrd)] = cq->head & cq->mask;
}
- if((ctlr->reg[CSts] & 3) != 1)
- iprint("nvmeintr: fatal controller error\n");ctlr->reg[IntMc] = ctlr->ints;
iunlock(&ctlr->intr);
}
--- a/sys/src/9/pc64/pc64
+++ b/sys/src/9/pc64/pc64
@@ -96,6 +96,7 @@
# sdodin pci sdscsi led
sdvirtio pci sdscsi
sdmmc pci pmmc
+ sdnvme pci
sdloop
uarti8250
--
⑨