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

IS_KSEG_VA(9r)

NAME

IS_KSEG_VA, IS_SEG0_VA, IS_SEG1_VA - General: Determine if the specified address is located in the kernel-unmapped address space, the user-mapped address space, and the kernel-mapped address space.

SYNOPSIS

void IS_KSEG_VA( unsigned long addr ); void IS_SEG0_VA( unsigned long addr ); void IS_SEG1_VA( unsigned long addr );

ARGUMENTS

addr Specifies the virtual address.

DESCRIPTION

The IS_KSEG_VA routine determines if the specified address is located in the kernel-unmapped address space. The IS_SEG0_VA routine determines if the specified address is located in the user-mapped address space. The IS_SEG1_VA routine determines if the specified address is located in the kernel-mapped address space.

RETURN VALUES

None

EXAMPLE

The following code fragment shows a call to IS_KSEG_VA: . . . caddr_t virt_addr; [1] unsigned phys_addr; [2] . . . if(IS_KSEG_VA(virt_addr)) { [3] phys_addr = KSEG_TO_PHYS(virt_addr); [4] . . . 1. Declares a variable to store the user buffer's virtual address. 2. Declares a variable to store the physical address returned by KSEG_TO_PHYS. 3. Before calling KSEG_TO_PHYS, calls IS_KSEG_VA to determine if the virtual address is from the kernel-unmapped address space. 4. If the virtual address is from the kernel-unmapped address space, then calls KSEG_TO_PHYS to convert the address to a corresponding physical address.

SEE ALSO

Routines: KSEG_TO_PHYS(9r), PHYS_TO_KSEG(9r)

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