hat_getkpfnum(9F)
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 con-
text.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface stability | Obsolete |
|_____________________________|_____________________________|
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.
Man(1) output converted with
man2html