問題タブ [vfio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arm - VFIO を介して割り当てられたデバイスの割り込み処理
VFIO を介して VM (ゲスト KVM) に割り当てられたデバイスに対して割り込み処理がどのように機能するかを理解しようとしていますが、それがどのように発生するかについての手がかりが得られませんでしたか?
たとえば、VFIO を介してゲスト VM に直接割り当てられた (デバイス パススルー) デバイスがあり、その特定のデバイスに対してハードウェア割り込みが発生したとします。
次は何が起こる?
c - iommu=on を使用し、VFIO を使用しない Linux ユーザー空間 DMA
Linux ユーザー空間アプリケーションは、IOMMU によってブロックされたり、VFIO を使用したりせずに、DMA 用に独自のメモリを使用できますか?
iommu が無効 (intel_iommu=off) またはパススルー モード (intel_iommu=passthrough) の場合、アプリケーションは正常に動作します。ただし、IOMMU が有効 (intel_iommu=on) の場合は機能しません。これは、ユーザー空間に割り当てるメモリが DMA に許可されていないためです。
公式の解決策は、Linux VFIO インターフェイスを使用して IOMMU を管理することですが、VFIO 機能はあまり成熟していないと感じており、より簡単な解決策を見つけたいと考えています。
IOMMU に、割り当てた物理メモリの DMA を許可するように指示できますか? ユーザーにカーネル ブート パラメータを変更するように指示する必要がないので、これはすばらしいことです。
VFIO に基づくシンプルで信頼性の高いソリューションがあれば、それも興味深いでしょう。
メモリの割り当て方法の詳細については、関連する以前の質問を参照してください: mremap(2) with HugeTLB to change virtual address?
qemu - libvirt を使用して GPU をパススルーすると vfio_dma_map エラーが発生する
ここにqemuログがあります
dmesg:
libvirt バージョン:
ulimit -l を limited no use に設定してみました
gpu - Nvidia GPU パススルーがコード 43 で失敗する
現在、qemu 2.5 と libvirt 1.3.5 を使用して nvidia GPU を Windows 10 ゲストに渡そうとしています。
デバイス マネージャーで Nvidia GPU に「エラー 43」が表示されます。
「kvm=off」と「hv_vendor_id=123456780ab」を追加してハイパーバイザーを非表示にしようとしましたが、うまくいきません。私はグーグルで検索し、人々はこの方法で問題を解決しました。
また、タスク マネージャーで Virtual Machine : Yes も表示されました。
使い方を間違ったのでしょうか?AMD gpu を Windows ゲストに渡すことができます (AMD は kvm 仮想化をチェックしません)。
他の方法で nvidia を偽装できますか?
私のシステム情報:
GPU:
libvirt.xml
qemu コマンド
あなたの助けを楽しみにしています!
virtual-machine - GPU パススルー後にホストが表示されない
システムの VM で使用する GPU パススルーをセットアップしようとしています。私は Ubuntu 17.04 を使用しており、nouveau ドライバーを手動でブラックリストに登録した後、次のリンクの指示に従いました。
https://medium.com/@calerogers/gpu-virtualization-with-kvm-qemu-63ca98a6a172
ホスト システムの電源を入れると、Ubuntu のブート スプラッシュが表示されますが、画面が真っ暗になり、何も表示されません。システムに SSH 接続すると、Nvidia GPU が vfio-pci に正しく割り当てられていることがわかります (予想どおり)。ホスト グラフィックスを最初に統合された Intel グラフィックスで動作させたいので、パススルーが VM で動作することをまだテストしていません。
xrandr を試してみましたが、ディスプレイを開けませんと表示されます。ホストの統合グラフィックスを有効にするために、何か特定のことをしなければならないことを期待しています。助言がありますか?
システム: ASRocks Z77 EXTREME4 Intel i7-4790K Nvidia GTX 650 Ti
ご協力ありがとうございました!
linux - vfio-pci はすべての pci デバイスのユーザー空間ドライバーですか?
vfio は、割り込み、DMA、および pci I/O をユーザー空間に公開できることを知っています。誰かが pci デバイスで vfio を利用したい場合、元のドライバーをアンバインドして vfio-pci ドライバーにバインドする必要があると読みました。私の質問は、vfio-pci はすべての pci デバイスのユーザー空間ドライバーですか? 私の理解では、vfio はいくつかの基本的なインターフェースを提供するだけだからです。または、新しい pci デバイス用のドライバーが必要な場合、vfio-pci ドライバーを使用するか、vfio-pci ドライバーが提供するインターフェイスを使用して新しいドライバーを作成する必要がありますか?