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 22、Debian 8、FreeBSD 10.2、Windows 10(VM0のみ)が起動、再起動可能なことなどを確認しています。 詳細は以下を参照してください。
次の問題があります。
------------------------------------------------------------------------ r347 | yuichi_xy | 2015-09-26 21:44:33 +0900 (2015年09月26日 (土)) | 2 lines VM1 の再起動時に、割り当ている xHCI の再設定を行うようにした。 #35569 参照 ------------------------------------------------------------------------ r346 | yuichi_xy | 2015-09-23 22:48:28 +0900 (2015年09月23日 (水)) | 5 lines VMの再起動時に行うレジスタの再初期化を改造し、対象とするデバイスをSecondary Bus Reset の影響を受けるデバイスと、D3 hot へ遷移させたデバイスに絞った。また、対象とするレジスタも、標準的な次のレジスタに絞った。 * PCI ヘッダ * PM Capability Structure * PCIe Capability Structure #35557, #34365 参照 ------------------------------------------------------------------------ r345 | yuichi_xy | 2015-09-21 23:07:53 +0900 (2015年09月21日 (月)) | 1 line r344 の実装を変更して、USB2 port を xHCI へ接続する設定値を、VMM の起動時に保存しておき、VM1 の再起動時にリストアする方式にした。VM1 の再起動時に、一瞬 EHCI へ接続されてしまうと困るので。 #35527 参照 ------------------------------------------------------------------------ r344 | yuichi_xy | 2015-09-21 21:58:00 +0900 (2015年09月21日 (月)) | 1 line VM1 の再起動後、USB2 port を xHCI へ接続するよう xHCI を再設定するようにした。 #35527 参照 ------------------------------------------------------------------------ r343 | yuichi_xy | 2015-09-21 20:13:44 +0900 (2015年09月21日 (月)) | 1 line VM1 の再起動時におこなう、PCI デバイスのコンフィグレーションレジスタを再設定処理において、コマンドレジスタの再設定を最後に行うようにした。 ------------------------------------------------------------------------ r342 | yuichi_xy | 2015-09-12 22:17:33 +0900 (2015年09月12日 (土)) | 1 line マクロを一つ変更するだけで、VMM がエミュレートするシリアルポートを変更できるようにした。 ------------------------------------------------------------------------ r341 | yuichi_xy | 2015-09-12 22:09:53 +0900 (2015年09月12日 (土)) | 1 line r338 で登録した exint_pass.patch に、 exint_8259a.o を vmm/core/Makefile に追加する差分が入っていなかったので追加した。 ------------------------------------------------------------------------ r340 | yuichi_xy | 2015-09-12 21:56:43 +0900 (2015年09月12日 (土)) | 1 line make all と make clean の対象から uefi を除外した。 ------------------------------------------------------------------------ r339 | yuichi_xy | 2015-09-12 21:43:30 +0900 (2015年09月12日 (土)) | 1 line RDTSCP 命令を有効にする。 BitVisor の開発ツリーからのバックポート。 #35522 参照 ------------------------------------------------------------------------ r338 | yuichi_xy | 2015-09-08 23:38:31 +0900 (2015年09月08日 (火)) | 1 line process ディレクトリ配下のソースファイルがコンパイルされない問題を解決するため BitVisor の開発ツリーからら修正内容をバックポートした。 ------------------------------------------------------------------------ r337 | yuichi_xy | 2015-09-06 22:16:16 +0900 (2015年09月06日 (日)) | 1 line 割り込みのインターセプトを make config で無効化できるようにした。 ------------------------------------------------------------------------ r336 | yuichi_xy | 2015-09-06 11:31:33 +0900 (2015年09月06日 (日)) | 1 line callrealmode_call_vcpu で CS_SEL/CS_BASE を 0 に設定するようにした。 #35482 参照 ------------------------------------------------------------------------ r335 | yuichi_xy | 2015-09-05 23:36:49 +0900 (2015年09月05日 (土)) | 1 line マクロを1つ変更するだけで、VMM のメッセージを出力するシリアルポートを変更できるようにした。 ------------------------------------------------------------------------ r334 | yuichi_xy | 2015-09-05 23:05:15 +0900 (2015年09月05日 (土)) | 1 line パッチにコメントを追加した。 ------------------------------------------------------------------------ r329 | yuichi_xy | 2015-05-04 11:18:09 +0900 (2015年05月04日 (月)) | 1 line debian 8.0 でコンパイルすると、定義が重複というエラーになる不具合を修正した。 ------------------------------------------------------------------------ r326 | yuichi_xy | 2015-02-22 22:54:46 +0900 (2015年02月22日 (日)) | 1 line マルチファンクションデバイスのファンクション0を他のVMに割り当てた場合に、OSに見せるダミーのファンクション0のベンダIDを変更した。 #34907 参照 ------------------------------------------------------------------------ r325 | yuichi_xy | 2015-02-22 22:18:05 +0900 (2015年02月22日 (日)) | 1 line make clean で map ファイルを削除するようにした。 ------------------------------------------------------------------------ r317 | yuichi_xy | 2015-02-09 23:25:32 +0900 (2015年02月09日 (月)) | 1 line ブートローダがロードした GBIOS のサイズが 128 KB を超えた場合、GBIOS が UEFI と判断し、次の処理を行う。 ------------------------------------------------------------------------ r314 | yuichi_xy | 2015-01-17 14:02:07 +0900 (2015年01月17日 (土)) | 1 line make clean で uefi 配下のバイナリファイルも削除するようにした。 ------------------------------------------------------------------------ r310 | yuichi_xy | 2015-01-05 23:59:07 +0900 (2015年01月05日 (月)) | 1 line UEFI をビルドするようにした。 ------------------------------------------------------------------------