Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
C.  Making a Device Driver 64-Bit Ready General Conversion Steps Modify Routines That Handle Data Sharing Data Sharing in mmap()  Previous   Contents   Next 
   
 

Well-known ioctl Interfaces

Many ioctl(9E) operations are common to a class of device drivers. For example, most disk drivers implement many of the dkio(7I) family of ioctl()s. Many of these interfaces copy in or copy out data structures from the kernel, and some of these data structures have changed size in the LP64 data model. The following section lists the ioctls that now require explicit conversion in 64-bit driver ioctl routines for the dkio, fdio(7I), fbio(7I), cdio(7I), and mtio(7I) families of ioctl()s.

ioctl command

Affected data structure

Reference

DKIOCGAPART

DKIOCSAPART

struct dk_map

struct dk_allmap

dkio(4)

DKIOGVTOC

DKIOSVTOC

struct partition

struct vtoc

dkio(4)

FBIOPUTCMAP

FBIOGETCMAP

struct fbcmap

fbio(4)

FBIOPUTCMAPI

FBIOGETCMAPI

struct fbcmap_i

fbio(4)

FBIOSCURSOR

FBIOSCURSOR

struct fbcursor

fbio(4)

CDROMREADMODE1

CDROMREADMODE2

struct cdrom_read

cdio(4)

CDROMCDDA

struct cdrom_cdda

cdio(4)

CDROMCDXA

struct cdrom_cdxa

cdio(4)

CDROMSUBCODE

struct cdrom_subcode

cdio(4)

FDIOCMD

struct fd_cmd

fdio(4)

FDRAW

struct fd_raw

fdio(4)

MTIOCTOP

struct mtop

mtio(4)

MTIOCGET

struct mtget

mtio(4)

MTIOCGETDRIVETYPE

struct mtdrivetype_request

mtio(4)

USCSICMD

struct uscsi_cmd

scsi(4)

Device Sizes

The nblocks property is exported by each slice of a block device driver. It contains the number of 512 byte blocks that each slice of the device can support. The nblocks property is defined as a signed 32-bit quantity, which limits the maximum size of a slice to 1 Tbyte.

Disk devices that provide more than 1 Tbyte of storage per disk must define the Nblocks property, which should still contain the number of 512 byte blocks that the device can support. However, Nblocks is a signed 64-bit quantity, which removes any practical limit on disk space.

The nblocks property is now deprecated; all disk devices should provide the Nblocks property.

 
 
 
  Previous   Contents   Next