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-11-22 23:39
tinyvisor 0.11 (1 files Hide)

Release Notes

TinyVisor 0.11 (r123)


新機能

VM0に割り当てたデバイスから、VM1やVMMに割り当てたメモリへアクセスできないようにしました。

VM1のデバイスに割り当てられたメモリリソースの上端と下端を、ACPI PCI Root Bridgeオブジェクトの_CRSメソッドで返却するようにしました。

VM1のOSが読みだし可能なRTCのレジスタを増やし、OSが正しい時刻を認識できるようにしました。


その他の変更

バグ修正をしました。「修正した問題」を参照してください。


動作確認内容

以下のことを確認済です。


1. USB メモリに TinyVisor をインストール可能なこと。

2. Linux のファイルシステムに TinyVisor をインストール可能なこと。

3. vm0 のみで OS を起動可能なこと。

15. IvyBridge マシンにおいて、次の組み合わせで OS を起動可能なこと。
   vm0: Debian GNU/Linux 7.0 (amd64版)
   vm1: FreeBSD 9.2-RELEASE (amd64版)
        この時、vm1のOSから以下のI/Oデバイスを使用可能なこと。
        SATA: ASMedia ASM1062 
        NIC: Realtek RTL8111E
        USB: Intel 7 Series/C210 Series ChipsetのxHCI

16. IvyBridge マシンにおいて次の組み合わせで OS を起動可能なこと。
   vm0: FreeBSD 9.2-RELEASE (amd64版)
   vm1: Debian GNU/Linux 7.0 (amd64版)
        この時、vm1のOSから以下のI/Oデバイスを使用可能なこと。
        SATA: ASMedia ASM1062 
        NIC: Realtek RTL8111E
        USB: Intel 7 Series/C210 Series ChipsetのxHCI
        VGA: GeForce 8400 GS

11. IvyBridge マシンにおいて次の組み合わせで OS を起動可能なこと。
   vm0: Debian GNU/Linux 7.0 (amd64版)
   vm1: Debian GNU/Linux 7.0 (amd64版)

12. IvyBridge マシンにおいて vm1 で動作している Debian GNU/Linux 7.0
    (amd64版) を再起動可能なこと。


修正した問題


#32428 2013-11-10 21:20 VM1でFreeBSDを起動すると、RTC関連のエラーメッセージが出力される

#32407 2013-11-05 22:06 VM1でLinuxを起動すると、RTC関連のエラーメッセージが出力される

#32324 2013-10-24 23:24 vm1.cpu=4,6 shell=4を指定してTinyVisorを起動するとpage fault

#32301 2013-10-15 22:54 VMMの起動開始メッセージの出力直後にPCがリセットされる


既知の問題


#32404 VM1にCPUを1個しか割り当てずにVM1でFreeBSDを起動しようとすると、NICがリンクアップしない

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

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

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

Changelog

------------------------------------------------------------------------
r113 | yuichi_xy | 2013-10-20 08:17:37 +0900 (日, 20 10月 2013) | 1 line

currentcpu が初期化されていない状態では、割り込みが有効化されないようにした。 #32301 参照
------------------------------------------------------------------------
r114 | yuichi_xy | 2013-10-28 23:23:23 +0900 (月, 28 10月 2013) | 1 line

BIOS: VM1 のデバイスに割り当てられたメモリリソースの上端と下端を _CRS で返却するようにした
------------------------------------------------------------------------
r115 | yuichi_xy | 2013-10-28 23:30:24 +0900 (月, 28 10月 2013) | 1 line

拡張ROMにリソースが割り当てられていた場合は、VMMが割り当て直さないようにした
------------------------------------------------------------------------
r116 | yuichi_xy | 2013-11-03 13:01:50 +0900 (日, 03 11月 2013) | 1 line

VM0 に割り当てたデバイスから、 VM1 や VMM に割り当てたメモリへアクセスできないようにした
------------------------------------------------------------------------
r117 | yuichi_xy | 2013-11-03 17:12:38 +0900 (日, 03 11月 2013) | 1 line

vm1.cpu=で指定した最初のCPUと、shellで指定したCPUが一致する場合、VM1の起動を抑止してshellを起動するようにした。#32324 参照
------------------------------------------------------------------------
r118 | yuichi_xy | 2013-11-05 00:06:53 +0900 (火, 05 11月 2013) | 1 line

vmパラメータでvm0を指定しない場合、vm_get_id が返却する値が-1になる不具合を修正
------------------------------------------------------------------------
r119 | yuichi_xy | 2013-11-05 23:08:38 +0900 (火, 05 11月 2013) | 1 line

RTC の Register B の Data Mode フィールドと Hour Format フィールドを VM1 から読 み出せるようにした。 #32407 参照
------------------------------------------------------------------------
r122 | yuichi_xy | 2013-11-10 23:05:10 +0900 (日, 10 11月 2013) | 1 line

FreeBSD が RTC の Update In Progress と Valid RAM and Time Bit を参照しているた め、パススルーするようにした。 #32428 参照
------------------------------------------------------------------------
r123 | yuichi_xy | 2013-11-18 22:21:44 +0900 (月, 18 11月 2013) | 1 line

BIOS: MTTR の初期化を無効化
------------------------------------------------------------------------