Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Jul 2000 17:51:12 +0200
From:      alex@big.endian.de (Alexander Langer)
To:        new-bus@freebsd.org
Subject:   newbus replacement for kvtop()
Message-ID:  <20000722175112.A16931@cichlids.cichlids.com>

next in thread | raw e-mail | index | archive | help
Hello!

Today I ported the dev/ed driver to bus_space_(read|write) instead
of outb/inb/outw/inw.

My PCI card already works.  However, I'm having problems with
kvtop(), which is used by the sub-driver for the SMC cards.

This one uses soemthing like:

     if (isa16bit) {
                if (sc->is790) {
                        sc->wd_laar_proto = ed_readb(sc, 
                                                  sc->asic_addr + ED_WD_LAAR);
                } else {
                        sc->wd_laar_proto = ED_WD_LAAR_L16EN |
                            ((kvtop(sc->mem_start) >> 19) & ED_WD_LAAR_ADDRHI);
                }
                /*
                 * Enable 16bit access
                 */
                ed_writeb(sc, sc->asic_addr + ED_WD_LAAR, sc->wd_laar_proto |
                    ED_WD_LAAR_M16EN);

sc->mem_start is set to the virtual address of the memory:
if_ed.c:        sc->mem_start = (caddr_t) rman_get_virtual(sc->mem_res);

However, I tried to find a replacement myself, but couldn't find
anything that could replace the call to kvtop() here.

On the other hand, I could imagine that rman_get_start w/o the usage
of kvtop() could be enough here.

Could anyone point me to the right direction please?

Thanks

Alex
-- 
cat: /home/alex/.sig: No such file or directory


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-new-bus" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000722175112.A16931>