PCI子系统

news2024/9/30 3:30:27

很多网络接口卡都是外围组件互联(Peripheral Compaonent Interconnect)设备,必须与Linux PCI子系统协同工作,并非所有的网络接口都是PCI设备,很多嵌入式设备的网络接口连接的就不是PCI总线,这些设备的初始化合处理方式不同。
Linux PCI子系统中,PCI设备用pci_device_id对象标识:
include/linux/mod_devicetable.h

struct pci_device_id {
	__u32 vendor, device;		/* 厂商和设备ID or PCI_ANY_ID*/
	__u32 subvendor, subdevice;	/* 子系统ID or PCI_ANY_ID */
	__u32 class, class_mask;	/* (class,subclass,prog-if) triplet */
	kernel_ulong_t driver_data;	/* 驱动程序私有数据 */
};

pci-x2.0和PCIE总线包括扩展空间,大小为4096字节。要读取PCI配置空间和扩展空间,可使用lspci,它事pciutils中的一个实用程序。
pcie常用命令
3.
Linux PCI API提供3个读取配置空间的方法,粒度分别为8位16位和32位。
pci_read_config_byte()
pci_read_config_word()
pci_read_config_dword()
Linux PCI API提供3个写入配置空间的方法,粒度分别为8位16位和32位。
pci_write_config_byte()
pci_write_config_word()
pci_write_config_dword()
4.
每个PCI设备驱动都声明一个pci_driver对象
在这里插入图片描述
PCI设备
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/375144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习 Python 之 Pygame 开发魂斗罗(六)

学习 Python 之 Pygame 开发魂斗罗(六)继续编写魂斗罗1. 创建碰撞类2. 给地图添加碰撞体3. 让人物可以掉下去4. 实现人物向下跳跃5. 完整的代码继续编写魂斗罗 在上次的博客学习 Python 之 Pygame 开发魂斗罗(五)中,我…

单例模式之饿汉、懒汉模式

目录 1.单例模式 1.1 饿汉模式 1.2 懒汉模式 1.单例模式 单例模式能保证类在程序中只存在唯一一份实例.这一点在很多场景中都需要,比如JDBC中的DataSource实例就只需要一个. 单例模式具体的是实现方法主要有两种:饿汉模式和懒汉模式. 1.1 饿汉模式 饿汉摸模式是指,在类加…

多模态推荐系统综述

推荐系统(RS)已经成为在线服务不可或缺的工具。它们集成了各种深度学习技术,可以根据标识符和属性信息对用户偏好进行建模。随着短视频、新闻等多媒体服务的出现,在推荐的同时了解这些内容变得至关重要。此外,多模态特征也有助于缓解RS中的数…

我的 System Verilog 学习记录(6)

引言 本文简单介绍 SystemVerilog 语言的 线程。 前文链接: 我的 System Verilog 学习记录(1) 我的 System Verilog 学习记录(2) 我的 System Verilog 学习记录(3) 我的 System Verilog 学…

Redis之数据类型详解分析

文章目录1 Redis1.1 概述1.2 查看内部编码1.3 String字符串1.3.1 简介1.3.2 应用常景1.3.3 String内部编码1.4 Hash散列1.4.1 简介1.4.2 应用常景1.4.3 Hash内部编码1.4.4 rehash和渐进式rehash操作1.4.4.1 过程1.4.4.2 rehash触发条件1.4.5 跟JDK的HashMap的区别1.5 List列表1…

kibana搭建(windowslinux)

1.说明 搭建kibana方便查询es库,本文分别对windows和linux版本进行安装,因为es集群版本是7.4.1,所以配套的kibana也是选择相同版本 2.下载 https://artifacts.elastic.co/downloads/kibana/kibana-7.4.1-windows-x86_64.zip https://artifact…

newbing的注册使用

newbing是一款全新的智能搜索引擎,它可以帮助你快速、准确地找到你想要的信息,还可以与你进行友好、有趣的对话。newbing不仅拥有强大的搜索功能,还具备创造性和逻辑性,可以为你生成诗歌、故事、代码、歌词等各种内容。newbing还可…

FastDDS-1.开始

