当前位置: 首页 > news >正文

上海营销网站设计自助网站建设哪家效益快

上海营销网站设计,自助网站建设哪家效益快,网站建设 资讯,vs2015 网站开发教程一、pci_read_config_讲解 这些函数是Linux内核中用于从PCI设备的配置空间读取信息的函数。配置空间是PCI设备的一小块内存#xff0c;它存储了关于该设备的重要信息#xff0c;例如设备ID、供应商ID、中断设置等。 pci_read_config_byte、pci_read_config_word、pci_read_c…一、pci_read_config_讲解 这些函数是Linux内核中用于从PCI设备的配置空间读取信息的函数。配置空间是PCI设备的一小块内存它存储了关于该设备的重要信息例如设备ID、供应商ID、中断设置等。 pci_read_config_byte、pci_read_config_word、pci_read_config_dword函数可以分别读取1个字节、2个字节和4个字节的数据。这些函数是根据读取数据的长度划分的分别对应8位、16位和32位的读取请求。以下是函数的详细中文解释 1. pci_read_config_byte该函数用于从PCI设备的配置空间中读取一个字节8位的数据。    - 参数const struct pci_dev *dev指向代表要访问的PCI设备的pci_dev结构的指针。    - 参数int where指定从哪个偏移地址开始读取数据。    - 参数u8 *val用来存放读取到的数据的字节指针。 2. pci_read_config_word该函数用于从PCI设备的配置空间中读取一个字16位的数据。    - 参数类似于pci_read_config_byte但是u16 *val用于存放读取到的两个字节的数据。 3. pci_read_config_dword该函数用于从PCI设备的配置空间中读取一个双字32位的数据。    - 参数类似于前两个函数但是u32 *val用于存放读取到的四个字节的数据。 在每个函数内部首先调用了pci_dev_is_disconnected来检查对应的PCI设备是否已经断开连接。如果设备已断开连接函数会将参数val的值设置为全10xFF、0xFFFF或0xFFFFFFFF并返回一个错误码PCIBIOS_DEVICE_NOT_FOUND。 如果设备连接正常函数会通过调用pci_bus_read_config_byte、pci_bus_read_config_word或pci_bus_read_config_dword来实际完成数据的读取操作。这些函数将会读取指定的PCI总线上的配置空间数据。 最后EXPORT_SYMBOL宏用于导出符号使得这些函数可以被模块之外的其他模块使用。这是Linux内核模块间通信的常用方法之一。 二、pci_write_config_讲解 这段代码展示了在Linux内核中如何通过PCI(Peripheral Component Interconnect)总线接口来写入PCI设备的配置空间。每段代码中包括一个函数用于把一个字节(u8), 两个字节(u16), 或者四个字节(u32)的值写入到指定的配置寄存器中。 这里是每个函数的中文讲解 1. pci_write_config_byte函数    - 功能将一个字节值(val)写入一个PCI设备的配置空间的特定位置(where)。    - 参数      - const struct pci_dev *dev指向需要操作的PCI设备的指针。      - int where要写入数据的配置空间的偏移地址。      - u8 val要写入的数据的字节值。    - 返回值如果设备没有连接则返回一个错误代码PCIBIOS_DEVICE_NOT_FOUND。如果写入操作成功执行则返回0。 2. pci_write_config_word函数    - 功能与pci_write_config_byte类似但是这个函数写入的是两个字节(16位的数据。    - 参数与pci_write_config_byte相同不过u16 val替代了u8 val。    - 返回值与pci_write_config_byte相同。 3. pci_write_config_dword函数    - 功能与pci_write_config_byte类似但是这个函数写入的是四个字节(32位的数据。    - 参数与pci_write_config_byte相同不过u32 val替代了u8 val。    - 返回值与pci_write_config_byte相同。 在每个函数里首先会检查传入的PCI设备是否处于断开状态pci_dev_is_disconnected(dev)。如果设备已经断开则函数会返回一个错误码PCIBIOS_DEVICE_NOT_FOUND。如果设备处于连接状态它会调用相应的pci_bus_write_config_*函数以写入数据至设备的配置空间。 每个函数的最后一行EXPORT_SYMBOL()是一个宏用于导出这些函数的符号使得其他的内核模块可以在运行时使用这些函数。  三、中文注释 // 读取PCI配置空间的一个字节 int pci_read_config_byte(const struct pci_dev *dev, int where, u8 *val) {// 如果PCI设备已断开连接则设置val为全1并返回设备未找到的错误if (pci_dev_is_disconnected(dev)) {*val ~0;return PCIBIOS_DEVICE_NOT_FOUND;}// 使用pci_bus_read_config_byte函数从PCI总线读取配置return pci_bus_read_config_byte(dev-bus, dev-devfn, where, val); } EXPORT_SYMBOL(pci_read_config_byte);// 读取PCI配置空间的一个字 int pci_read_config_word(const struct pci_dev *dev, int where, u16 *val) {// 如果PCI设备断开连接则设置val为全1并返回设备未找到的错误if (pci_dev_is_disconnected(dev)) {*val ~0;return PCIBIOS_DEVICE_NOT_FOUND;}// 使用pci_bus_read_config_word函数从PCI总线读取配置return pci_bus_read_config_word(dev-bus, dev-devfn, where, val); } EXPORT_SYMBOL(pci_read_config_word);// 读取PCI配置空间的一个双字 int pci_read_config_dword(const struct pci_dev *dev, int where, u32 *val) {// 如果PCI设备断开连接则设置val为全1并返回设备未找到的错误if (pci_dev_is_disconnected(dev)) {*val ~0;return PCIBIOS_DEVICE_NOT_FOUND;}// 使用pci_bus_read_config_dword函数从PCI总线读取配置return pci_bus_read_config_dword(dev-bus, dev-devfn, where, val); } EXPORT_SYMBOL(pci_read_config_dword);// 往PCI配置空间写入一个字节 int pci_write_config_byte(const struct pci_dev *dev, int where, u8 val) {// 如果PCI设备断开连接返回设备未找到的错误if (pci_dev_is_disconnected(dev))return PCIBIOS_DEVICE_NOT_FOUND;// 使用pci_bus_write_config_byte函数向PCI总线写入配置return pci_bus_write_config_byte(dev-bus, dev-devfn, where, val); } EXPORT_SYMBOL(pci_write_config_byte);// 往PCI配置空间写入一个字 int pci_write_config_word(const struct pci_dev *dev, int where, u16 val) {// 如果PCI设备断开连接返回设备未找到的错误if (pci_dev_is_disconnected(dev))return PCIBIOS_DEVICE_NOT_FOUND;// 使用pci_bus_write_config_word函数向PCI总线写入配置return pci_bus_write_config_word(dev-bus, dev-devfn, where, val); } EXPORT_SYMBOL(pci_write_config_word);// 往PCI配置空间写入一个双字 int pci_write_config_dword(const struct pci_dev *dev, int where, u32 val) {// 如果PCI设备断开连接返回设备未找到的错误if (pci_dev_is_disconnected(dev))return PCIBIOS_DEVICE_NOT_FOUND;// 使用pci_bus_write_config_dword函数向PCI总线写入配置return pci_bus_write_config_dword(dev-bus, dev-devfn, where, val); } EXPORT_SYMBOL(pci_write_config_dword); 请注意EXPORT_SYMBOL宏用于导出符号这样其他内核模块就可以调用这些导出的函数。这些函数用于访问PCI设备的配置空间通常包括设备的硬件设置和状态信息。如果设备已断开连接它们会返回一个错误并将输出值设置为特定的值通常是全1即~0。这些函数在Linux内核的PCI支持中十分关键。 具体函数定义drivers\pci\access.c文件中include\linux\pci.h中声明。
http://www.pierceye.com/news/836771/

