Sun Java Solaris Communities My SDN Account Join SDN
 
White Paper

Notes on 64-bit Drivers and STREAMS

 

CHAPTER 2

Device Drivers


 
General Conversion Steps
Use Fixed-width Common Access Functions
The Solaris DDI permits device registers to be accessed via access functions for portability to multiple platforms. Previously, the DDI common access functions specified the size of data in terms of bytes, words, and so on. For example, ddi_getl(9F) is used to access 32-bit quantities. This function is not available in the 64-bit DDI environment, and has been replaced by versions that are specified using the number of bits that they manipulate. These routines were added to the 32-bit kernel in the Solaris 2.6 operating environment, to permit their early adoption by driver writers. For example, to be portable to both 32-bit and 64-bit kernels, the driver must use ddi_get32(9F) to access 32-bit data rather than ddi_getl(9F).

The entire set of common access routines is replaced by their fixed-width equivalents. See ddi_get8(9F), ddi_put8(9F), ddi_rep_get8(9F), and ddi_rep_put8(9F).

 

<< Previous | Content | Next >>