CARDMEM is the offset of the address ON THE CARD (eg which page).

Instead, use EXCA_MEMREG_WIN_SHIFT which is the amount we shift the
bus address by to write into upper memory (eg above 24MB).  Use the
latter in this case.
This commit is contained in:
Warner Losh 2003-09-24 22:13:25 +00:00
parent 85cc199400
commit 26824d8c47

View File

@ -258,7 +258,7 @@ exca_mem_map(struct exca_softc *sc, int kind, struct resource *res)
}
if (win >= EXCA_MEM_WINS)
return (1);
if (((rman_get_start(res) >> EXCA_CARDMEM_ADDRX_SHIFT) & 0xff) != 0 &&
if (((rman_get_start(res) >> EXCA_MEMREG_WIN_SHIFT) & 0xff) != 0 &&
(sc->flags & EXCA_HAS_MEMREG_WIN) == 0) {
device_printf(sc->dev, "Does not support mapping above 24M.");
return (1);