阅读:1593回复:3
急!大侠们进来看看咋回事?
linux下在amd机器上跑U盘和ACPI测试导致的当机,现象如图,请看看给点提示问题在哪,不胜感谢!
|
|
沙发#
发布于:2007-05-23 18:49
ding
|
|
|
板凳#
发布于:2007-05-23 19:18
根据信息似乎是这里出现了问题:
case 4: __asm__("lcall *(%%esi); cld\n\t" "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" : "=c" (*value), "=a" (result) : "1" (PCIBIOS_READ_CONFIG_DWORD), "b" (bx), "D" ((long)reg), "S" (&pci_indirect)); break; } spin_unlock_irqrestore(&pci_config_lock, flags); return (int)((result & 0xff00) >> 8); } 也就是在读pci设备参数的时候发生了错误。这个在smp多核上是不是存在锁的问题啊,乱猜得。重要是能够找到pci_bios_read+0xa4的地址。这可通过gdb调试内核得到具体出现问题的位置。不过eip的地址有些奇怪,那么最有可能就是spin_unlock_irqrestore释放锁出现了问题,那么有可能一些参数传进来有问题,修改了flag,不知道了。 最终结果:找到你应用空间调用read的地方,看看参数是否正确。 |
|
|
地板#
发布于:2007-05-24 10:22
谢谢版主的分析,我正在调试。找问题原因。
|
|