lianzi
驱动牛犊
驱动牛犊
  • 注册日期2007-01-18
  • 最后登录2009-08-24
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望135点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
阅读:1700回复:1

LINUX下PCI设备的初始化和映射问题

楼主#
更多 发布于:2008-04-16 17:22
如同你可能希望的, 你不应当离开并开始抨击 I/O 端口而没有首先确认你对这些端口有唯一的权
限. 内核提供了一个注册接口以允许你的驱动来声明它需要的端口. 这个接口中的核心的函数是
request_region:
#include <linux/ioport.h>
struct resource *request_region(unsigned long first, unsigned long n, const char *name);
这个函数告诉内核, 你要使用 n 个端口, 从 first 开始. name 参数应当是你的设备的名子. 如果分配成
功返回值是非 NULL. 如果你从 request_region 得到 NULL, 你将无法使用需要的端口.

在WINDOWS下用DS写WDM PCI驱动,怎么没听说要分配端口,就是用一个KMEMORY,KIORANG 就实现了,内存,IO映射,而且上电时系统自动加载EPPROM的值来初始化PCI设备,


在LINUX下怎么初始化PCI设备啊,还要EEPROM吗,怎么知道一个PCI设备是映射到了那个地址空间
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
沙发#
发布于:2008-06-26 14:56
用户被禁言,该主题自动屏蔽!
游客

返回顶部