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).
なし
Fedora 20、Debian 7.0、FreeBSD 10.0、Windows 8.1(VM0のみ)が起動、再起動可能なことなどを確認しています。 詳細は以下を参照してください。
#34742 UEFI環境において、VM0でWindows 8.1を起動すると、シリアルコンソールへVMMのメッセージが出力されなくなる
#34365 VM1で起動したFreeBSDを再起動すると、NICで通信ができない
#33655 VM0でWindows 8.1を再起動すると、ストールすることがある
#32901 VM1でFedora 20を再起動すると、ログイン画面が表示されない
#32660 VM0で起動したFreeBSDを再起動すると、NICで通信ができない
#32404 VM1にCPUを1個しか割り当てずにVM1でFreeBSDを起動しようとすると、NICがリンクアップしない
------------------------------------------------------------------------ r318 | yuichi_xy | 2015-02-09 23:56:24 +0900 (月, 09 2月 2015) | 1 line UEFI なしのブランチを作成 ------------------------------------------------------------------------ r319 | yuichi_xy | 2015-02-11 21:59:02 +0900 (水, 11 2月 2015) | 1 line trunk の r304-306,308-309,311-313,315-316 をマージした。 ------------------------------------------------------------------------ r316 | yuichi_xy | 2015-01-25 23:47:26 +0900 (日, 25 1月 2015) | 1 line マージ経路: r319 r315 で埋め込んだ、 gmm_trans->mem_map_count の値が 1 小さくなる不具合を修正した ------------------------------------------------------------------------ r315 | yuichi_xy | 2015-01-18 23:02:33 +0900 (日, 18 1月 2015) | 1 line マージ経路: r319 VM0 以外の VM 向けに 4GB 直下のメモリホールを生成する処理が、gmm_assign.c と gmm_trans.c に分散していたので、 gmm_trans.c に集約した。 ------------------------------------------------------------------------ r313 | yuichi_xy | 2015-01-17 14:00:50 +0900 (土, 17 1月 2015) | 1 line マージ経路: r319 VMCS 用のメモリの確保時に、VMCS をゼロクリアするようにした。make clean 時、build_date.c と vmm/build_date.o が存在しないと、処理が中断する不具合を修正した。 ------------------------------------------------------------------------ r312 | yuichi_xy | 2015-01-11 22:11:04 +0900 (日, 11 1月 2015) | 1 line マージ経路: r319 r311 で fw_cfg のエントリを追加したのに、最大値を増やし忘れたので増やした。 ------------------------------------------------------------------------ r311 | yuichi_xy | 2015-01-11 17:33:12 +0900 (日, 11 1月 2015) | 4 lines マージ経路: r319 fw_cfg で VM に割り当てられた論理プロセッサの数を取得できるようにした。 apic_available 関数では MSR_IA32_APIC_BASE_MSR_APIC_GLOBAL_ENABLE_BIT を参照しないようにした。 UEFI 環境で shell=0 を指定して起動した場合は、VMM が BSP 以外の論理プロセッサを開始させるようにした。 BSP の APIC ID を読み取る処理がなかったため追加した。 ------------------------------------------------------------------------ r309 | yuichi_xy | 2015-01-05 22:02:42 +0900 (月, 05 1月 2015) | 1 line マージ経路: r319 svn:ignore を修正 ------------------------------------------------------------------------ r308 | yuichi_xy | 2015-01-05 19:50:34 +0900 (月, 05 1月 2015) | 1 line マージ経路: r319 r306 で vmm_elf.patch を登録し忘れていたので登録した。 ------------------------------------------------------------------------ r306 | yuichi_xy | 2015-01-04 23:15:09 +0900 (日, 04 1月 2015) | 1 line マージ経路: r319 vmm ディレクトリ配下で make を実行するだけで vmm.elf という名前でバイナリが生成されるようにした。vmm.elf や bios.bin を一番上のディレクトリにコピーしないようにした。 ------------------------------------------------------------------------ r305 | yuichi_xy | 2015-01-04 22:55:01 +0900 (日, 04 1月 2015) | 1 line マージ経路: r319 BIOS の patch の説明を追加した。 ------------------------------------------------------------------------ r304 | yuichi_xy | 2015-01-04 22:54:08 +0900 (日, 04 1月 2015) | 1 line マージ経路: r319 _S1 から _S3 を無効化するようにした(_S4 を無効化しないようにした)。 ------------------------------------------------------------------------ r321 | yuichi_xy | 2015-02-11 22:43:35 +0900 (水, 11 2月 2015) | 1 line trunk の r320 をマージした。 ------------------------------------------------------------------------ r320 | yuichi_xy | 2015-02-11 22:31:47 +0900 (水, 11 2月 2015) | 1 line マージ経路: r321 起動メッセージを更新した。 ------------------------------------------------------------------------ r323 | yuichi_xy | 2015-02-11 23:53:43 +0900 (水, 11 2月 2015) | 1 line trunk の r322 をマージした。 ------------------------------------------------------------------------ r322 | yuichi_xy | 2015-02-11 23:52:11 +0900 (水, 11 2月 2015) | 1 line マージ経路: r323 copy.sh がコピーする vmm.elf と bios.bin のパスを修正した。 ------------------------------------------------------------------------