Re: Address spaces on a i386 - Getting Confused (fwd)

Ramakrishna K (ramak@wipinfo.soft.net)
Thu, 1 Apr 1999 08:48:52 +0530 (IST)


> > You make it sound so simple. Unfortunately it isn't.
> >
> > c) as you describe not possible: In the kernel, a "kernel address" that
> > can be DMA'd using the documented method (virt_to_bus) is in the direct
> > mapped region. On i386, that's the region from 0xc0000000 up.
> >
> > You can set up a kernel-space mapping (similar to vmalloc), however DMA
> > using virt_to_bus doesn't work for them.
> This should not be a big effort to change for user space if it's not already available.
What i mean here is that we should be able to get the pages behind the kernel mapping.

thanks,
Rama.
>
> But i do agree that it's going to be a future problem for cards which do not see
> memory range above 4Gb.
>
> > The device driver must be written to divide its DMA requirements into
> > regions that don't cross non-contiguous page boundaries. It must look
> But most of the cards do support scatter gather right ?
>
> > up the physical address from user-space (an architecture specific thing
> > for which there is no reliable macro yet). It must translate the
> > physical address to a bus address. (Possible using
> > virt_to_bus(phys_to_virt()) for the moment).
>
> thanks,
> Rama.
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.rutgers.edu
> Please read the FAQ at http://www.tux.org/lkml/
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/