Hi Kyle,

Yes, bge_nic_put32()/bge_reg_get32()/bge_reg_put32() are all defined as
inline functions. This is why you can't set breakpoint against them.

Carson is investigating this issue on a IBM BladeCenter inside SUN.

Regards,
Kerry


Kyle McDonald wrote:
Hi Kerry,

I looked up the bug you filed, hoping to add this to it myself, but I didn't see anyway for me to do that (is bugs.opensolaris.org read-only?)

Anyway, over the weekend I poked this a little more, and I'll admit it's got me stumped.

The disconnect definitely occurs at:

bge_asf_pre_reset_operations()

But looking at the code, I can't tell where. There are calls to 3 functions in that one, but setting break points on those didn't add any info - it appears they were never called? - Or could the calls have been inlined or optimized out by the compiler?

I'm going to have to go read up on how to use kdb, so I can examine the arguments passed to the function, etc.

Thanks for all your help!

 -Kyle

Here's the very end of the output:

...
hid3 is /p...@0,0/pci1014,2...@1d,1/h...@2/dev...@1/in...@1
USB 1.10 interface (usbif4b3,4004.config1.1) operating at full speed (USB 1.x) on USB 1.10 external hub: mo...@1, hid1 at bus address 7
       IBM HIDK/M
hid1 is /p...@0,0/pci1014,2...@1d,1/h...@2/dev...@3/mo...@1
/p...@0,0/pci1014,2...@1d,1/h...@2/dev...@1/in...@1 (hid3) online
/p...@0,0/pci1014,2...@1d,1/h...@2/dev...@3/mo...@1 (hid1) online
PCIE-device: pci1014,2...@1,1, bge1
bge1 is /p...@0,0/pci8086,3...@3/pci8086,3...@0,2/pci1014,2...@1,1
pseudo-device: devinfo0
devinfo0 is /pseudo/devi...@0
Hostname: Einstein03
dump on /dev/zvol/dsk/zroot0/dump size 4096 MB
NIS domain name is Engineering.NIS
Loaded modules: [ lofs ]
kmdb: stop at bge`bge_attach
kmdb: target stopped at:
bge`bge_attach: pushq  %rbp
[2]> [2]>
[2]>
[2]>
[2]> :c
kmdb: stop at bge`bge_asf_pre_reset_operations
kmdb: target stopped at:
bge`bge_asf_pre_reset_operations:       pushq  %rbp
[2]>
[2]>
[2]>
[2]>
[2]>
[2]>
[2]>
[2]> bge_nic_put32:b
[2]> bge_reg_get32:b
[2]> bge_reg_put32:b
[2]>
[2]>
[2]>
[2]> :c
system>



Kyle McDonald wrote:

Hi Kerry,

Maybe this will help even more. I was looking at the driver sources in OpenGrok, and (if I was looking at the same version) I thought I'd set a few more break points. it looks like it's:

bge_attach()->bge_reset()->bge_chip_reset()->bge_asf_pre_reset_operations()

Hope this helps.

 -Kyle

_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to