Télécharger la liste

Description du projet

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).

Système requise

System requirement is not defined

Livrée : 2015-02-12 00:09
tinyvisor 1.5 (1 files Cacher)

Notes de release

TinyVisor 1.5 (without-uefi branch r323)


新機能

なし


その他の変更

  • UEFI 環境でも、 shell=0 を指定して起動した場合は、VMM が BSP 以外の論理プロセッサを開始させるようにしました。
  • _S1 から _S3 を無効化するようにしました(_S4 を無効化しないようにしました)。


修正した問題

  • panic 時に未初期化の VMCS がダンプされる不具合を修正しました。
  • BSP の APIC ID を読み取る処理がなかったため追加しました。


動作確認内容

Fedora 20、Debian 7.0、FreeBSD 10.0、Windows 8.1(VM0のみ)が起動、再起動可能なことなどを確認しています。 詳細は以下を参照してください。

https://sourceforge.jp/projects/tinyvisor/wiki/%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E6%99%82%E3%81%AE%E8%A9%95%E4%BE%A1%E9%A0%85%E7%9B%AE


既知の問題

#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がリンクアップしない

Changelog

------------------------------------------------------------------------
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 のパスを修正した。
------------------------------------------------------------------------