[BitVisor-devel:120] Re: BitVisor の AHCI ドライバにつきまして

Hideki EIRAKU hdk @ igel.co.jp
2020年 12月 14日 (月) 10:48:42 JST


イーゲル 榮樂です。

From: Manabu HIRANO <hirano @ toyota-ct.ac.jp>
Subject: [BitVisor-devel:119] BitVisor の AHCI ドライバにつきまして
Date: Fri, 11 Dec 2020 09:20:55 +0900

> 私の理解だと標準の AHCI のパラパススルードライバは(何もせず)通常動作
> すると思ってい
> たので、普通に Windows7 や Windows10 も動作すると思っていたのですが...。

> 症状
> 最新の BitVisor で defconfig の pci に ahci のドライバを追加すると
> CentOS7はゲストOSとして起動するが、Windows7 はゲストOSとして起動せず。
> 「Windows を起動しています」の表示で停止したままになりました。

AHCI の para pass-through driver にはひとつ問題があって、4MiB を超える
転送量になるリクエストが来ると panic してしまいます。それが引っ掛かっ
て panic しているのではないでしょうか。Ethernet 経由でログ出力ができる
場合はログで、できない場合は config.vmm.panic_reboot=1 にして再起動す
るかどうか確認してみてください。もしかしたら
CONFIG_VGA_INTEL_DRIVER=1, CONFIG_TTY_VGA=1, driver=vga_intel で画面へ
のログ出力も使えるかも知れません。

本当は、NVMe のように、デバイス側から最大転送サイズを制限できたらいい
のですが、そういう仕組みがなさそうなので、難しい状態になっています。
4MiB を超える指定に単純に対応しても、VMM 側のヒープがそんなに大きくな
いので、数十 MB の大きなリクエストが来ると処理できない状態になります。

それと、Windows で Intel AHCI driver が使われている場合に、AHCI para
pass-through driver を改造していろいろやっていると問題が発生したことが
ありました。こちらは Microsoft 標準の AHCI driver に入れ替えると改善し
ました。

-- 
Hideki EIRAKU <hdk @ igel.co.jp>


BitVisor-devel メーリングリストの案内