diff options
author | imp <imp@FreeBSD.org> | 2005-10-14 04:48:11 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2005-10-14 04:48:11 +0000 |
commit | 8a791e77bbe202440a53cf5ceef34bc0899623c2 (patch) | |
tree | 50a54e2556b3a764e71bb2dedbbb35a32f71b490 /sys/dev/exca | |
parent | 86ab2d4d2761a5d74160c157b2d27070f0d6609c (diff) | |
download | FreeBSD-src-8a791e77bbe202440a53cf5ceef34bc0899623c2.zip FreeBSD-src-8a791e77bbe202440a53cf5ceef34bc0899623c2.tar.gz |
MFP4: Minor tweaks.
Diffstat (limited to 'sys/dev/exca')
-rw-r--r-- | sys/dev/exca/exca.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/exca/exca.c b/sys/dev/exca/exca.c index 043d934..100812a 100644 --- a/sys/dev/exca/exca.c +++ b/sys/dev/exca/exca.c @@ -181,6 +181,8 @@ exca_do_mem_map(struct exca_softc *sc, int win) struct mem_map_index_st *map; struct pccard_mem_handle *mem; uint32_t offset; + int mem8 = (mem->kind == PCCARD_A_MEM_ATTR); + mem8 = 1; map = &mem_map_index[win]; mem = &sc->mem[win]; @@ -190,7 +192,8 @@ exca_do_mem_map(struct exca_softc *sc, int win) (mem->addr >> EXCA_SYSMEM_ADDRX_SHIFT) & 0xff); exca_putb(sc, map->sysmem_start_msb, ((mem->addr >> (EXCA_SYSMEM_ADDRX_SHIFT + 8)) & - EXCA_SYSMEM_ADDRX_START_MSB_ADDR_MASK)); + EXCA_SYSMEM_ADDRX_START_MSB_ADDR_MASK) | + (mem8 ? 0 : EXCA_SYSMEM_ADDRX_START_MSB_DATASIZE_16BIT)); exca_putb(sc, map->sysmem_stop_lsb, ((mem->addr + mem->realsize - 1) >> @@ -643,6 +646,7 @@ exca_valid_slot(struct exca_softc *exca) * IBM clone chips use 0x88 and 0x89, apparently */ c = exca_getb(exca, EXCA_IDENT); + DEVPRINTF(exca->dev, "Ident is %x\n", c); if ((c & EXCA_IDENT_IFTYPE_MASK) != EXCA_IDENT_IFTYPE_MEM_AND_IO) return (0); if ((c & EXCA_IDENT_ZERO) != 0) |