编写设备驱动程序

使用固定宽度的公共访问函数

Solaris DDI 允许通过访问函数访问设备寄存器,以便可在多个平台间移植。DDI 公共访问函数以前以字节和字等单位指定数据大小。例如,ddi_getl( 9F) 用于访问 32 位。此函数不存在于 64 位 DDI 环境中,且已被替换为可指定要处理的位数的函数版本。

这些例程已添加到 Solaris 2.6 操作环境的 32 位内核中,以允许驱动程序编写人员采用其早期版本。例如,要在 32 位和 64 位内核间进行移植,驱动程序必须使用 ddi_get32(9F) 而不是 ddi_getl(9F) 来访问 32 位数据。

所有公共访问例程都被替换为其固定宽度的对等例程。有关详细信息,请参见 ddi_get8(9F)、ddi_put8(9F)、 ddi_rep_get8(9F) 和 ddi_rep_put8(9F) 手册页。