[laptop-discuss] Re: Undefined Symbols in rtw driver
Masayuki Murayama
KHF04453 at nifty.ne.jp
Wed Oct 18 07:17:16 PDT 2006
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
More information about the laptop-discuss
mailing list