当前位置: 首页 > article >正文

[qemu+kvm]: vfio调用流程

透传pcie设备全流程QEMU测vfio_realize--vfio_get_group-open(/dev/vfio/group id)-进入内核态-vfio_group_fops_open//分配group filep-private_data group;注意/dev/vfio/group id 对应vfio_group_fops 设置groups/dev/vfio/vfio 对应vfio_fops,设置container vfio_device_fops是对应device的需要通过group获取fd;ioctl(group-fd,VFIO_GROUP_GET_STATUS,status)--进入内核态-vfio_group_fops_unl_ioctl-//判断multifunc设备是否所有设备在一个groupvfio_connect_container--首次进入设置containeropen(/dev/vfio/vfio)-进入内核态--vfio_fops_open// 申请、标记container为file私有数据ioctl(fd,VFIO_GET_API_VERSION)-进入内核态--vfio_fops_unl_ioctl//检查API version在这里插入代码片vfio_init_container-vfio_get_iommu_type-ioctl(container-fd,VFIO_CHECK_EXTENSION,iommu_types[i])-进入内核态--vfio_fops_unl_ioctl//首次返回NULL 因为此时vfio_iommu_driver还没注册ioctl(group_fd,VFIO_GROUP_SET_CONTAINER-进入内核态--vfio_group_fops_unl_ioctl-//将group 加入container完成两者绑定-attach_group--vfio_iommu_driver_ops_type1--vfio_iommu_type1_attach_group-//为group的vfio_domain申请iommu_domain将group加入iommu domain-iommu_domain_alloc--arm_smmu_domain_alloc-iommu_domain_set_attr-iommu_domain_set_attr//设置arm_smmu_domain stage为nesting-vfio_iommu_attach_group-arm_smmu_attach_dev//将dev对应的sid stage 2 stage 1 的smmu表项初始化注意此时已有master master是host上电iommu bus创建的稍后讲解。-做一些special操作等具体不讲解-iommu_domain_get_attr-msi.....ioctl(container-fd,VFIO_SET_IOMMU-进入内核态--vfio_fops_unl_ioctl--vfio_iommu_type1_open-分配vfio_iommu-和上面的流程一样 二选一-ioctl(group-fd,VFIO_GROUP_GET_DEVICE_FD)获取具体设备的fd-进入内核态--vfio_group_get_device_fd,返回一个fd并且fd和vfio_device_fops绑定-ioctl(fd,VFIO_DEVICE_GET_INFO,dev_info);-进入内核态-vfio_pci_ioctl//获取region、irq信息vfio_region_setup(--ioctl(vbasedev-fd,VFIO_DEVICE_GET_REGION_INFO)-vfio_pci_ioctl//获取region信息-vfio_populate_vga//对dc特殊处理-vfio_init_fault_regions//对fault region特殊处理fault region 是纯软件规划的region-ioctl(vdev-vbasedev.fd,VFIO_DEVICE_GET_IRQ_INFO)// 获取irq信息-pread(vdev-vbasedev.fd,vdev-pdev.config 读取config空间 qemu留一份备份

相关文章:

[qemu+kvm]: vfio调用流程

透传pcie设备全流程: QEMU测:vfio_realize->-> vfio_get_group->open("/dev/vfio/group id")-> 进入内核态->vfio_group_fops_open //分配group, filep->private_data group;注意:/dev/vfio/group …...

2026数字营销岗位需要具备的能力有哪些

数字营销这几年变化很快,到了2026年,岗位要求已经不再只是“会投放、会写文案、会做表格”这么简单了。很多职场人都能明显感觉到:过去靠经验拍脑袋做营销,越来越难;未来真正有竞争力的人,往往是那些既懂业…...

终极QRazyBox指南:免费在线修复损坏二维码的完整教程

终极QRazyBox指南:免费在线修复损坏二维码的完整教程 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 你是否遇到过重要二维码因为打印模糊、水渍污损或物理磨损而无法扫描的困扰&a…...

AI大模型推理并行策略:DP、TP、PP、SP、EP的基本原理

在做大模型推理部署的时候,经常会碰到模型参数量太大,一块GPU的显存装不下,或者单块GPU的算力跟不上推理速度的情况,这时候就需要用并行策略来解决这些问题。 因为计算的流程不一样,推理和训练用到的并行策略在实现上也不一样。 这篇文章就是帮大家快速搞懂常见并行策略…...

