为什么不能使用 ioremap 然后使用 remap_pfn_range?

2024-01-29

在我的驱动程序中,我试图映射从返回的地址ioremap到用户空间地址。

  1. 返回什么样的地址ioremap?
  2. 它与一个有什么不同kmalloc地址 ?
  3. 如何映射从返回的地址ioremap?
  4. 应插入哪个地址remap_pfn_range?

你不需要ioremap()如果你正在使用remap_pfn_range(). ioremap()将物理地址映射到内核虚拟地址。remap_pfn_range()将物理地址直接映射到用户空间。只需将您的物理地址(通过 PAGE_SHIFT 下移以生成 pfn)直接传递到remap_pfn_range()。您的问题按顺序排列:

  1. 内核虚拟地址
  2. kmalloc 返回内核虚拟,但保证连续内存参见问题116343 https://stackoverflow.com/questions/116343/what-is-the-difference-between-vmalloc-and-kmalloc
  3. 如果你打电话你可以这样做virt_to_phys()首先,将内核虚拟地址转换为物理地址。但如果您实际上不需要内核访问此内存范围,请跳过这一步
  4. 物理地址,通过 PAGE_SHIFT 下移以产生 pfn
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么不能使用 ioremap 然后使用 remap_pfn_range? 的相关文章

  • Mono 无法保存用户设置

    我在 Mono Ubuntu 上保存用户设置时遇到问题 这是代码示例 private void Form1 Load object sender EventArgs e string savedText Properties Setting
  • 在 C++ 中分割大文件

    我正在尝试编写一个程序 该程序接受一个大文件 任何类型 并将其分成许多较小的 块 我想我已经有了基本的想法 但由于某种原因我无法创建超过 12 kb 的块大小 我知道谷歌等上有一些解决方案 但我更感兴趣的是了解这个限制的根源是什么 然后实际
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • 为什么密码错误会导致“填充无效且无法删除”?

    我需要一些简单的字符串加密 所以我编写了以下代码 有很多 灵感 来自here http www codeproject com KB security DotNetCrypto aspx create and initialize a cr
  • 如何用 kevent() 替换 select() 以获得更高的性能?

    来自Kqueue 维基百科页面 http en wikipedia org wiki Kqueue Kqueue 在内核和用户空间之间提供高效的输入和输出事件管道 因此 可以修改事件过滤器以及接收待处理事件 同时每次主事件循环迭代仅使用对
  • gdb 在 docker 上立即退出“进程已完成,退出代码 1”或 lldb“数据包返回错误 8”。另外:如何在 docker 中允许进行 C++ 调试

    这花了我一整天的时间才找到 所以我将其发布以供将来参考 我正在 docker 镜像上开发 C 我正在使用克利翁 我的代码是在调试模式下编译的 并且在运行模式下运行良好 但是当尝试调试时 进程会立即退出 并显示非常丰富的信息 Process
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • “MyClass”的类型初始值设定项引发异常

    以下是我的Windows服务代码 当我调试代码时 我收到错误 异常 CSMessageUtility CSDetails 的类型初始值设定项引发异常 using System using System Collections Generic
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 通过等待任务或访问其 Exception 属性都没有观察到任务的异常

    这些是我的任务 我应该如何修改它们以防止出现此错误 我检查了其他类似的线程 但我正在使用等待并继续 那么这个错误是怎么发生的呢 通过等待任务或访问其 Exception 属性都没有观察到任务的异常 结果 未观察到的异常被终结器线程重新抛出
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 无法使用 Ninject 将依赖项注入到从 Angular 服务调用的 ASP.NET Web API 控制器中

    我将 Ninject 与 ASP NET MVC 4 一起使用 我正在使用存储库 并希望进行构造函数注入以将存储库传递给其中一个控制器 这是实现 StatTracker 接口的上下文对象 EntityFramework public cla
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12

