LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1355|回复: 16

请高手指点pci_pool_alloc,pci_pool_free等函数的定义在哪个文件里?

[复制链接]
发表于 2005-4-8 20:26:26 | 显示全部楼层 |阅读模式
请高手指点pci_pool_alloc,pci_pool_free等函数的定义在哪个文件里?
发表于 2005-4-8 22:14:49 | 显示全部楼层
Post by Alpha1981
请高手指点pci_pool_alloc,pci_pool_free等函数的定义在哪个文件里?

$(src)/include/linux/pci.h
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-9 10:59:07 | 显示全部楼层
那里面只有声明啊,我想知道具体的定义在那个文件里
回复 支持 反对

使用道具 举报

发表于 2005-4-10 08:52:40 | 显示全部楼层
Post by Alpha1981
那里面只有声明啊,我想知道具体的定义在那个文件里

你 check 那个文件了吗?pci_pool_alloc只是一个define
#define pci_pool_alloc(pool, flags, handle) dma_pool_alloc(pool, flags,handle)
而具体的dma_pool_alloc出现在
$(src)/drivers/base/dmapool.c
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-10 10:52:44 | 显示全部楼层
我马上去看看
回复 支持 反对

使用道具 举报

发表于 2005-4-10 10:56:14 | 显示全部楼层
给你推荐一个网站
lxr.linux.no
你可以轻松的查到各个符号的定义和引用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-10 11:03:53 | 显示全部楼层
我那里是个声明,不过经过楼上的指示,我找到了他的具体实现在$(SRC)/drivers/pci/pci.c
不过还是不知道到底编译错在什么地方
请楼上的继续指点
先谢谢了
回复 支持 反对

使用道具 举报

发表于 2005-4-10 12:33:10 | 显示全部楼层
编译内核出错?
那你最好贴出出错信息来,否则很难说什么东西出错了
不过一般情况下,你可以看看内核目录树下面的 Documents/Changes文件,看一下你的
gcc , make ,ld之类的版本对不对,因为内核和编译器是同时发展的,版本不match会出错的
还有就是在make menuconfig时多看看帮助,因为有些config选项是有dependence的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-10 13:29:28 | 显示全部楼层
我编译时的错误是
drivers/usb/usbdrv.o(.text+0xb630): In function `alloc_td':
/home/sitsang/linux-2.4.19/drivers/usb/usb-uhci.c:257: undefined reference to `pci_pool_alloc'
drivers/usb/usbdrv.o(.text+0xb820): In function `delete_desc':
/home/sitsang/linux-2.4.19/drivers/usb/usb-uhci.c:368: undefined reference to `pci_pool_free'
drivers/usb/usbdrv.o(.text+0xb844): In function `alloc_qh':
/home/sitsang/linux-2.4.19/drivers/usb/usb-uhci.c:377: undefined reference to `pci_pool_alloc'
drivers/usb/usbdrv.o(.text+0xbb3c): In function `cleanup_skel':
/home/sitsang/linux-2.4.19/drivers/usb/usb-uhci.c:551: undefined reference to `pci_pool_destroy'
drivers/usb/usbdrv.o(.text+0xbc34): In function `init_skel':
/home/sitsang/linux-2.4.19/drivers/usb/usb-uhci.c:577: undefined reference to `pci_pool_create'
make: *** [vmlinux] Error 1
我选种了其中的USB中的"UHCI"
请各位大侠指点,小弟最近也在研究内核源码,不过道行实在很浅
请各位高手指点
回复 支持 反对

使用道具 举报

发表于 2005-4-10 14:01:35 | 显示全部楼层
给你个建议,如果你刚开始,那么你可以先用默认的config编译一边,就是直接
make menuconfig什么都不要改,然后去编译,应该成功,然后在慢慢的修改
你的config,不要一下改变太大,最后搞不清楚哪里的问题。
如果出现一些不解的问题,编译前,最好保存一下你的.config文件,然后make mrproper
清一下源码树,然后再编译
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表