美联储加息降息,如何牵动美黄金价格?

在国际金融市场中,美联储的加息、降息政策,是影响美黄金价格最核心的因素之一。很多普通投资者看不懂复杂术语,小编将从机会成本、美元强弱、市场预期三个关键点,让大家轻松看懂金价涨跌逻辑。黄金本身是无息资产,不会…...

终极解决方案:在Chrome浏览器中实现密码无缝同步

终极解决方案:在Chrome浏览器中实现密码无缝同步 【免费下载链接】ChromeKeePass Chrome extensions for automatically filling credentials from KeePass 项目地址: https://gitcode.com/gh_mirrors/ch/ChromeKeePass 你是否厌倦了每次登录网站时都要手动从…...

OpenRPA完全指南:免费开源的企业级RPA自动化终极方案

OpenRPA完全指南:免费开源的企业级RPA自动化终极方案 【免费下载链接】openrpa Free Open Source Enterprise Grade RPA 项目地址: https://gitcode.com/gh_mirrors/op/openrpa OpenRPA是一款免费开源的企业级RPA(机器人流程自动化)软…...

13个 AI Agent 的基础概念

1、AgentAgent依靠大语言模型作为核心,同时拥有任务规划、信息记忆以及工具调用三大能力,能够自行拆分繁杂任务,反复执行操作,接收实时反馈并一步步推进流程直至任务收尾。它跳出了单纯输出文字的局限,不再只会被动听从…...

计算机网络知识点全面总结(有这一篇就够了!!!)

计算机网络知识点全面总结(有这一篇就够了!!!) 一、计算机网络概述 1.1 计算机网络的分类 按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网&#xff…...

为OpenClaw智能体工作流配置Taotoken作为统一模型服务源

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为OpenClaw智能体工作流配置Taotoken作为统一模型服务源 在构建基于智能体(Agent)的自动化工作流时&#x…...

从 AI 工具到音乐生态:可酷加速布局,构建数字音乐全新基础设施

当数字音乐行业从流量竞争迈入生态竞争的新阶段,单一产品的功能边界已难以支撑企业长期增长,完善的生态协同能力逐渐成为企业突围的核心竞争力,也成为定义行业未来格局的关键变量。在此背景下,可酷公司近日对外披露其全新发展战略…...

Robo 3T:原生跨平台MongoDB管理工具的架构解析与技术实践

Robo 3T:原生跨平台MongoDB管理工具的架构解析与技术实践 【免费下载链接】robomongo Native cross-platform MongoDB management tool 项目地址: https://gitcode.com/gh_mirrors/ro/robomongo Robo 3T作为一款原生跨平台的MongoDB管理工具,为开…...

收藏 | LangChain vs LlamaIndex:大模型应用开发框架深度解析,小白也能轻松入门!

本文深入对比了LangChain和LlamaIndex两大框架的核心定位、功能模块及适用场景。LangChain是一个通用的LLM应用编排框架,通过LangGraph支持复杂Agent流程;LlamaIndex则专注于数据索引和检索,提供丰富的数据连接器和索引类型。文章还介绍了如何…...

以 AIGC 贯通设计 — 生产 — 营销:集之互动推动服装电商供应链进入全域协同新阶段

在快时尚主导、高频上新成为标配、流量窗口以周甚至以天计算的今天,服装电商的核心竞争力早已从单一的产品力、营销力,转向全链路供应链效率的竞争。当前行业普遍面临的痛点不再是某一环节的短板,而是全链路割裂:设计端与市场需求…...

2026年主流一键生成论文工具全攻略(含免费额度说明)

以下是当前学术圈口碑 TOP 的6 款 AI 写论文工具,覆盖从选题、开题到降重、答辩的论文全流程,剔除冗余工具,每款均附分步骤实操指南场景适配技巧,重点突出中文论文适配性,新手也能快速上手,效率翻倍。一、全…...

AIoT网关50+AI算法硬核加持,AIoT边缘计算赋能千行百业

在物联网与人工智能深度融合的时代,边缘侧的智能感知与决策能力成为行业数字化转型的核心。计讯物联TG465系列5G AIoT边缘计算机,以50成熟视觉AI算法为核心,搭载工业级强悍硬件,打造"AIIoT深度融合"的多模态智能体&…...

