Windows PowerShell command on Get-command ddi_peekl
MyWebUniversity

Manual Pages for UNIX Operating System command usage for man ddi_peekl

Kernel Functions for Drivers ddi_peek(9F)

NAME

ddi_peek, ddi_peek8, ddi_peek16, ddi_peek32, ddi_peek64,

ddi_peekc, ddi_peeks, ddi_peekl, ddi_peekd - read a value

from a location

SYNOPSIS

#include

#include

int ddi_peek8(dev_info_t *dip, int8_t *addr, int8_t *valuep);

int ddi_peek16(dev_info_t *dip, int16_t *addr, int16_t *valuep);

int ddi_peek32(dev_info_t *dip, int32_t *addr, int32_t *valuep);

int ddi_peek64(dev_info_t *dip, int64_t *addr, int64_t *valuep);

INTERFACE LEVEL

Solaris DDI specific (Solaris DDI). The ddi_peekc(),

ddi_peeks(), ddi_peekl(), and ddi_peekd() functions are

obsolete. Use, respectively, ddi_peek8(), ddi_peek16(),

ddi_peek32(), and ddi_peek64(), instead.

PARAMETERS

dip A pointer to the device's dev_info structure.

addr Virtual address of the location to be examined. valuep Pointer to a location to hold the result. If a null pointer is specified, then the value read from the location will simply be discarded.

DESCRIPTION

These routines cautiously attempt to read a value from a specified virtual address, and return the value to the

caller, using the parent nexus driver to assist in the pro-

cess where necessary. If the address is not valid, or the value cannot be read without an error occurring, an error code is returned.

SunOS 5.11 Last change: 16 Jan 2006 1

Kernel Functions for Drivers ddi_peek(9F)

The routines are most useful when first trying to establish the presence of a device on the system in a driver's probe(9E) or attach(9E) routines.

RETURN VALUES

DDI_SUCCESS The value at the given virtual address was

successfully read, and if valuep is non-null,

*valuep will have been updated.

DDI_FAILURE An error occurred while trying to read the

location. *valuep is unchanged.

CONTEXT

These functions can be called from user, interrupt, or ker-

nel context.

EXAMPLES

Example 1 Checking to see that the status register of a dev-

ice is mapped into the kernel address space:

if (ddi_peek8(dip, csr, (int8_t *)0) != DDI_SUCCESS) {

cmn_err(CE_WARN, "Status register not mapped");

return (DDI_FAILURE);

}

Example 2 Reading and logging the device type of a particu-

lar device: int

xx_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)

{ ... /* map device registers */ ...

if (ddi_peek32(dip, id_addr, &id_value) != DDI_SUCCESS) {

cmn_err(CE_WARN, "%s%d: cannot read device identifier",

ddi_get_name(dip), ddi_get_instance(dip));

goto failure; } else

cmn_err(CE_CONT, "!%s%d: device type 0x%x\n",

ddi_get_name(dip), ddi_get_instance(dip), id_value);

... ...

ddi_report_dev(dip);

return (DDI_SUCCESS);

failure:

SunOS 5.11 Last change: 16 Jan 2006 2

Kernel Functions for Drivers ddi_peek(9F)

/* free any resources allocated */ ...

return (DDI_FAILURE);

}

SEE ALSO

attach(9E), probe(9E), ddi_poke(9F)

Writing Device Drivers NOTES The functions described in this manual page previously used symbolic names which specified their data access size; the function names have been changed so they now specify a

fixed-width data size. See the following table for the new

name equivalents:

____________________________________________________________

| Previous Name New Name |

| ddi_peekc ddi_peek8 |

| ddi_peeks ddi_peek16 |

| ddi_peekl ddi_peek32 |

| ddi_peekd ddi_peek64 |

|___________________________________________________________|

SunOS 5.11 Last change: 16 Jan 2006 3




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™