通过VFIO给arm上的kvm虚拟机分配平台设备

Antonios Motakis, A. Rigo, D. Raho
{"title":"通过VFIO给arm上的kvm虚拟机分配平台设备","authors":"Antonios Motakis, A. Rigo, D. Raho","doi":"10.1109/EUC.2014.32","DOIUrl":null,"url":null,"abstract":"VFIO (Virtual Function I/O) is a Linux kernel infrastructure that allows to leverage the capabilities of modern IOMMUs to drive a device directly from user space without any additional specialized kernel driver being involved. When used by QEMU/KVM, a device can be assigned to a guest VM, allowing to transparently handle all aspects of communication with the device, including DMA mapping, MMIO range mapping, and interrupts. To support a given hardware architecture and device, VFIO will need to be able to support the type of IOMMU that is in front of the device, and the discovery and configuration mechanisms of the bus that the device is connected to. However, often no auto configuration interface is exposed on ARM, as opposed to devices on a PCI bus, commonly used on x86. In order to support VFIO on ARM, in this work platform devices support is being implemented as a VFIO_PLATFORM driver. Additionally, VFIO is being extended to support common IOMMUs found on ARM systems, such as the ARM SMMU. In this paper, we highlight the challenges met while implementing the required components, and extensions to VFIO and KVM in order to fully support device assignment to Virtual Machines on modern ARM systems.","PeriodicalId":331736,"journal":{"name":"2014 12th IEEE International Conference on Embedded and Ubiquitous Computing","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-08-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"Platform Device Assignment to KVM-on-ARM Virtual Machines via VFIO\",\"authors\":\"Antonios Motakis, A. Rigo, D. Raho\",\"doi\":\"10.1109/EUC.2014.32\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"VFIO (Virtual Function I/O) is a Linux kernel infrastructure that allows to leverage the capabilities of modern IOMMUs to drive a device directly from user space without any additional specialized kernel driver being involved. When used by QEMU/KVM, a device can be assigned to a guest VM, allowing to transparently handle all aspects of communication with the device, including DMA mapping, MMIO range mapping, and interrupts. To support a given hardware architecture and device, VFIO will need to be able to support the type of IOMMU that is in front of the device, and the discovery and configuration mechanisms of the bus that the device is connected to. However, often no auto configuration interface is exposed on ARM, as opposed to devices on a PCI bus, commonly used on x86. In order to support VFIO on ARM, in this work platform devices support is being implemented as a VFIO_PLATFORM driver. Additionally, VFIO is being extended to support common IOMMUs found on ARM systems, such as the ARM SMMU. In this paper, we highlight the challenges met while implementing the required components, and extensions to VFIO and KVM in order to fully support device assignment to Virtual Machines on modern ARM systems.\",\"PeriodicalId\":331736,\"journal\":{\"name\":\"2014 12th IEEE International Conference on Embedded and Ubiquitous Computing\",\"volume\":\"30 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-08-26\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2014 12th IEEE International Conference on Embedded and Ubiquitous Computing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/EUC.2014.32\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 12th IEEE International Conference on Embedded and Ubiquitous Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/EUC.2014.32","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

摘要

VFIO(虚拟功能I/O)是一种Linux内核基础设施,它允许利用现代iommu的功能直接从用户空间驱动设备,而不需要任何额外的专用内核驱动程序。当QEMU/KVM使用设备时,可以将设备分配给来宾VM,从而允许透明地处理与设备通信的所有方面,包括DMA映射、MMIO范围映射和中断。为了支持给定的硬件体系结构和设备,VFIO需要能够支持设备前面的IOMMU类型,以及设备所连接的总线的发现和配置机制。然而,ARM上通常没有自动配置接口,这与x86上常用的PCI总线上的设备相反。为了在ARM上支持VFIO,在此工作平台设备支持被实现为VFIO_PLATFORM驱动程序。此外,VFIO正在扩展以支持ARM系统上常见的iommu,例如ARM SMMU。在本文中,我们强调了在实现所需组件时遇到的挑战,以及VFIO和KVM的扩展,以完全支持现代ARM系统上的虚拟机设备分配。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Platform Device Assignment to KVM-on-ARM Virtual Machines via VFIO
VFIO (Virtual Function I/O) is a Linux kernel infrastructure that allows to leverage the capabilities of modern IOMMUs to drive a device directly from user space without any additional specialized kernel driver being involved. When used by QEMU/KVM, a device can be assigned to a guest VM, allowing to transparently handle all aspects of communication with the device, including DMA mapping, MMIO range mapping, and interrupts. To support a given hardware architecture and device, VFIO will need to be able to support the type of IOMMU that is in front of the device, and the discovery and configuration mechanisms of the bus that the device is connected to. However, often no auto configuration interface is exposed on ARM, as opposed to devices on a PCI bus, commonly used on x86. In order to support VFIO on ARM, in this work platform devices support is being implemented as a VFIO_PLATFORM driver. Additionally, VFIO is being extended to support common IOMMUs found on ARM systems, such as the ARM SMMU. In this paper, we highlight the challenges met while implementing the required components, and extensions to VFIO and KVM in order to fully support device assignment to Virtual Machines on modern ARM systems.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信