Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

phys_to_kseg(9r) [osf1 man page]

PHYS_TO_KSEG(9r)														  PHYS_TO_KSEG(9r)

NAME
PHYS_TO_KSEG - General: Converts a physical address to a kernel-unmapped virtual address SYNOPSIS
vm_offset_t PHYS_TO_KSEG( vm_offset_t addr ); ARGUMENTS
Specifies the physical address to convert to a kernel-unmapped virtual address. DESCRIPTION
The PHYS_TO_KSEG routine converts a kernel physical address to a kernel-unmapped virtual address. EXAMPLE
The following code fragment shows a call to PHYS_TO_KSEG: . . . caddr_t virt_addr; [1] unsigned phys_addr; [2] . . . virt_addr = PHYS_TO_KSEG(phys_addr); [3] . . . Declares a variable to store the virtual address returned by PHYS_TO_KSEG. Declares a variable to store the physical address. This address might have been obtained from a call to KSEG_TO_PHYS. Calls PHYS_TO_KSEG to convert the physical address to a corresponding virtual address. RETURN VALUES
Upon successful completion, PHYS_TO_KSEG returns the virtual address associated with the specified physical address. SEE ALSO
Routines: IS_KSEG_VA(9r), KSEG_TO_PHYS(9r) PHYS_TO_KSEG(9r)

Check Out this Related Man Page

svatophys(9r)															     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
Specifies the kernel virtual address. 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: The address translation has been completed successfully. Unable to perform address transla- tion. This value indicates that the address specified by the kern_addr argument is not a valid kernel or system virtual address. svatophys(9r)
Man Page

We Also Found This Discussion For You

1. What is on Your Mind?

Throw my Toys out of the Pram!

Hi Folks, Today hasn't been the best one of my career in IT. I've been a contractor for a major utility company for a number of years, on a number of seperate IT contracts mostly Unix. The company had 10 different flavours of unix and multiple different varsions of most of them. At the... (3 Replies)
Discussion started by: gull04
3 Replies