| 
        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.
       void IS_KSEG_VA(
               unsigned long addr ); void IS_SEG0_VA(
               unsigned long addr ); void IS_SEG1_VA(
               unsigned long addr );
       Specifies the virtual address.
        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.
       None
        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]
       .  .  .
       Declares  a  variable  to  store the user buffer's virtual
       address.   Declares  a  variable  to  store  the  physical
       address   returned   by   KSEG_TO_PHYS.    Before  calling
       KSEG_TO_PHYS, calls IS_KSEG_VA to determine if the virtual
       address is from the kernel-unmapped address space.  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.
       Routines: KSEG_TO_PHYS(9r), PHYS_TO_KSEG(9r)
                                                   IS_KSEG_VA(9r)
[ Back ] |