Solaris 10 10/08 Release Notes

hat_getkpfnum() DDI Function Is Obsolete (5046984)

The hat_getkpfnum() DDI function is obsolete. Developers should update their device drivers to not use the hat_getkpfnum() DDI interface. If drivers are using hat_getkpfnum,() warnings similar to the following example are displayed:


WARNING: Module mydrv is using the obsolete hat_getkpfnum(9F)
interface in a way that will not be supported in
a future release of Solaris. Please contact the
vendor that supplied the module for assistance,
or consult the Writing Device Drivers guide,
available from http://www.sun.com for migration
advice.
---
Callstack of bad caller:
       hat_getkpfnum_badcall+93
       hat_getkpfnum+6e
       mydrv_setup_tx_ring+2d
       mydrv_do_attach+84
       mydrv_attach+242
       devi_attach+6f
       attach_node+62
       i_ndi_config_node+82
       i_ddi_attachchild+4a
       devi_attach_node+4b
       devi_attach_children+57
       config_immediate_children+6e
       devi_config_common+77
       mt_config_thread+8b

To determine if a driver is using hat_getkpfnum(), consult the driver source code, or examine the driver's symbols by using nm(). Using the driver mydrv as an example, type the following syntax:


% nm /usr/kernel/drv/mydrv | grep hat_getkpfnum

For guidance about migrating drivers away from hat_getkpfnum(), refer to Appendix B, Summary of Solaris DDI/DKI Services, in Writing Device Drivers.