Index Index for
Section 9r
Index Alphabetical
listing for S
Bottom of page Bottom of
page

svatophys(9r)

NAME

svatophys - General: Converts a system virtual address to a physical address

SYNOPSIS

kern_return_t svatophys( vm_offset_t kern_addr, vm_offset_t *phys_addr );

ARGUMENTS

kern_addr Specifies the kernel virtual address. phys_addr Specifies a pointer to the physical address to be filled in.

DESCRIPTION

The svatophys routine converts a system virtual address to the corresponding physical address. All address and data structure manipulation done within the kernel is performed using system virtual addresses. Typically, system virtual addresses are a means of mapping physical memory and I/O space, which often consists of device registers and DMA buffers. In contrast to this, devices are usually unaware of any virtual addressing and for this reason use physical addresses. You use the svatophys routine to perform this address translation. As an example of where you can use this address translation, a disk device driver can use DMA buffers to transfer blocks of data to the disk (for the case of a write operation). The data to be written to disk is present in system memory at a system virtual address known to the driver. To initiate the DMA operation, the disk driver can set up a command packet to specify a write operation to the underlying disk controller hardware. This write command packet contains (among other things) the location of the DMA buffer as a physical address and the length of the buffer. Here, the driver calls the svatophys routine to translate the system virtual address of the DMA buffer to a physical address in the command packet issued to the disk driver.

RETURN VALUES

The svatophys routine returns the following: KERN_SUCCESS The address translation has been completed successfully. KERN_INVALID_ADDRESS Unable to perform address translation. This value indicates that the address specified by the kern_addr argument is not a valid kernel or system virtual address.

Index Index for
Section 9r
Index Alphabetical
listing for S
Top of page Top of
page