Content-type: text/html Man page of hat_getkpfnum

hat_getkpfnum

Section: Kernel Functions for Drivers (9F)
Updated: 13 June 2004
Index Return to Main Contents
 

NAME

hat_getkpfnum - get page frame number for kernel address  

SYNOPSIS

#include <sys/types.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>

pfn_t hat_getkpfnum(caddr_t addr);  

INTERFACE LEVEL

This interface is obsolete. A driver devmap(9E) entry point should be provided instead.  

PARAMETERS

addr The kernel virtual address for which the page frame number is to be returned.

 

DESCRIPTION

hat_getkpfnum() returns the page frame number corresponding to the kernel virtual address, addr.

addr must be a kernel virtual address which maps to device memory. ddi_map_regs(9F) can be used to obtain this address. For example, ddi_map_regs(9F) can be called in the driver's attach(9E) routine. The resulting kernel virtual address can be saved by the driver (see ddi_soft_state(9F)) and used in mmap(9E). The corresponding ddi_unmap_regs(9F) call can be made in the driver's detach(9E) routine. Refer to mmap(9E) for more information.  

RETURN VALUES

The page frame number corresponding to the valid, device-mapped virtual address addr. Otherwise the return value is undefined.  

CONTEXT

hat_getkpfnum() can be called only from user or kernel context.  

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface stabilityObsolete

 

SEE ALSO

attach(9E), detach(9E), devmap(9E), mmap(9E), ddi_map_regs(9F), ddi_soft_state(9F), ddi_unmap_regs(9F)

Writing Device Drivers  

NOTES

For some devices, mapping device memory in the driver's attach(9E) routine and unmapping device memory in the driver's detach(9E) routine is a sizeable drain on system resources. This is especially true for devices with a large amount of physical address space. Refer to mmap(9E) for alternative methods.


 

Index

NAME
SYNOPSIS
INTERFACE LEVEL
PARAMETERS
DESCRIPTION
RETURN VALUES
CONTEXT
ATTRIBUTES
SEE ALSO
NOTES

This document was created by man2html, using the manual pages.
Time: 02:39:38 GMT, October 02, 2010