随机推荐

  • 从字典中删除项目的最佳方法[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在 Python 中 至少有两种方法可以使用键从字典中删除项目 d keyA 123 keyB 456 keyC 789 remove via
  • p4python:从仓库获取 diff2

    我想检索下一个命令的输出 其中 p4 是标准 perforce 客户端 p4 diff2 depot 1 depot 2 在终端中它会产生如下内容 depot bin build sh 1 xtext depot bin build sh
  • PHP 和 mySQL:2038 年错误:这是什么?怎么解决呢?

    我正在考虑使用 TIMESTAMP 来存储日期 时间 但我读到它有 2038 年的限制 我不喜欢批量提出问题 而是更愿意将其分成小部分 以便新手用户也很容易理解 所以我的问题是 2038年问题到底是什么 为什么会发生以及发生时会发生什么 我
  • 安装 NumPy

    我有 Windows Vista 并运行 Python 2 7 我在安装一些 Python 库 包括 NumPy SciPy 和 pygame 时遇到问题 我目前正在尝试将 NumPy 文件直接复制到我的计算机 C numpy 然后将文件解
  • 如何使用 angular2 和 typescript 在我的视图中获取指定的 htmlelement

    我面临一个问题 我想在 angular2 的视图中获取 htmlelement 这是我的观点 p p
  • 自调用函数 jQuery [重复]

    这个问题在这里已经有答案了 我注意到在某些地方 jQuery 代码被包装在一个自调用函数中 如下所示 为什么要这样做 在什么情况下这是有用的 在什么情况下是不必要的样板 function jQuery 简短的回答 防止变量名冲突 它并不总是
  • TouchesMoved 与 UIButton xcode 4.4 iOS 5.1.1

    我知道这个问题似乎已经被提出和回答 但我无法解决我的问题 我想移动视图中的对象以跟随手指的水平滑动 转到上一页或下一页 为此 我使用 TouchesBegan TouchesMoved 和 TouchesEnded 方法 当触摸开始于视图背
  • 获取通过ajax上传的文件的文件名

    我的问题很简单 我正在用 php 编写一个上传器类 并决定包含对 ajax 上传的支持 使用 Firefox 我检测到发送了标头 X File Name 我正在使用第 3 方 javascript 库进行上传 它将查询字符串中的文件名发送到
  • 如何防止用户调整我网站上的字体大小?

    如何防止用户调整我网站上的字体大小 事实上 出于可访问性的原因 您应该允许调整字体大小
  • NodeJS Crypto 加密到前端 javascript 解密

    我正在寻找 AES256 CBC 解密客户端 在nodeJS中我使用这个函数来加密 exports encrypt function txt cryptkey var cipher crypto createCipher aes 256 c
  • Visual Studio 设计器 - 限制属性网格以显示语言属性的某些特定语言

    我正在 Visual Studio 2013 C 中进行开发 并正在寻找一种方法来使 Windows 窗体的语言选择更容易本地化 在设计器中 您可以在 下选择您想要的语言 Design Language如果您需要新的本地化表单 Visual
  • 指定键盘快捷键来运行程序

    当我在 VBA 编辑器中按 F5 时 我总是想运行我的 Sub Skynet 程序 有没有办法为此过程分配键盘快捷键 根据微软的文档 http office microsoft com en us excel help run a macr
  • 连续触发光线投射测试

    下列的这个答案 https stackoverflow com a 54901850 3405291 我正在进行连续的光线投射 m rayCaster new Qt3DRender QRayCaster m scene gt rootEnt
  • 在 .net MVC 中渲染列表的子列表

    我仍在学习 net MVC 也许没有正确搜索我需要找到解决方案的内容 简而言之 我在数据库中有一个表 其结构如下 ID Category Subcategory FK 所以每个类别可能会出现多次 每个子类别也是如此 这是该类别所独有的 我想
  • 想要在我的按钮单击事件上使用 ajax 多个文件上传

    这是我的 aspx 页面代码
  • 锚链接着陆位置错误

    可能是一个愚蠢的问题 但老实说我无法理解这里出了什么问题 http harrisonfjord com thinkinc http harrisonfjord com thinkinc 我目前正在建设的网站 我想在以下位置创建一个锚链接ht
  • iOS 11 上的编程式 begin Refreshing() 在使用 largeTitles 模式时存在问题

    我们发现 UIKit 中似乎有一个错误 但想在这里发帖看看其他人是否也遇到这个问题或找到解决方案 我们正在尝试使用新的 iOS11 大标题和提升的搜索栏 刷新控件 我们似乎发现了一个问题 导航堆栈的根视图控制器显示了一个小显示问题 问题 A
  • Python 初学者。这段 Python 代码是否尽可能高效?

    这个问题 解决方案让我想到了另一个相关问题here https stackoverflow com questions 4997859 calculate a running total during a for loop python 帮
  • 通过axios访问响应头

    我正在使用 Axios 对 API 进行安全的 POST 调用 这会在 位置 下的响应标头中返回一个 URL 我可以看到 Chrome 的开发工具中填充了 URL 但 Axios 的 JS 响应 如下 不包含以下信息 任何建议都非常收到 发
  • 为什么不能使用 ioremap 然后使用 remap_pfn_range?

    在我的驱动程序中 我试图映射从返回的地址ioremap到用户空间地址 返回什么样的地址ioremap 它与一个有什么不同kmalloc地址 如何映射从返回的地址ioremap 应插入哪个地址remap pfn range 你不需要iorem