bus-dma question

John Baldwin jhb at FreeBSD.org
Mon Sep 26 12:29:51 PDT 2005


On Monday 26 September 2005 01:31 pm, Hans Petter Selasky wrote:
> Hi,
>
> I see something suspicious on Amd64, when allocating small blocks of
> DMA-able memory:
>
> bus_dmamap_load_callback: 0x0000000000caf200
>                           ^^^^ this is physical address
>
> QH(0xffffff0000caf200) at 0x00caf200:
>    ^^^^ this is kernel address
>
> Shouldn't kernel addresses always be different from physical addresses ?

No.  Especially not on archs like alpha, ia64, amd64, and sparc64 where part 
of KVA is direct-mapped to physical memory either in hardware (alpha's K0Seg) 
or via software (ia64, amd64, and sparc64).

> When allocating larger blocks of memory I get, for example:
>
> bus_dmamap_load_callback: 0x000000003bc50000
>
> which seems correct.
>
> --HPS
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-hackers mailing list