Download List

Project Description

TinyVisor is a hypervisor(VMM) which assigns cpus, memory and I/O in personal computer(PC) to VMs, and allows OSs controlling them. OSs work without host OS.

The first milestone is that two OSs work in one PC. The second milestone is that OSs reboot individually. The milestones have been achived in Jan. 2014, and 1.0 is released.

Linux, Windows, and FreeBSD work.

VMM is based on BitVIsor(BSD license). AML interpriter and some functions of standard library are ported from NetBSD and FreeBSD.

Guest BIOS is based on SeaBIOS(BSD license).

System Requirements

System requirement is not defined

Released at 2012-06-23 20:14
tinyvisor 0.5 (1 files Hide)

Release Notes

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 宛にメールを送付してください。

Changelog

------------------------------------------------------------------------
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 からバックポート。
------------------------------------------------------------------------