在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

對ARM虛擬化下設備直通的支持進行介紹

安芯教育科技 ? 來源:極術專欄Arm服務器 ? 2023-04-28 15:31 ? 次閱讀

隨著云計算領域里,ARM架構處理器的廣泛使用,應用開發人員熟悉ARM架構相關技術的需求越來越迫切。眾所周知,提供虛擬機服務是云計算的典型應用場景,而虛擬機里設備性能的優劣對服務質量至關重要。

提到虛擬機里的設備,就不得不提及設備的虛擬化,最初虛擬機里的設備完全是依靠軟件模擬來實現,也叫全虛擬化設備,這樣的好處是運行在物理機里的OS可以完全不需要修改就能在虛擬機里運行,但設備性能很差,滿足不了人們的需求。

后來,有人提出了半虛擬化的思想,寄希望于軟件的優化,比如修改設備模型,減少不必要的內存拷貝,來滿足大家對設備的性能需求。典型代表virtio設備。此法使性能雖有較大提升,但與真實的設備仍有較大差距。為了獲取等同于真實設備的性能,設備直通的方式被提了出來,也漸漸成為主流方式。

虛擬機里使用直通的設備,的確可以帶來最大的性能提升。但是卻暴漏出一系列的系統安全問題。比如提供DMA的設備通常可以寫內存的任意頁,因此虛擬機里的Guest OS擁有創建DMA的能力就等同于用戶空間擁有了root權限,惡意的設備可能利用此發動DMA攻擊,給其他虛擬機乃至整個物理機帶來安全問題。

因此,需要提供DMA重映射功能,通過頁表方式將直通設備對內存的訪問限制到特定的域中,在提高IO性能的同時完成了直通設備的隔離,保證了直通設備DMA的安全性。此外,直通設備的中斷默認是發給物理CPU的,要想通知到虛擬機里的vCPU,就需要中斷的重定向。

DMA重映射跟中斷重定向的實現,最初是完全交由虛擬機監控器(Hypervisor)或模擬器(比如qemu)來負責。這是一種純軟件的思路,必然大大降低設備的性能,因此急需硬件的參與配合。為此,ARM的SMMU和GIC規范順勢添加了對DMA重映射跟中斷重定向的支持。本文的重點便是圍繞這兩大特性介紹如何支持虛擬化環境下的設備直通。

一、DMA重映射

SMMU是System MMU的縮寫,是ARM架構下一種對非CPU設備提供地址翻譯服務的組件,功能類似于CPU的MMU組件。這里非CPU設備主要指發起DMA操作的外圍子系統。如下圖所示:

10fd7ffa-e593-11ed-ab56-dac502259ad0.png

注:PE為Processing Element 的縮寫,可理解為CPU。

在虛擬化應用場景下,地址翻譯往往分為兩個階段。階段一是虛擬地址(VA)到GuestOS認為的物理地址(IPA)間的轉換;階段二為IPA到真實物理地址(PA)間的轉換。而SMMU既可以同時支持兩個階段的轉換,也可以單獨支持每個階段的轉換。這為直通設備DMA重映射提供了可能。直通設備的DMA只需要獲取IPA,之后的工作便交由SMMU來做階段二的處理,以達到安全高效的訪問PA的目的。如下圖所示:

11179bc4-e593-11ed-ab56-dac502259ad0.png

針對以上應用場景,我們介紹SMMU的內部結構來闡述具體實現原理。SMMU含有兩個核心單元,分別為翻譯控制單元TCU和翻譯緩沖單元TBU。其中TCU主要含有Stream Mapping Table(SMT)和Context Bank Table(CBT)。SMT通過StreamID來索引內部的Entry,StreamID跟具體直通設備一一對應, 從而獲取到指向CBT具體Entry的指針。

CBT的Entry內容則含有階段二翻譯表的指針,當獲取到此指針后,翻譯過程即可像普通MMU一樣按部就班的進行下去。而TBU的作用等同于TLB,借助Cache原理,加快SMMU工作效率,不再贅述。以上描述過程總結為如下框圖所示:

112a1236-e593-11ed-ab56-dac502259ad0.png

二、中斷重定向

GIC是Generic Interrupt Controller的縮寫。GIC的主要作用是路由各種不同的中斷信息給CPU。虛擬化環境下的中斷處理情形要復雜的多,有些因指令trap產生的中斷需要Hypervisor本身來處理;有些是分配給某個虛擬機的直通設備產生的中斷則需要虛擬機內的軟件來處理;也有中斷被接收時,對標的虛擬機沒有處于運行狀態的情況。這需要GIC提供機制,重定向中斷以滿足上述復雜的需求。

