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