if_hatm, bus_dma_tag_create

Vincent Jardin vjardin at free.fr
Thu Oct 30 12:58:40 PST 2003


Hi,

if_hatm sets lowaddr to BUS_SPACE_MAXADDR_32BIT when it calls 
bus_dma_tag_create().  

It means that bus_dmamap_create() returns mapp = NULL, doesn'it ?

Then, why is lowaddr so high ;-( ?

Regards,
  Vincent

PS:

/*
 * Allocate a handle for mapping from kva/uva/physical
 * address space into bus device space.
 */
int
bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp)
{
        int error;

        error = 0;

        if (dmat->segments == NULL) {
                dmat->segments = (bus_dma_segment_t *)malloc(
                    sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF,
                    M_NOWAIT);
                if (dmat->segments == NULL)
                        return (ENOMEM);
        }

        if (dmat->lowaddr < ptoa((vm_paddr_t)Maxmem)) {
                /* Must bounce */
                int maxpages;
...


More information about the freebsd-atm mailing list