由于本文的重點是對直通設備虛擬化支持的講解,因此此部分將介紹GIC是如何支持直通設備中斷重映射的,并不會剖析GIC內部組成及實現原理。我們以GICv3為例,圖示如下:

1141741c-e593-11ed-ab56-dac502259ad0.png

配以如下步驟說明:

1 直通設備發起的中斷IRQ到達GIC;

2 GIC發物理的IRQ到CPU;

3 Hypervisor會從Physical CPU Interface讀取中斷信息;

4 Hypervisor發現此中斷是某虛擬機內的直通設備觸發,于是通過寫GIC List Register重新注入一個虛擬IRQ到GIC中;

5 GIC產生vIRQ中斷并發給vCPU;

6 最終vCPU接收vIRQ中斷并由運行其上的GuestOS接管并通過跟Virtual CPU interface交互處理后續中斷任務。

至此,一個完整的中斷重映射過程結束。

在GIC參與直通設備的中斷重映射后,虛擬機在處理中斷效率上有了明顯提升,但是跟Host主機上普通物理中斷相比,總是多了一步由軟件Hypervisor參與的動作。因此,我們稱以上方式為間接注入中斷的方式。為了進一步提高處理中斷的效率,GICv4引入了直接注入中斷方式。

具體原理則是直通設備在獲取中斷時,GIC會將分配給設備的物理中斷與虛擬中斷做一個映射。這樣當設備觸發中斷時,GIC會直接發信號給vCPU。有這樣一種情況,設備觸發中斷時vCPU沒有運行,即虛擬機處于休眠態,如果直接發vIRQ給vCPU是得不到響應的,這時候會產生一個物理的door-bell中斷來代替,此中斷交由Hypervisor處理,它會重新調度vCPU,從而使中斷得到及時響應。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM處理器
    +關注

    關注

    6

    文章

    361

    瀏覽量

    42473
  • dma
    dma
    +關注

    關注

    3

    文章

    574

    瀏覽量

    102420
  • 模擬器
    +關注

    關注

    2

    文章

    894

    瀏覽量

    44088
  • 虛擬機
    +關注

    關注

    1

    文章

    963

    瀏覽量

    29124

原文標題:Arm對虛擬化下設備直通的支持

