资讯详情

4.3.5 CPU 访问:vmap、mmap 与缺页处理

📅 2026/10/22 1:50:04 | 华诺云谱 👁 阅读
4.3.5 CPU 访问:vmap、mmap 与缺页处理
4.3.4 说明了设备侧如何获取页与 sg 表。本节转向 CPU 侧,对应 4.3 的需求 N3,依次讨论内核态如何读写 BO(vmap)、用户态如何将 BO 映射到自身地址空间(mmap),以及映射后发生缺页时 helper 如何将页插入页表(vm_ops.fault)。本节的主线如下:vmap为内核提供一段连续虚拟地址;mmap先将页全部换入,但仅建立页表为空的映射,待 CPU 访问触发缺页时,再由缺页回调将pages[]中的页逐个插入页表。1、vmap:内核态的连续映射内核代码有时需要直接读写 BO,例如由 CPU 填充帧缓冲。然而 4.3.4 获取的pages[]在物理上是分散的,内核需要一段连续虚拟地址。drm_gem_shmem_vmap_locked即用于此:intdrm_gem_shmem_vmap_locked(structdrm_gem_shmem_object/
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