腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
什么是resourceX
linux
内存
mmap接口的字节顺序?
、
、
假设我已经将
PCI
设备连接到
linux
主机。在system中,设备在sys伪文件中可见,我有:用于用户空间访问设备的
pci
内存
bar0的文件。我的问题是这个
内存
的字节顺序是什么(小/大)?
浏览 20
提问于2017-01-30
得票数 1
2
回答
如何防止MMAP缓存值?
、
、
、
、
我编写了一个
linux
驱动程序,该驱动程序将特定设备的
PCI
BAR0导出到sysfs二进制
属性
,允许用户空间直接控制它。当我试图将MMAP放在
属性
的顶部直接访问
内存
位(从用户程序)时,问题就出现了。读取成功并返回期望值,尽管当我写入该
内存
时,它似乎被缓存在内核和
内存
之间,而不是传递给GMCH根复合体(因此也是设备)。我想做的是在每次访问之后都有一个隐式写
内存
屏障。后续行动: 在每次访
浏览 4
提问于2012-03-27
得票数 16
回答已采纳
2
回答
PCIe驱动程序-用户空间如何访问它?
、
、
、
、
我正在为
Linux
编写一个PCIe驱动程序,该驱动程序目前没有DMA,需要知道如何在从用户空间启用PCIe设备后读取和写入它。在驱动程序中,我做了探测()中的基本操作:
pci
_request_regions();但是如何从用户空间访问这个
内存
来进行读写呢?来自
pci
_iomap的
内存
是否显示用户空间代码可以调用的某个位置: open('mapped memory location'
浏览 8
提问于2016-02-08
得票数 7
回答已采纳
1
回答
Linux
驱动程序如何调用UEFI固件提供的功能?
、
、
、
在引导过程中,
Linux
利用UEFI的驱动程序,一旦它有了自己的驱动程序,就会加载交换。 我的问题是,在源代码中这是什么样子的?例如,我正在查看NVMe源代码。我假设一定有一些基于标准的接口由固件公开,
Linux
驱动程序必须调用这些接口吗?(综合消费物价指数?)
浏览 0
提问于2022-11-15
得票数 1
1
回答
Linux
操作系统如何理解底层硬件?
、
、
我想知道
Linux
操作系统是如何理解底层的hardware.Can的。有人建议我从哪里开始理解吗?到目前为止,我只知道'/dev‘子目录在其中起着至关重要的作用。但是,我对
Linux
读取硬件的方式并不满意。 请让我知道从哪里开始理解这一点,我非常感谢任何试图帮助我的人。
浏览 27
提问于2020-01-08
得票数 0
1
回答
Python中的
PCI
总线接口
、
我们有一块板可以连接在主板的
PCI
总线上。我们可以通过板卡的定制软件读取基地址和任何相关信息。通过电路板进行读写是没有任何问题的,这意味着在操作系统级别应该不会有任何问题。实际上,我需要的是一个用python编写的
PCI
总线接口。
浏览 4
提问于2014-10-16
得票数 1
1
回答
在
Linux
驱动程序中向设备添加多个
属性
、
、
、
我目前正在编写我的第一个
linux
驱动程序,试图与
PCI
卡通信。在和这个的帮助下,我能够对我的第一个模块进行编码,并理解和实现基本功能(设备检测、
内存
映射、DMA、MSI)。在下一步中,我希望通过sysfs和设备
属性
的帮助在
PCI
卡的
内存
和用户空间之间建立一个连接。不幸的是,目前我的模块并没有进一步产生一个oops,这就是为什么我想问你。为了向设备添加多个
属性
,我创建它们如下: static DEVICE_ATTR(foo, S_IWUGO | S_IRUGO, sho
浏览 10
提问于2014-08-14
得票数 0
回答已采纳
1
回答
PCIe内核驱动程序DMA写入错误地址
、
、
我目前正在为
Linux
4.19编写一个PCIe内核驱动程序。
pci
_alloc_consistent我还测试了
内存
区域,首先通过CPU将
浏览 5
提问于2020-03-30
得票数 0
2
回答
如何检查系统是否支持64位PCIe解码?
在我的主板手册中,我看到以下BIOS配置 以上4G解码(如果系统支持64位
PCI
解码)选择启用解码
PCI
设备,支持64位以上的空间4G地址。这些选项已启用并禁用。除了检查这个选项是否可用之外,我如何检查我的系统是否支持64位
PCI
解码?
浏览 0
提问于2019-09-19
得票数 2
2
回答
CPU如何知道
PCI
附加空间?
、
、
、
我理解
PCI
和PCIe设备可以由CPU配置(通过BIOS或OS中的代码),通过写入设备配置空间的特定区域来响应特定的物理
内存
地址。事实上,
Linux
内核有相当复杂的算法来完成这一任务,同时考虑到了设备的许多需求(
内存
对齐、DMA功能等)。看到软件似乎控制着是否、何时和哪里映射了这个
内存
,我的问题是:一个软件如何控制物理
内存
的映射?在此配置之后,
PCI
设备将知道响应给定的地址范围,但是CPU如何知道它应该在
PCI
总线上对刚刚被动态决定的特定地址进行响应?
浏览 0
提问于2013-10-27
得票数 5
回答已采纳
1
回答
LinuxKernel4.7 (Arch ARM64)不会在/sys/bus/
PCI
/resource0/*/ for BAR0中创建"resource0“文件。
、
、
、
、
我正在做一个项目,我需要通过
PCI
BAR0从用户空间访问FPGA
内存
。我过去在老内核中所做的工作是打开位于/sys/bus/
pci
/devices/my_device/中的名为resource0的文件,然后使用mmap()函数,该函数向用户空间公开FPGA
内存
。当我使用lspci时,我可以看到系统识别了FPGA的
PCI
条。此外,当我搜索/sys/bus/
pci
/devices/
浏览 9
提问于2016-08-12
得票数 1
回答已采纳
1
回答
谁以及何时分配
PCI
/PCIe设备栏基址?
、
、
我正在寻找内核如何做
PCI
/PCIe枚举和BAR分配。我以为内核会在启动时分配BAR的
PCI
基地址,但当我尝试
pci
早期转储(在内核初始
PCI
子系统之前)查看BAR的值时,我发现所有的基地址都已经分配了!?这是否意味着BIOS执行
PCI
/PCIe枚举和BAR分配?BIOS如何知道每个
pci
设备的基地址并无冲突地分配这些地址?如果是,嵌入式系统(没有BIOS )如何枚举和分配
PCI
/PCIe设备的基地址? 顺便说一下,我的电脑是Ubuntu1
浏览 3
提问于2015-02-03
得票数 5
1
回答
Linux
能利用可移动
内存
吗?
、
部分
pci
-e卡是由https://linustechtips.com/topic/1118940-wtf-is-this-thing-ram-on-a-
pci
-card/制造的。
Linux
能在一个已经有16 in (不可升级)的主机上利用这个额外的16 in吗?对于一个典型的安装,应该做多少调整? 由于用户希望机器“暂停”直到
PCI
再次插入,所以我考虑进入hibernate模式。如果
pci
的
浏览 0
提问于2021-03-30
得票数 1
2
回答
DMA引擎在PowerPC
linux
上不能正确响应。
、
、
、
DMA引擎在PowerPC
linux
上不能正确响应。当我的PCIe设备向主机发送读/写请求时,会发生超时。我在较低的地址范围内有1 1GB的RAM。我调用了以下函数
pci
_set_master()
内存
是在0x0F00_0000上分配的,并且能够从主机的用户空间访问该
内存
。如何调试此问题。
浏览 0
提问于2013-08-05
得票数 0
2
回答
x86_64上的
linux
是如何恢复
内存
映射IO掩盖的“丢失”物理
内存
的?
、
、
、
/proc/iomem表示重要的地址空间映射到
PCI
设备,比如我的方框上的一个视频卡:e0000000-efffffff : 0000:01:00.0,如果我的数学正确的话,它是250 my。在一个只有16 do
内存
的64位桌面上,我猜想
linux
或所有现代内核都可以用一些技巧来恢复物理
内存
的这一部分,但具体是如何做到的呢?一个有点相关的问题--如果northbridge/memory控制器根据某种可编程规则路由
内存
/io访问,例如为了写入
内存
映射
浏览 0
提问于2019-09-12
得票数 2
1
回答
使用mmap访问
PCI
-e
内存
空间
、
、
、
我在飞思卡尔MPC8308处理器(基于PowerPC架构)上使用
PCI
-e端口,在尝试使用它时我遇到了一些问题。端点
PCI
-e设备的
内存
空间等于256 MB.通过使用"pciutils“包,我可以轻松地读写端点设备的配置空间。在配置寄存器中写入正确的值并获得访问
内存
空间的权限之后,我尝试使用C中的"mmap()“函数访问
内存
空间,并使用位于以下位置的文件描述符: "/sys/devices/
pci
0000:00/00
浏览 5
提问于2016-11-03
得票数 6
回答已采纳
2
回答
RTEMS如何获取DMA可访问
内存
、
、
、
、
我正在通过从
Linux
移植以太网卡来实现RTEMS驱动。大部分工作已经完成,处理器IO模式工作正常,以及中断处理。现在我在实现DMA时遇到了问题。具体地说,在我用作基础的
Linux
驱动程序中,使用了dma_alloc_coherent()函数。此函数将返回两个不同的地址:一个是驱动程序代码(主机CPU)将看到的地址,另一个是卡在DMA期间通过
PCI
访问相同
内存
区域的地址。 我在寻找合适的替换函数时遇到了问题。首先,我考虑使用
pci
_
pci
2cpu ()和
pci
_
浏览 3
提问于2016-02-03
得票数 2
1
回答
linux
设备驱动程序与虚拟
PCI
设备的接口
、
、
、
我有一个模拟
PCI
设备的用户空间程序。我已经下载了nvme
linux
设备驱动程序,它使用NVMe标准与
PCI
设备交互。我必须验证我的用户空间程序是否与标准兼容。C(
linux
设备驱动程序)包含nvme_probe()函数,当插入设备时将调用该函数。因为我没有这个设备,所以我想我会在nvme_init()函数中加入探测功能。现在,我已经在互联网上学习了相当多,以了解如何模拟
PCI
设备,例如,我不明白如何将填充的结构
pci
_dev返回到nvme_probe() ofpci_set_drv
浏览 6
提问于2012-12-07
得票数 3
回答已采纳
2
回答
如果我只有设备缓冲区(PCIe)的物理地址,如何将该缓冲区映射到用户空间?
、
、
、
、
如果我只有通过
PCI
-Express栏(基本地址寄存器)映射到设备缓冲区的
内存
缓冲区的物理地址,那么如何将此缓冲区映射到用户空间?来自: unsigned long pfn, unsigned long size, pgpro
浏览 17
提问于2013-11-29
得票数 0
回答已采纳
1
回答
windows设备管理器资源如何对应于
PCI
配置空间六栏
、
、
在windows启动后,我使用windbg检查
PCI
配置空间,以查看六个栏。10: BAR0 d000000c110100000000000000000000000000110018: BAR2 e000000c11100000000000000000000000000000110032位
内存
位置。同时,我打开设备管理器-->设备
属性
-->资源,我得到的是:
内存
范围00000000D000000
浏览 0
提问于2019-07-08
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
供应PCI接口反射内存卡
供应GE反射内存卡PCI-5565PIORC-110000
Linux系统编程 线程属性
图解|Linux内存碎片整理
Linux内存映射mmap原理分析
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
实时音视频
活动推荐
运营活动
广告
关闭
领券