开始 这一节定义了DDS和RTPS的概念,也提供了一个逐步讲解的教程,这个教程中讲解了如何开发一个简单的FastDDS发布订阅应用程序。 1.1 什么是DDS DDS是一个以数据为中心的通信一些,主要用在分布式软件的通信领域。它定义了应用程序的通信API…

一文搞懂Python时间序列

Python时间序列1. datetime模块1.1 datetime对象1.2 字符串和datatime的相互转换2. 时间序列基础3. 重采样及频率转换4. 时间序列可视化5. 窗口函数5.1 移动窗口函数5.2 指数加权函数5.3 二元移动窗口函数时间序列(Time Series)是一种重要的结构化数据形…

【一】kubernetes集群部署

一、docker环境搭建 1、移除以前docker相关包 sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine2、配置yam源 sudo yum install -y yum-utilssudo yum-config-manager --ad…

原始GAN-pytorch-生成MNIST数据集(代码)

文章目录原始GAN生成MNIST数据集1. Data loading and preparing2. Dataset and Model parameter3. Result save path4. Model define6. Training7. predict原始GAN生成MNIST数据集 原理很简单,可以参考原理部分原始GAN-pytorch-生成MNIST数据集(原理&am…

LightningChart .NET 10.4.1 NEW Crack

实时监控,无闪烁或延迟 完整的数据准确性,无需减少数据点 屏幕上的更多数据 更好的图形质量 响应式用户界面。鼠标或触摸屏操作将立即更新图表,并为其他 UI 控件释放处理器时间以继续操作 Visual Studio Marketplace 中最受欢迎的 .NET 图表控…

全新后门文件Nev-3.exe分析

一、 样本发现: 蜜罐 二、 内容简介: 通过公司的蜜罐告警发现一个Nev-3.exe可执行文件文件,对该样本文件进行分析发现,该可执行程序执行后会从远程服务器http://194.146.84.2:4395/下载一个名为“3”的压缩包,解压后…

数据结构与算法——3.时间复杂度分析1(概述)

前面我们已经介绍了,研究算法的最终目的是如何花费更少的时间,如何占用更少的内存去完成相同的需求,并且也通过案例演示了不同算法之间时间耗费和空间耗费上的差异,但我们并不能将时间占用和空间占用量化。因此,接下来…

【经验总结】10年的嵌入式开发老手,到底是如何快速学习和使用RT-Thread的?

【经验总结】一位近10年的嵌入式开发老手,到底是如何快速学习和使用RT-Thread的? RT-Thread绝对可以称得上国内优秀且排名靠前的操作系统,在嵌入式IoT领域一直享有盛名。近些年,物联网产业的大热,更是直接将RT-Thread这…

Redis | 安装Redis和启动Redis服务

目录 一、Redis简介 1.1 简介 二、Redis安装 2.1 Windows安装Redis 2.2 Linux安装Redis 三、Redis服务启动和停止 3.1 Windows启动Redis服务 3.2 Linux启动Redis服务 四、Redis设置密码远程连接 4.1 为Redis登陆设置密码 4.2 设置Redis允许远程连接 五、Redis常…

STM32CubeMX按键模块化 点灯

本文代码使用 HAL 库。 文章目录前言一、按键原理图二、CubeMX 创建工程三、代码讲解:1. GPIO的输入HAL库函数:2. 消抖:3. 详细代码四,实验现象:总结前言 我们继续讲解 stm32 f103,这篇文章将详细 为大家讲…

哪个品牌蓝牙耳机性价比高?性价比高的平价蓝牙耳机推荐

现如今,随着蓝牙技术的进步,蓝牙耳机在人们日常生活中的便捷性更胜从前。越来越多的蓝牙耳机品牌被大众看见、认可。那么,哪个品牌的蓝牙耳机性价比高?接下来,我给大家推荐几款性价比高的平价蓝牙耳机,一起…

Idea启动遇到 Web server failed to start. Port 8080 was already in use. 报错

Idea启动遇到问题-记录 报错英文提示: APPLICATION FAILED TO START Description: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to liste…

《C++模板进阶》

致前行的人: 要努力,但不要着急,繁花锦簇,硕果累累都需要过程! 目录 前言: 1.非类型模板参数 1.1.概念: 1.2.使用注意事项 2.模板特化 2.1函数模板特化 2.2类模板特化 3.模板的分离编译 3.1什么…