ダウンロードリスト

プロジェクト概要

パソコン(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-07-16 17:11
tinyvisor 0.6 (1 個のファイル 非表示)

リリースノート

TinyVisor 0.6 (r52)

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

1. USB メモリに TinyVisor をインストール可能なこと。

2. Linux のファイルシステムに TinyVisor をインストール可能なこと。

3. vm0 のみで OS を起動可能なこと。

4. 次の組み合わせで OS を起動可能なこと。
   vm0: Debian GNU/Linux 6.0 (amd64版)
   vm1: FreeBSD 9.0-RELEASE (amd64版)

5. 次の組み合わせで OS を起動可能なこと。
   vm0: FreeBSD 9.0-RELEASE (amd64版)
   vm1: Debian GNU/Linux 6.0 (amd64版)

6. 次の組み合わせで OS を起動可能なこと。
   vm0: Debian GNU/Linux 6.0 (amd64版)
   vm1: Debian GNU/Linux 6.0 (amd64版)

7. vm1 に以下のI/Oデバイスを割り当て動作すること。
   vm1 のOS は Linux とする。
    SATA: 玄人志向 SATA312-PCIe (Marvell 88SE9128)
    NIC: Realtek RTL811DH
    USB: 玄人志向 USB3.0N4-PCIe (ルネサス uPD720200)
    VGA: GeForce 8400 GS

8. vm1 に以下のI/Oデバイスを割り当て動作すること。
   vm1 のOS は FreeBSD とする。
    SATA: 玄人志向 SATA312-PCIe (Marvell 88SE9128)
    NIC: Realtek RTL811DH

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

変更履歴

------------------------------------------------------------------------
r43 | yuichi_xy | 2012-06-24 20:46:32 +0900 (日, 24  6月 2012) | 1 line

VMCS_IDT_VECTORING_INFO が有効でも、イベントを再度 inject しないようにした。 #28838 参照
------------------------------------------------------------------------
r44 | yuichi_xy | 2012-06-24 23:56:15 +0900 (日, 24  6月 2012) | 1 line

MADT を書き換えて、vm0 に割り当てた論理プロセッサ以外を vm0 の OS から隠すようにした。 #28838 参照。
------------------------------------------------------------------------
r45 | yuichi_xy | 2012-06-30 20:07:28 +0900 (土, 30  6月 2012) | 1 line

r42 の変更内容を元に戻し、VMCS_IDT_VECTORING_INFO が有効な場合は、イベントを再度 inject するようにした。 #28881 参照
------------------------------------------------------------------------
r46 | yuichi_xy | 2012-06-30 23:31:01 +0900 (土, 30  6月 2012) | 1 line

Guest ソフトウェアが、vm に割り当てられた他の全ての論理プロセッサに IPI を送信する時に、ディスティネーション簡略表記を使用可能にした。 #28840 参照
------------------------------------------------------------------------
r47 | yuichi_xy | 2012-07-01 00:17:58 +0900 (日, 01  7月 2012) | 1 line

PIC の IRQ 0 がマスク解除されている間、IRQ 0 (タイマ割り込み) のエミュレーションを行うようにした。 #28885 参照
------------------------------------------------------------------------
r48 | yuichi_xy | 2012-07-01 22:01:07 +0900 (日, 01  7月 2012) | 1 line

Int 15/AH=86h BIOS CALL が指定時間待つときに、 RTC を使用せずに TSC を使用するようにした。
------------------------------------------------------------------------
r49 | yuichi_xy | 2012-07-08 23:25:25 +0900 (日, 08  7月 2012) | 1 line

レガシー割り込みを無効にした状態で HPET を使用可能にした。 #28893 参照。
------------------------------------------------------------------------
r50 | yuichi_xy | 2012-07-15 23:02:51 +0900 (日, 15  7月 2012) | 1 line

シリアルエミュレータを改造し、INTRSTAT レジスタが読み込まれたら、 TBR Empty 割り込み状態をクリアするようにした。
------------------------------------------------------------------------
r51 | yuichi_xy | 2012-07-16 14:58:07 +0900 (月, 16  7月 2012) | 1 line

Makefile の不要な export と不要なマクロを削除。
------------------------------------------------------------------------
r52 | yuichi_xy | 2012-07-16 15:50:38 +0900 (月, 16  7月 2012) | 1 line

Free BSD の GCC (4.2.1 20070831 patched) でコンパイルした際の警告を修正した。た だし、invept をコンパイルできないことや、ld が「unrecognised emulation mode」と いうエラーを発生させてしまうため、 Free BSD 上ではコンパイル可能になっていない。
------------------------------------------------------------------------