Download List

프로젝트 설명

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 2013-08-25 23:39
tinyvisor 0.9 (1 files Hide)

Release Notes

TinyVisor 0.9 (r107)


新機能

IvyBridge 世代の PC で TinyVisor および OS を起動可能にしました。

vm1 の再起動時、vm1 に割り当てられたデバイスをリセットするようにしました。


その他の変更

gcc (4.7.2) でコンパイル可能にしました。

Guest BIOS のベースを SeaBIOS 1.7.3 にアップデートしました。

その他、バグ修正。


既知の問題

#31926 vm0 と vm1 を作成した時に vm1 側で AHCI タイムアウトが発生し OS が起動しない

#31925 Qemu上でTinyvisorを起動したところ、Linuxが起動しない

#31923 vm1 の Linux を再起動しようとしたところ、General Protection Fault

#31858 4GB以上のメモリをvm1に割り当てると、Linux が起動中にストールする

#31857 4GB境界を跨ぐメモリをvm1に割り当てると、vm1の再起動時にAHCIがタイムアウト する

#31392 vm1のFreeBSDを再起動すると、AHCIの初期化に失敗する

#30457 複数のCPUを生成したQEMU上でTinyVisorを動作させると、Guest Linuxがsoft lockupのエラー

#29706 vm0 を GRUB で止めている状態で、 vm1 を起動しシャットダウンすると、0x0F の割り込みが発生し VMM がパニック

#29240 VMM起動後のGRUB画面で、Ctrl+ALT+DELを入力すると、VMMがpanic

#29191 USBメモリにVMMとGRUBを書き込んでみたところ、panic

#28765 boot_drive=81でOSの起動したところ、General protection faultが発生し panic

Changelog

------------------------------------------------------------------------
r93 | yuichi_xy | 2013-07-04 23:45:34 +0900 (木, 04  7月 2013) | 1 line

OS が xsetbv 命令を実行して VMexit が発生した場合、ハイパーバイザが代わりに実行 するようにした。OS が CR4 の OSXSAVE ビットを設定した場合、Host の CR4 の OSXSAVE ビットも設定するようにした。VMM を移動するために move_vmm_area64 を呼ぶと原因 不明のリセットされるので、memcpy に変更。 #31580 参照
------------------------------------------------------------------------
r94 | yuichi_xy | 2013-07-06 08:50:59 +0900 (土, 06  7月 2013) | 1 line

不明な DMAR Structure が存在するときに DMAR の clear をし忘れるバグを修正。
------------------------------------------------------------------------
r95 | yuichi_xy | 2013-07-06 08:52:42 +0900 (土, 06  7月 2013) | 1 line

ACPI APIC structure の local x2APIC を無効化
------------------------------------------------------------------------
r96 | yuichi_xy | 2013-07-06 23:34:53 +0900 (土, 06  7月 2013) | 1 line

Guest BIOS コンパイル時の warning を修正。
------------------------------------------------------------------------
r97 | yuichi_xy | 2013-07-07 21:39:39 +0900 (日, 07  7月 2013) | 1 line

gcc (4.7.2) の warning を修正
------------------------------------------------------------------------
r98 | yuichi_xy | 2013-07-07 22:34:29 +0900 (日, 07  7月 2013) | 1 line

struct pci_device のポインタを引数に、configuration access 可能にした
------------------------------------------------------------------------
r99 | yuichi_xy | 2013-07-10 23:03:15 +0900 (水, 10  7月 2013) | 1 line

vm1 の再起動時、vm1 に割り当てられたデバイスに対し Secondary Bus Reset を発行す るようにした。
------------------------------------------------------------------------
r100 | yuichi_xy | 2013-07-14 23:17:41 +0900 (日, 14  7月 2013) | 1 line

BIOS の自動で生成される VERSION の値を変更
------------------------------------------------------------------------
r101 | yuichi_xy | 2013-07-21 13:25:39 +0900 (日, 21  7月 2013) | 1 line

SeaBIOS 1.7.3 を登録
------------------------------------------------------------------------
r102 | yuichi_xy | 2013-07-21 14:08:28 +0900 (日, 21  7月 2013) | 1 line

ファイルの登録漏れと削除漏れを修正
------------------------------------------------------------------------
r103 | yuichi_xy | 2013-07-28 00:25:32 +0900 (日, 28  7月 2013) | 1 line

r3 から r100 の間に BIOS に対して行った変更をマージ
------------------------------------------------------------------------
r104 | yuichi_xy | 2013-07-28 16:20:28 +0900 (日, 28  7月 2013) | 1 line

r103 で入ってしまった余計な変更を元に戻した
------------------------------------------------------------------------
r105 | yuichi_xy | 2013-08-09 10:15:20 +0900 (金, 09  8月 2013) | 1 line

IO page table をダンプするコードを修正。
------------------------------------------------------------------------
r106 | yuichi_xy | 2013-08-25 15:12:31 +0900 (日, 25  8月 2013) | 1 line

VMM 起動時、APIC を無効化しないようにした。 #31863 参照
------------------------------------------------------------------------
r107 | yuichi_xy | 2013-08-25 20:12:58 +0900 (日, 25  8月 2013) | 1 line

OS 上で General Protection Fault が発生しても VMM が panic しないようにした。
------------------------------------------------------------------------