Diablo Edit2:5分钟掌握暗黑破坏神2终极角色编辑器

Diablo Edit2:5分钟掌握暗黑破坏神2终极角色编辑器 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 你是否厌倦了在暗黑破坏神2中反复刷装备的无尽循环?是否因为技能点分配失…...

Sunshine游戏串流终极指南:5大优化策略实现300%性能提升

Sunshine游戏串流终极指南:5大优化策略实现300%性能提升 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine作为一款开源自托管的游戏串流服务器,为Mo…...

通过TaotokenCLI工具一键配置多开发环境提升团队协作效率

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken CLI工具一键配置多开发环境提升团队协作效率 在团队协作开发中,一个常见的挑战是确保所有成员都能快速、…...

备考执业兽医考试哪里有免费资料可以领?

备战执业兽医考试,是不是还在四处搜罗备考资料?网上资源杂乱老旧、版本参差不齐,要么内容不全,要么找不到重点,浪费大把时间还没头绪。不用再盲目翻找、费心整理了!给大家推荐一个能免费领执业兽医全科资料…...

荷兰电商/教育/客服三大场景语音部署手册,含NL方言变体(Flemish Randstad)适配清单

更多请点击: https://codechina.net 第一章:荷兰语音技术生态与NL方言变体战略定位 荷兰语音技术生态正经历从标准荷兰语(Algemeen Nederlands, AN)向多维方言适应能力演进的关键阶段。NL方言变体——包括弗里斯兰语(…...

告别本科论文 “从零焦虑”:okbiye AI 写作如何用 “全流程定制” 终结熬夜改稿循环

okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPT毕业论文 - Okbiye智能写作https://www.okbiye.com/ai/bylw 本科论文写到崩溃,是每个毕业生都懂的痛。 我见过凌晨三点的宿舍走廊,有人对着 Word 文档掉眼泪;也见过…...

二年级下册语文看图写话作文:长大以后做什么

二年级下册语文《长大以后做什么》看图写话,重点是:长大想做什么职业为什么想做以后会怎么努力老师最喜欢“有梦想 有原因 有行动”的内容。我用夸克网盘分享了「二年级下册语文作文」,链接:https://pan.quark.cn/s/3ee38f2d976…...

FLUX.1-dev-Controlnet-Union:一站式多模态图像控制解决方案,让AI生成更精准可控

FLUX.1-dev-Controlnet-Union:一站式多模态图像控制解决方案,让AI生成更精准可控 【免费下载链接】FLUX.1-dev-Controlnet-Union 项目地址: https://ai.gitcode.com/hf_mirrors/InstantX/FLUX.1-dev-Controlnet-Union 你是否曾经在AI图像生成中遇…...

5分钟打造你的桌面股票看板:TrafficMonitor股票插件完整指南

5分钟打造你的桌面股票看板:TrafficMonitor股票插件完整指南 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins 还在为错过重要股票行情而烦恼吗?想在工作时…...

终极SPT-AKI存档编辑器:如何轻松掌控你的逃离塔科夫离线游戏进度

终极SPT-AKI存档编辑器:如何轻松掌控你的逃离塔科夫离线游戏进度 【免费下载链接】SPT-AKI-Profile-Editor Программа для редактирования профиля игрока на сервере SPT-AKI 项目地址: https://gitcode.com/gh…...

万店精灵上货软件引领电商时代

万店精灵上货软件:http://www.wandianjingling.com/q/r/FV02331,1688,淘宝,抖音,拼多多,微信小店,京东,天猫,快手 都可以上国外:TikTok Shop、Temu、Shopee2&…...

万用表档位介绍与测量

万用表档位介绍与测量一:万用表档位介绍二:表笔的连接三:电阻测量(Ω)四:电流测量注意事项:1、测电流一定是串联,绝对不能直接把表笔搭在电源两极!一搭就烧表、炸保险。2…...

通过Python快速调用Taotoken实现自动化文档生成

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Python快速调用Taotoken实现自动化文档生成 对于嵌入式或单片机开发者而言,为Keil5项目编写和维护技术文档是一项耗…...

抖音批量下载终极指南:免费高效获取无水印视频与音乐

抖音批量下载终极指南:免费高效获取无水印视频与音乐 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...