ダウンロードリスト

プロジェクト概要

パソコン(PC)に内臓されているCPUとメモリ、I/Oを分割して各VMに割り当て、OSにそれらを直接制御させることで、ホストOSなしで各OSが独立して動作可能なHypervisor(VMM)を開発するプロジェクトです。

最初の目標は、ひとつのPCでふたつのOSを動作させること、次の目標は各OSを個別に再起動可能にすることでしたが、2014年1月にこれらの目標を達成し、1.0をリリースしました。

OSは、Linux、Windows、FreeBSDが動きます。

VMMはBitVisor(BSDライセンス)をベースとし、AMLインタープリタや標準ライブラリの一部の関数をNetBSDやFreeBSDから移植しています。 Guest BIOSはSeaBIOS(GPL)をベースとします。

システム要件

システム要件が設定されていません

リリース時刻: 2012-06-23 20:14
tinyvisor 0.5 (1 個のファイル 非表示)

リリースノート

TinyVisor 0.5 (r42)

以下のことを確認済みです。

1. 次の場所にTinyVisorをインストールし、vm0とvm1それぞれで
    Debian GNU/Linux 6.0(amd64版)を起動可能なこと。
    - USBメモリ
    - Linuxのファイルシステム
 
2. vm1に以下のI/Oデバイスを割り当て動作すること。
    SATA: 玄人志向 SATA312-PCIe (Marvell 88SE9128)
    NIC: Realtek RTL811DH
    USB: 玄人志向 USB3.0N4-PCIe (ルネサス uPD720200)
    VGA: GeForce 8400 GS

3. vm0のみでも起動可能なこと。
   (VMMのオプション無し)

お問い合わせは、 tinyvisor-devel@lists.sourceforge.jp 宛にメールを送付してください。

変更履歴

------------------------------------------------------------------------
r32 | yuichi_xy | 2012-05-23 23:36:37 +0900 (水, 23  5月 2012) | 1 line

Guest ソフトウェアから INIT 割り込みを送信可能にした。
------------------------------------------------------------------------
r33 | yuichi_xy | 2012-05-26 17:21:39 +0900 (土, 26  5月 2012) | 1 line

Guest BIOS を改造し、APIC IDを調べてACPIテーブルやMPテーブルを作成するようにした。
------------------------------------------------------------------------
r34 | yuichi_xy | 2012-06-03 13:41:16 +0900 (日, 03  6月 2012) | 1 line

lage page の場合 pmap_read が level 2 table を正しく読めないバグを修正。
------------------------------------------------------------------------
r35 | yuichi_xy | 2012-06-03 14:43:02 +0900 (日, 03  6月 2012) | 1 line

Shadow paging のコードを整理した。
------------------------------------------------------------------------
r36 | yuichi_xy | 2012-06-03 20:19:17 +0900 (日, 03  6月 2012) | 1 line

TinyVisor 固有の BIOS の設定が一目でわかるように CONFIG_XXX で切り替えられるようにした
------------------------------------------------------------------------
r37 | yuichi_xy | 2012-06-03 23:26:58 +0900 (日, 03  6月 2012) | 1 line

SVM: ゲストソフトウェアが Real Mode の場合、INTx 命令で VMEXIT を発生させて、VMM が INTx 命令をエミュレートするようにした。#28386 参照。
------------------------------------------------------------------------
r38 | yuichi_xy | 2012-06-05 21:47:23 +0900 (火, 05  6月 2012) | 1 line

シリアルエミュレータから I/O APIC エミュレータを経由してベクタ 0 の割り込みを vm0 に Inject してしまうバグを修正。 #28637 参照。
------------------------------------------------------------------------
r39 | yuichi_xy | 2012-06-09 11:47:54 +0900 (土, 09  6月 2012) | 1 line

make config で TTY_SERIAL を無効にした場合に VMM のシリアルドライバとシリアルエミュレータをビルドしないようにした。
------------------------------------------------------------------------
r40 | yuichi_xy | 2012-06-09 17:26:54 +0900 (土, 09  6月 2012) | 1 line

SVM: Shadow Paging の PTE を無効化した時のみ TLB をフラッシュするようにした。
------------------------------------------------------------------------
r41 | yuichi_xy | 2012-06-09 22:17:20 +0900 (土, 09  6月 2012) | 1 line

BitVisor 1.2 のブートローダを取り込んでブートローダを高速化した。install_to_usb.sh を更新して、引数で bootloader や vmm.elf, bios.bin を指定不要にした。
------------------------------------------------------------------------
r42 | yuichi_xy | 2012-06-11 22:17:10 +0900 (月, 11  6月 2012) | 1 line

Device() ブロックに If() 演算子が存在する場合の workaround を BitVisor 1.2 からバックポート。
------------------------------------------------------------------------