IOMMU地址映射

这篇具有很好参考价值的文章主要介绍了IOMMU地址映射。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文结合vt-directed-io-spec和内核的实现,对IOMMU的地址映射机制有了基础的认识,在此记录。最开始的原因是之前看ATS时对于first-stage和second-stage的困惑,因为近几年引入了pasid模式,IOMMU的映射机制也看起来复杂了很多,所以对整个映射机制进行了梳理。

一、基础知识

非pasid机制下,传统的IOMMU根据BDF号索引到设备页表的基地址,然后根据设备页表找到HPA,完成一次translation,这称为legacy模式。legacy模式的经典映射流程大家比较熟悉。

IOMMU地址映射,云计算,linux,服务器,Powered by 金山文档

Scalable-iov引入了新的模式称为scalable模式,与legacy模式相对应。scalable-iov的目的也是针对虚机和容器场景,在SR-IOV的基础上进一步扩展了可供主机使用的安全隔离实体的数量。SRIOV是在PF的基础上扩展了VF,每个VF还是有独立的BDF号。而scalable-iov直接修改了TLP报文的格式,TLP报文中增加了pasid字段(最多20位),所以同一个BDF号,可以使用不同的pasid字段区分。对于主机而言,一个PCIE设备,可以分出多达2^20个独立的实体给虚机和容器使用。显然,scalable模式依赖设备侧和主机侧RC硬件的同步支持。

scalable模式的映射机制如下图。

IOMMU地址映射,云计算,linux,服务器,Powered by 金山文档

legacy模式里根据BDF号的映射还是在的,也就是说首先会根据BDF号索引,只是BDF号索引到的并非是页表基地址,而是scalable mode pasid directory的基地址。

由于最多支持65536个pasid,从节省空间的角度考虑,这个pasid表也做成了两级,第一级称为pasid目录,负责PASID【19:6】的一级映射;第二级称为pasid table,负责PASID【5:0】的二级映射。

PASID Table里的PASID ENTRY指向的就是【BDF+PASID】完整索引到的PASID表项。文章来源地址https://www.toymoban.com/news/detail-695965.html

到了这里,关于IOMMU地址映射的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux服务器中查询IP地址五个方法

    在网络上查找IP地址的基本方法是手动网络扫描--自己使用原生操作系统功能扫描网络。而保证连接安全的基本方法是通过使用10.0.0.1路由器登录指南、用户名和密码。使用现代windows操作系统中的IP地址查询工具进行IP地址查询,最常用的行使方法是以下五种命令。 1、PING 使用

    2023年04月08日
    浏览(49)
  • Linux服务器(银河麒麟、CentOS 7+ 等)修改IP地址

    打开终端或控制台,以root或具有sudo权限的用户身份登录。 根据你的Linux发行版和网络管理工具的不同,相应的命令可能略有不同。使用以下命令编辑网络配置文件,例如eth0网卡的配置文件: 注意:ifcfg-eth0 可能会有不同的命名,根据实机情况确认。 在编辑器中,找到以\\\"I

    2024年02月02日
    浏览(44)
  • Linux服务器(银河麒麟、CentOS 7+、CentOS 7+ 等)修改IP地址

    打开终端或控制台,以root或具有sudo权限的用户身份登录。 根据你的Linux发行版和网络管理工具的不同,相应的命令可能略有不同。使用以下命令编辑网络配置文件,例如eth0网卡的配置文件: 注意:ifcfg-eth0 可能会有不同的命名,根据实机情况确认。 在编辑器中,找到以\\\"I

    2024年02月07日
    浏览(48)
  • 计算机网络 day4 IP地址的两部分-A、B、C、D、E五类IP地址-私有地址-子网掩码-DNA服务器-域名解析服务

    目录 三创网络拓扑结构图:  普通家庭网络拓扑结构图:(也可以直接使用 子母路由器 (母:无线路由器)(子:信号放大器、中继器)) 网络层:(network layer) 搜索IP地址所在地:iP地址查询--手机号码查询归属地 | 邮政编码查询 | iP地址归属地查询 | 身份证号码验证在

    2024年02月01日
    浏览(54)
  • 服务器出现Address already in use(地址占用)错误怎么处理——【Linux】

    首先出现这种问题的原因是因为服务器频繁调用,导致前一个服务器运行没有完全结束,地址被占用,下一次调用该地址时候,显示地址被占用了。 这里提供两个方法: 第一个方法 第一个方法也就是最蠢的方法就是关闭终端后,等待几分钟后,出现打开终端然后运行服务器

    2024年02月07日
    浏览(49)
  • 如何在 IDEA 中设置远程连接服务器开发环境并实现固定地址远程 Linux 环境

    本文主要介绍如何在IDEA中设置远程连接服务器开发环境,并结合Cpolar内网穿透工具实现无公网远程连接,然后实现远程Linux环境进行开发。 IDEA的远程开发功能,可以将本地的编译、构建、调试、运行等工作都放在远程服务器上执行,而本地仅运行客户端软件进行常规的开发

    2024年02月05日
    浏览(56)
  • WSL win11下 Linux 子系统安装 无法解析服务器的名称或地址

    想在win11上部署docker于是乎找到wsl,可是在powershell上安装总是报 无法解析服务器的名称或地址 的错误 网上冲浪一般解决方案为手动修改DNS 114.114.114.114 8.8.8.8,可我改完之后依旧报错。 在某次冲浪中,发现上述错误是由于 raw.githubusercontent.com 无法访问,于是手动添加hosts,问

    2024年02月11日
    浏览(127)
  • 【等保测评】云计算&Linux服务器(一)

    Linux是指UNIX克隆或类UNIX风格的操作系统,在源代码级别兼容绝大部分UNIX标准(IEEE POSIX, System V, BSD),是一种支持多用户、多进程、多线程的实时性较好且功能强大而稳定的操作系统。 Linux服务器的等级测评主要涉及六个方面的内容,分别是 身份鉴别、访问控制、安全审计、入侵

    2024年02月13日
    浏览(45)
  • Linux【安全 01】云服务器主机安全加固(修改SSHD端口、禁用登陆失败的IP地址、使用密钥登录)

    修改SSHD的默认端口,它可以抵御一些简单的密码暴力破解脚本。 查看登录失败的IP地址 通过下面的命令将这些登陆失败的IP加入服务器访问限制名单【失败次数最多的10个IP】 使用SSH密钥,并禁用密码登录,以MobaXterm为例进行说明。 以下命令在本机上执行(Windows) 使用Mob

    2024年02月05日
    浏览(64)
  • 【科普+技术】Linux服务器被占用大量资源,用三大网站排查ip地址和初步处理挖矿病毒

    五星红旗在bg飘扬——中国黑客的复仇 这里的“挖矿”只是个说法不是拿着锄头进矿洞,是指一段时间内在比特币系统中发生的交易进行确认,并记录在 区块链 上,形成新的区块,而挖矿的人叫作 矿工 。比特币系统的记账权利是去中心化的,即每个矿工都有记账的权利,只

    2023年04月15日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包