[QEMU]設(shè)備仿真

QEMU 支持從外設(shè)(如網(wǎng)卡和 USB 設(shè)備)到片上集成系統(tǒng) (SoC) 的大量設(shè)備的仿真。這些設(shè)備的配置通常是混淆的根源,因此有助于理解用于描述QEMU中設(shè)備的一些術(shù)語。
常用術(shù)語
設(shè)備前端
設(shè)備前端是向來賓呈現(xiàn)設(shè)備的方式。顯示的設(shè)備類型應(yīng)與客戶機(jī)操作系統(tǒng)預(yù)期的硬件相匹配??梢允褂妹钚羞x項(xiàng)指定所有設(shè)備。使用命令行選項(xiàng)運(yùn)行 QEMU 將列出它所知道的所有設(shè)備。使用命令行將列出可用于該設(shè)備的其他配置選項(xiàng)。--device
--device?help
--device?foo,help
前端通常與后端配對(duì),后者描述了如何在仿真中使用主機(jī)的資源。
設(shè)備總線
大多數(shù)設(shè)備將存在于某種總線上。根據(jù)您選擇的機(jī)器型號(hào)(),將自動(dòng)創(chuàng)建許多總線。在大多數(shù)情況下,可以推斷出設(shè)備連接到的總線,例如PCI設(shè)備通常自動(dòng)分配給找到的第一個(gè)PCI總線的下一個(gè)空閑地址。但是,在復(fù)雜的配置中,您可以顯式指定設(shè)備連接到的總線 () 及其地址 ()。-M?foo
bus=ID
addr=N
某些設(shè)備(例如 PCI SCSI 主控制器)將向系統(tǒng)添加其他總線,其他設(shè)備可以連接到該總線。假設(shè)的設(shè)備鏈可能如下所示:
–device foo,bus=pci.0,addr=0,id=foo –device bar,bus=foo.0,addr=1,id=baz
這將是一個(gè)條形設(shè)備(ID為baz),它連接到地址1的第一個(gè)foo總線(foo.0)。提供該總線本身的 foo 設(shè)備連接到第一個(gè) PCI 總線 (pci.0)。
設(shè)備后端
后端描述了QEMU如何處理仿真設(shè)備中的數(shù)據(jù)。后端的配置通常特定于要模擬的設(shè)備類。例如,串行設(shè)備將由一個(gè)可以將數(shù)據(jù)重定向到文件或套接字或其他系統(tǒng)來支持。存儲(chǔ)設(shè)備的處理方式將指定塊的處理方式,例如存儲(chǔ)在 qcow2 文件中或訪問原始主機(jī)磁盤分區(qū)。后端有時(shí)可以堆疊以實(shí)現(xiàn)快照等功能。--chardev
--blockdev
雖然后端的選擇通常對(duì)來賓是透明的,但在某些情況下,如果后端無法支持,則不會(huì)向來賓報(bào)告功能。
設(shè)備直通
設(shè)備直通是設(shè)備實(shí)際被授予對(duì)底層硬件的訪問權(quán)限的位置。這可以很簡(jiǎn)單,只需將主機(jī)系統(tǒng)上的單個(gè) USB 設(shè)備暴露給來賓,或?qū)?PCI 插槽中的視頻卡專用于來賓專用即可。
仿真設(shè)備
CAN總線仿真支持?https://www.qemu.org/docs/master/system/devices/can.html
芯片卡接口器件 (CCID)https://www.qemu.org/docs/master/system/devices/ccid.html
計(jì)算快速鏈接 (CXL)https://www.qemu.org/docs/master/system/devices/cxl.html
虛擬機(jī)間共享內(nèi)存設(shè)備?https://www.qemu.org/docs/master/system/devices/ivshmem.html
網(wǎng)絡(luò)仿真?https://www.qemu.org/docs/master/system/devices/net.html
NVMe 仿真?https://www.qemu.org/docs/master/system/devices/nvme.html
USB 仿真?https://www.qemu.org/docs/master/system/devices/usb.html
虛擬主機(jī)用戶后端 https://www.qemu.org/docs/master/system/devices/vhost-user.html
virtio pmem?https://www.qemu.org/docs/master/system/devices/virtio-pmem.html
QEMU vhost-user-rng - RNG 仿真?https://www.qemu.org/docs/master/system/devices/vhost-user-rng.html
卡諾基 QEMU?https://www.qemu.org/docs/master/system/devices/canokey.html