为什么需要uio?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
chengshuyi
帖子: 20
注册时间: 2018-10-18 10:18
系统: ubuntu16

为什么需要uio?

#1

帖子 chengshuyi » 2018-11-14 16:33

我的网卡是通过pci总线与cpu通信的,网卡的配置和I/O空间会通过pci总线给linux,然后linux在/sys/bus/pci/devices/0000:00:00.0目录创建虚拟文件。如所示:

代码: 全选

broken_parity_status  consistent_dma_mask_bits  d3cold_allowed  driver           firmware_node  local_cpus      max_vfs   numa_node  rescan    resource0     resource4     subsystem         uevent  vpd
class                 current_link_speed        device          driver_override  irq            max_link_speed  modalias  power      reset     resource2     resource4_wc  subsystem_device  uio
config                current_link_width        dma_mask_bits   enable           local_cpulist  max_link_width  msi_bus   remove     resource  resource2_wc  revision      subsystem_vendor  vendor
包括了resource resource0 resource2 resource2_wc resource4 resource4_wc,其中

1. resource包括了256byte pci的配置空间和bar的信息。
2. 通过mmap resource2_wc和resource0等等,就可以访问和修改网卡寄存器

UIO的作用是把网卡寄存器映射到用户空间。

问题:

通过直接mmap resourcex相应的文件,就可以访问网卡寄存器,为什么还要UIO?
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: 为什么需要uio?

#2

帖子 astolia » 2018-11-14 19:17

能处理pci设备的中断信号吗?如果是个usb接口的网卡,又该mmap哪个文件?
chengshuyi
帖子: 20
注册时间: 2018-10-18 10:18
系统: ubuntu16

Re: 为什么需要uio?

#3

帖子 chengshuyi » 2018-11-14 20:17

astolia 写了: 2018-11-14 19:17 能处理pci设备的中断信号吗?如果是个usb接口的网卡,又该mmap哪个文件?
:Adore 谢谢
回复