Garret and Brian, Thank you very much for your replies.
After reading your replies, I checked pci_config_* symbols defined in Solaris10 and Solaris NV kernels. Then I think I understood what happened. Solaris10 32bit kernel: % nm genunix | grep pci_config_ [4141] | 764959| 42|FUNC |GLOB |0 |1 |pci_config_getb [4142] | 765043| 39|FUNC |GLOB |0 |1 |pci_config_getl [7537] | 765082| 39|FUNC |GLOB |0 |1 |pci_config_getll [4140] | 765001| 42|FUNC |GLOB |0 |1 |pci_config_getw [4132] | 765121| 44|FUNC |GLOB |0 |1 |pci_config_putb [4133] | 765209| 42|FUNC |GLOB |0 |1 |pci_config_putl [7423] | 765251| 45|FUNC |GLOB |0 |1 |pci_config_putll [4131] | 765165| 44|FUNC |GLOB |0 |1 |pci_config_putw [7433] | 763196| 81|FUNC |GLOB |0 |1 |pci_config_setup [7031] | 763277| 15|FUNC |GLOB |0 |1 |pci_config_teardown And pci_config_{get,put}{8,16,32,64} functions are defined to corresponding old pci_config_{get}{put}{b,w,l,ll} functions. Solaris nv48 32bit kernel: % nm genunix | grep pci_config_ [8103] | 113884| 28|FUNC |GLOB |0 |2 |i_ddi_get_pci_config_handle [8102] | 113912| 27|FUNC |GLOB |0 |2 |i_ddi_set_pci_config_handle [1832] | 468556| 165|FUNC |LOCL |0 |2 |pci_config_check [7997] | 873056| 38|FUNC |GLOB |0 |2 |pci_config_get16 [7998] | 873096| 38|FUNC |GLOB |0 |2 |pci_config_get32 [7999] | 873136| 38|FUNC |GLOB |0 |2 |pci_config_get64 [4383] | 873016| 38|FUNC |GLOB |0 |2 |pci_config_get8 [4385] | 873352| 38|FUNC |GLOB |0 |2 |pci_config_getb [4386] | 873432| 38|FUNC |GLOB |0 |2 |pci_config_getl [8000] | 873472| 38|FUNC |GLOB |0 |2 |pci_config_getll [4384] | 873392| 38|FUNC |GLOB |0 |2 |pci_config_getw [7878] | 873220| 43|FUNC |GLOB |0 |2 |pci_config_put16 [7879] | 873264| 41|FUNC |GLOB |0 |2 |pci_config_put32 [7880] | 873308| 44|FUNC |GLOB |0 |2 |pci_config_put64 [4372] | 873176| 43|FUNC |GLOB |0 |2 |pci_config_put8 [4374] | 873512| 43|FUNC |GLOB |0 |2 |pci_config_putb [4375] | 873600| 41|FUNC |GLOB |0 |2 |pci_config_putl [7881] | 873644| 44|FUNC |GLOB |0 |2 |pci_config_putll [4373] | 873556| 43|FUNC |GLOB |0 |2 |pci_config_putw [7891] | 872904| 91|FUNC |GLOB |0 |2 |pci_config_setup [7465] | 872996| 19|FUNC |GLOB |0 |2 |pci_config_teardown Therefore, the possible workaround is to replace to ddi_{get}{put}* functions, or to force to use *forward compatibility* by redefining pci_config_{get}{put} {8,16,32,64} functions to corresponding old APIs, i.e. pci_config_{get}{put} {b,w,l,ll} functions think. For 64bit kernels, only pci_config_{get]{put}{8,16,32,64] functions are defined. Workarounds are not required. Thank you very much again. -masa This message posted from opensolaris.org