相关文章:

  • 自己做网站 搜索功能开发企业综合信息服务平台
  • 意大利语网站建设wordpress主题首页显示不全
  • 模板网站免费下载wordpress启用静态
  • 保定网站建设哪家好网站建设实践报告3000字
  • 网站制作项目执行免费制作微网站
  • 西安网站制作费用网站建设小程序开发报价
  • 深圳做针织衫服装的网站软件开发工具手机版
  • 网站域名注册的相关证书证明文件最珠海app
  • 网站规划建设与管理维护大学论文免费个人搭建网站
  • 网站解析时候让做别名企业密信app下载安装
  • 直播网站建设模板网站中文商标域名注册
  • 商务网站建设与管理读后感为什么公司要做网站
  • 高密 网站建设wordpress设置置顶文章
  • 购物京东商城西安官网seo哪家公司好
  • 专门做库存处理的网站沭阳建设网站
  • 建筑必看六个网站门户网站地方生活门户有哪些
  • 江阴 网站开发python基础教程百度亿
  • 邹城网站建设v556本校网站建设
  • 郑州一站式网站搭建北京装饰公司十大排名
  • 网站建设程序代码百度智能创作平台
  • 网上制作网站建立中文网站的英文
  • 网站域名过户查询太原企业网站怎么优化
  • 西安哪些做网站的公司创业平台网站
  • 做网站费用滁州wordpress 快站
  • 上海手机网站制作网站制作最
  • 做一网站APP多少钱网站做照片
  • 会同县做网站设计网站的结构时
  • 行业门户网站制作百度权重是怎么来的
  • 巅云建站as.net 网站开发视频教程
  • 网站开发定制合同在哪个网站可以学做衣服