文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    探討一下ARM處理器平臺的虛擬

    arm新增加的virtualization extension之前,我們知道對硬件虛擬支持主要有intel的VT-x和AMD的AMD-V,它們兩個十分類似,所以這里我們只
    發表于 04-14 10:00

    ARM虛擬技術是什么?如何去實現呢

    主流的操作系統都有一個假設,就是這個系統有一個特權模式之下的OS,之上在跑多個非特權模式的APP;而ARM虛擬技術就是在同一個系統上共存多個操作系統,實現這種虛擬技術需要硬件的擴展
    發表于 05-09 09:55

    對硬件虛擬及其相關邏輯進行羅列與理解

    2的地址轉換。與上述類似,兩級地址轉換也會基于具體場景需求進行Bypass處理。PCIe SR-IOVPCIe Endpoint通過SR-IOV支持設備虛擬
    發表于 07-04 15:48

    【學習打卡】OpenHarmony的設備虛擬技術介紹

    在特定設備上運行。如果你想添加額外的設備,那這個想法實現的成本很高。那么通過設備虛擬,允許最終用戶自由使用他們想要的任何
    發表于 07-19 17:47

    介紹arm GICv3和timer虛擬支持

    比較少的用戶空間設備模擬的支持。2.相關工作在arm上,第一個利用arm虛擬擴展的hyperv
    發表于 10-11 14:58

    設備仿真模擬軟件 QEMU 8.0 發布:改進對 ARM / RISC-V 架構支持

    轉自https://m.ithome.com/html/690345.htm 開源 QEMU 8.0 設備仿真器和虛擬軟件已于 4 月 19 日發布,為 ARM、RISC-V、x86
    發表于 05-05 09:48

    Arm通用中斷控制器GICv3和GICv4對虛擬支持

    本指南描述了GICv3和GICv4體系結構中對虛擬支持。它涵蓋了管理程序可用于生成和管理虛擬中斷的控件。指南是對于任何需要了解中斷控制器功能的人來說編寫軟件來管理
    發表于 08-02 10:43

    Arm虛擬硬件用戶指南

    介紹了用于調試在虛擬設備上運行的程序的AVH功能。 ?通過API使用AVH說明如何通過API編程使用Arm虛擬硬件。 ?提示和故障排除一章包含有用的提示,有助于解決常見問題。
    發表于 08-08 07:45

    基于ARM虛擬安全防護技術

    近幾年來,隨著移動平臺用戶量的增加,移動平臺安全成為安全領域關注的焦點.而ARM虛擬擴展,使得如何基于虛擬技術
    發表于 12-26 18:15 ?0次下載
    基于<b class='flag-5'>ARM</b><b class='flag-5'>虛擬</b><b class='flag-5'>化</b>安全防護技術

    如何使用Proteus進行ARM虛擬開發

    隨著現代計算機技術的迅速發展,使用EDA軟件進行的電路設計與仿真已經成為現代電子技術系統設計的必然趨勢,文章介紹了Proleus 軟件的功能和特點,并結合具體的例子說明如何用Proeus 實現ARM
    發表于 06-26 14:32 ?0次下載
    如何使用Proteus<b class='flag-5'>進行</b><b class='flag-5'>ARM</b>的<b class='flag-5'>虛擬</b>開發

    ARM虛擬下設備直通支持

    隨著云計算領域里,ARM架構處理器的廣泛使用,應用開發人員熟悉ARM架構相關技術的需求越來越迫切。眾所周知,提供虛擬機服務是云計算的典型應用場景,而虛擬機里
    的頭像 發表于 09-26 10:19 ?3978次閱讀
    <b class='flag-5'>ARM</b>對<b class='flag-5'>虛擬</b><b class='flag-5'>化</b><b class='flag-5'>下設備</b><b class='flag-5'>直通</b>的<b class='flag-5'>支持</b>

    Arm虛擬下設備直通支持

    虛擬機里使用直通設備,的確可以帶來最大的性能提升。但是卻暴漏出一系列的系統安全問題。比如提供DMA的設備通常可以寫內存的任意頁,因此虛擬
    的頭像 發表于 04-28 15:30 ?1566次閱讀
    <b class='flag-5'>Arm</b>對<b class='flag-5'>虛擬</b><b class='flag-5'>化</b><b class='flag-5'>下設備</b><b class='flag-5'>直通</b>的<b class='flag-5'>支持</b>

    VFIO設備直通原理

    設備直通虛擬機能夠極大提升虛擬機對物理設備訪問的性能
    的頭像 發表于 06-07 17:40 ?3209次閱讀

    arm架構的虛擬是什么

    為了支持虛擬,Armv8-A支持兩步地址轉換,也就是文檔常提到的Stage2translation。Stage2轉換允許hypervisor控制
    發表于 08-07 14:14 ?2313次閱讀
    <b class='flag-5'>arm</b>架構的<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>是什么

    下設備智能遠程控制方案

    下設備的智能遠程控制是指通過網絡技術和傳感器設備,實現對井下設備進行數據監測、故障診斷和遠程控制操作的方法。目前,隨著物聯網技術的發展,井下設備
    的頭像 發表于 10-30 17:29 ?1058次閱讀
    主站蜘蛛池模板: 22sihu国产精品视频影视资讯 | 欧美午夜视频在线 | 久久夜色tv网站免费影院 | 亚洲精品乱码久久久久久蜜桃图片 | 5g影院午夜伴侣 | 成年人黄色片视频 | 午夜精品久久久久久久2023 | 日本不卡视频免费 | 国产精品7m凸凹视频分类大全 | 成片一卡三卡四卡免费网站 | 国产成年美女毛片80s | 日本不卡视频一区二区 | 69精品在线 | 国产精品人人爱一区二区白浆 | 黑人干亚洲| 七月色婷婷 | 欧美一级片在线视频 | 性做久久久久久久免费观看 | 亚洲黄网址 | 欧洲色妇 | 国产网红主播精品福利大秀专区 | 欧美成人aaaa免费高清 | 奇米色88欧美一区二区 | 欧美一区二区高清 | 天天干天天操天天摸 | 黄色成人免费观看 | 4虎影院永久地址www | 三级理论在线观看 | 深爱激情五月婷婷 | 激情在线视频 | 男女交性视频播放 视频 视频 | 高清成人| 一区二区三区四区在线免费观看 | 一级看片免费视频囗交 | 男人日女人免费视频 | 欧美一级特黄视频 | 日韩美女拍拍免费视频网站 | 天天操天天射天天色 | 久久久一本波多野结衣 | 日日操免费视频 | 亚洲狠狠网站色噜噜 |