diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-12-12 18:16:06 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-12-12 18:16:06 +0100 |
commit | b2b2d2cb4c5cb3153760084a55584817a2c58a24 (patch) | |
tree | 2d058581b68f1fe9e3c4a71216c1c999ac69f714 /sys/src/9/pc/sdiahci.c | |
parent | 5ea540e75def56d3c2b5ef16f0f4e91d5f5c0ad1 (diff) |
sdiahci: assume 64-bit PCIWADDR()
Diffstat (limited to 'sys/src/9/pc/sdiahci.c')
-rw-r--r-- | sys/src/9/pc/sdiahci.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/sys/src/9/pc/sdiahci.c b/sys/src/9/pc/sdiahci.c index 1c243908e..4297e330b 100644 --- a/sys/src/9/pc/sdiahci.c +++ b/sys/src/9/pc/sdiahci.c @@ -21,7 +21,6 @@ #define idprint(...) if(prid) print(__VA_ARGS__); else USED(prid) #define aprint(...) if(datapi) print(__VA_ARGS__); else USED(datapi) #define ledprint(...) if(dled) print(__VA_ARGS__); else USED(dled) -#define Pciwaddrh(a) 0 #define Tname(c) tname[(c)->type] #define Ticks MACHP(0)->ticks #define MS2TK(t) (((ulong)(t)*HZ)/1000) @@ -284,20 +283,23 @@ mkalist(Aportm *m, uint flags, uchar *data, int len) Actab *t; Alist *l; Aprdt *p; + uvlong pa; t = m->ctab; if(data && len > 0){ + pa = PCIWADDR(data); p = &t->prdt; - p->dba = PCIWADDR(data); - p->dbahi = Pciwaddrh(data); + p->dba = pa; + p->dbahi = pa>>32; p->count = 1<<31 | len - 2 | 1; flags |= 1<<16; } + pa = PCIWADDR(t); l = m->list; l->flags = flags | 0x5; l->len = 0; - l->ctab = PCIWADDR(t); - l->ctabhi = Pciwaddrh(t); + l->ctab = pa; + l->ctabhi = pa>>32; return l; } @@ -600,6 +602,7 @@ ahciwakeup(Aportc *c, uint mode) static int ahciconfigdrive(Ahba *h, Aportc *c, int mode) { + uvlong pa; Aportm *m; Aport *p; int i; @@ -618,10 +621,12 @@ ahciconfigdrive(Ahba *h, Aportc *c, int mode) return -1; } - p->list = PCIWADDR(m->list); - p->listhi = Pciwaddrh(m->list); - p->fis = PCIWADDR(m->fis.base); - p->fishi = Pciwaddrh(m->fis.base); + pa = PCIWADDR(m->list); + p->list = pa; + p->listhi = pa>>32; + pa = PCIWADDR(m->fis.base); + p->fis = pa; + p->fishi = pa>>32; p->cmd |= Afre; |