Re: Question: how to map SCSI data DMA address to virtual address?

From: Arjan van de Ven
Date: Thu Mar 02 2006 - 11:56:02 EST


On Thu, 2006-03-02 at 09:53 -0700, Ju, Seokmann wrote:
> Hi,
>
> In the 'scsi_cmnd' structure, there are two entries holding address
> information for data to be transferred. One is 'request_buffer' and the
> other one is 'buffer'.
> In case of 'use_sg' is non-zero, those entries indicates the address of
> the scatter-gather table.

use_sg is never non-zero so that's easy

>
> Is there way to get virtual address (so that the data could be accessed
> by the driver) of the actual data in the case of 'use_sg' is non-zero?

not really; unless you mapped it. The physical address may already been
translated by the iommu... at which point there is no direct mapping to
kernel memory.

Why do you need to do this? It's generally bad for drivers to snoop
data!

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