fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1351回复:3

如何获得用户地址空间对应的内核地址空间!!!!

楼主#
更多 发布于:2003-06-04 10:48
我在用户程序中通过ioctl中的参数将用户的虚拟地址空间传递到驱动中对应的地方,而在驱动中则必须对内核虚拟地址进行操作,那么如何获得该用户虚拟地址空间的内核虚拟地址空间,有没有和windows类似的处理方法!!thanks!!
有了驱动,人才有了力量。
ken
ken
驱动牛犊
驱动牛犊
  • 注册日期2001-06-09
  • 最后登录2014-07-30
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-11 10:49
put_user(),get_user()在用户与内核空间拷贝数据,并且会验证用户空间地址的有效性。
mmap()直接映射。
看看ldd吧经典的。
ken
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-04 16:52
windows下不就是通过I/O管理器,在用户虚拟地址空间和内核虚拟地址空间之间传输数据。难道 你不认为这两个空间需要数据传输吗!!!如果不这样,用户程序怎样通过驱动读取板卡上的数据。
有了驱动,人才有了力量。
shownxu
驱动小牛
驱动小牛
  • 注册日期2002-02-05
  • 最后登录2008-04-25
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-04 12:16
不理解你的问题,这完全是两个不同的空间,
游客

返回顶部