Commit 2ece366 1 parent 1fc3e81 commit 2ece366 Copy full SHA for 2ece366
File tree 13 files changed +91
-50
lines changed
13 files changed +91
-50
lines changed Original file line number Diff line number Diff line change 1
- # 第10回 Intel VT-xを用いたハイパーバイザの実装その6「ユーザランドでのI/Oエミュレーション」
1
+ ---
2
+ authors :
3
+ -
' Takuya ASADA [email protected] '
4
+ title : |
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第10回 Intel VT-xを用いたハイパーバイザの実装その6「ユーザランドでのI/Oエミュレーション」
7
+ ...
2
8
3
9
# # はじめに
4
10
Original file line number Diff line number Diff line change 1
- # 第11回 virtio による準仮想化デバイス その1「virtioの概要とVirtio PCI」
1
+ ---
2
+ authors :
3
+ -
' Takuya ASADA [email protected] '
4
+ title : |
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第11回 virtioによる準仮想化デバイス その1「virtioの概要とVirtio PCI」
7
+ ...
2
8
3
9
# # はじめに
4
10
Original file line number Diff line number Diff line change 1
- # 第12回 virtioによる準仮想化デバイスその2「Virtqueueとvirtio-netの実現」
1
+ ---
2
+ authors :
3
+ -
' Takuya ASADA [email protected] '
4
+ title : |
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第12回 virtioによる準仮想化デバイス その1「Virtqueueとvirtio-netの実現」
7
+ ...
2
8
3
9
# # はじめに
4
10
Original file line number Diff line number Diff line change 1
- # ハイパーバイザの作り方第15回 PCIパススルーその1「PCIパススルーとIOMMU」
1
+ ---
2
+ authors :
3
+ -
' Takuya ASADA [email protected] '
4
+ title : |
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第15回 PCIパススルーその1「PCIパススルーとIOMMU」
7
+ ...
2
8
3
9
# # はじめに
4
10
Original file line number Diff line number Diff line change 1
- # ハイパーバイザの作り方第16回PCIパススルーその2「VT-dの詳細」
1
+ ---
2
+ authors :
3
+ -
' Takuya ASADA [email protected] '
4
+ title : |
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第16回 PCIパススルーその2「VT-dの詳細」
7
+ ...
2
8
3
9
# # はじめに
4
10
Original file line number Diff line number Diff line change 2
2
authors :
3
3
-
' Takuya ASADA [email protected] '
4
4
title : |
5
- ハイパーバイザの作り方~ちゃんと理解する仮想化技術~ 第2回 Intel
6
- VT-xの概要とメモリ仮想化
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第2回 Intel VT-xの概要とメモリ仮想化
7
+ references :
8
+ - id : SDM
9
+ title : Intel(R) 64 and IA-32 Architectures Software Developer Manuals
10
+ URL : ' http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html'
7
11
...
8
12
9
13
VMCSの構造
@@ -364,15 +368,9 @@ Copyright (c) 2014 Takuya ASADA. 全ての原稿データ は
364
368
クリエイティブ・コモンズ 表示 - 継承 4.0 国際
365
369
ライセンスの下に提供されています。
366
370
371
+ 参考文献
372
+ ========
373
+
367
374
[^1] : 別の方式としてセグメント方式というものがあり、x86アーキテクチャはこの方式からページング方式へ移行してきたという歴史的事情があるため、今でもセグメント方式をサポートしています。
368
375
[^2] : 32bit PAEモードの場合も64bitモードのように段数が追加されて仮想メモリ空間が拡張されますが、ここでは解説を省略します。
369
376
[^3] : ハイパーバイザの実装によっては30%ほど高速化すると言われています。
370
-
371
- 参考文献
372
- ========
373
- ---
374
- references:
375
- - id: SDM
376
- title: Intel(R) 64 and IA-32 Architectures Software Developer Manuals
377
- URL: 'http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html '
378
- ...
Original file line number Diff line number Diff line change 1
1
---
2
2
authors :
3
3
-
' Takuya ASADA [email protected] '
4
- title : ' ハイパーバイザの作り方~ちゃんと理解する仮想化技術~ 第3回 I/O 仮想化「デバイス I/O 編」'
4
+ title : |
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第3回 I/O仮想化「デバイスI/O編」
5
7
...
6
8
7
9
ハイパーバイザによるI/O デバイスエミュレーション方法
Original file line number Diff line number Diff line change 2
2
authors :
3
3
-
' Takuya ASADA [email protected] '
4
4
title : |
5
- ハイパーバイザの作り方~ちゃんと理解する仮想化技術~ 第 4 回 I/O
6
- 仮想化「割り込み編・その 1 」
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第4回 I/O仮想化「割り込み編・その1」
7
+ references :
8
+ - id : x2APIC
9
+ title : Intel64 Architecture x2APIC Specification
10
+ URL : ' http://www.intel.com/content/dam/doc/specification-update/64-architecture-x2apic-specification.pdf'
11
+ - id : interrupt-routing
12
+ title : 最近のPCアーキテクチャにおける割り込みルーティングの仕組み
13
+ URL : ' http://syuu1228.github.io/howto_implement_hypervisor/part4_5.pdf'
7
14
...
8
15
9
16
割り込みの種類
@@ -315,18 +322,9 @@ Copyright (c) 2014 Takuya ASADA. 全ての原稿データ は
315
322
クリエイティブ・コモンズ 表示 - 継承 4.0 国際
316
323
ライセンスの下に提供されています。
317
324
325
+ 参考文献
326
+ ========
327
+
318
328
[^1] : これは正確にはLogical Flat Modelというモードで、他にFlat Cluster Model、Hierarchical Cluster Modelなどがありますが、通常使われません。説明は割愛します。
319
329
320
330
[^2] : WindowsではプロセスごとにTPRの値を制御し、プロセスの優先度に多じて割り込み量を変化させています。一方、LinuxではTPR の値は変えずにLowest Priorityを用い、複数のCPUへ割り込みを公平に分散させています。
321
-
322
- 参考文献
323
- ========
324
- ---
325
- references:
326
- - id: x2APIC
327
- title: Intel64 Architecture x2APIC Specification
328
- URL: 'http://www.intel.com/content/dam/doc/specification-update/64-architecture-x2apic-specification.pdf '
329
- - id: interrupt-routing
330
- title: 最近のPCアーキテクチャにおける割り込みルーティングの仕組み
331
- URL: 'http://syuu1228.github.io/howto_implement_hypervisor/part4_5.pdf '
332
- ...
Original file line number Diff line number Diff line change 1
1
---
2
2
authors :
3
3
-
' Takuya ASADA [email protected] '
4
- title : ' 第 5 回 I/O 仮想化「割り込み編・その 2 」'
4
+ title : |
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第5回 I/O仮想化「割り込み編・その2」
7
+ references :
8
+ - id : interrupt-routing
9
+ title : 最近のPCアーキテクチャにおける割り込みルーティングの仕組み
10
+ URL : ' http://syuu1228.github.io/howto_implement_hypervisor/part4_5.pdf'
11
+ - id : part3
12
+ title : 第3回 I/O 仮想化「デバイス I/O 編」
13
+ URL : ' http://syuu1228.github.io/howto_implement_hypervisor/part3.pdf'
5
14
...
6
15
7
16
はじめに
@@ -288,6 +297,9 @@ Copyright (c) 2014 Takuya ASADA. 全ての原稿データ は
288
297
クリエイティブ・コモンズ 表示 - 継承 4.0 国際
289
298
ライセンスの下に提供されています。
290
299
300
+ 参考文献
301
+ ========
302
+
291
303
[^1] : VMCS の VM-Execution Control Fields の Exception Bitmap
292
304
の各ビットが各例外のベクタ番号に対応していて、ここに1
293
305
を設定するとその例外が発生した時に VMExit が発生するよう
@@ -309,15 +321,3 @@ Copyright (c) 2014 Takuya ASADA. 全ての原稿データ は
309
321
が意図する割り込みハンドラと異なる割り込みハンド
310
322
ラを設定できます。また、 IDTR へのアクセスをイベントとし
311
323
て受け取り、デバッグ機能を実装することもできます。
312
-
313
- 参考文献
314
- ========
315
- ---
316
- references:
317
- - id: interrupt-routing
318
- title: 最近のPCアーキテクチャにおける割り込みルーティングの仕組み
319
- URL: 'http://syuu1228.github.io/howto_implement_hypervisor/part4_5.pdf '
320
- - id: part3
321
- title: 第3回 I/O 仮想化「デバイス I/O 編」
322
- URL: 'http://syuu1228.github.io/howto_implement_hypervisor/part3.pdf '
323
- ...
Original file line number Diff line number Diff line change 2
2
authors :
3
3
-
' Takuya ASADA [email protected] '
4
4
title : |
5
- 第 6 回 Intel
6
- VT-xを用いたハイパーバイザの実装「仮想CPUの実行処理・その1 」
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第6回 Intel VT-xを用いたハイパーバイザの実装 その1 「仮想CPUの実行処理」
7
7
...
8
8
9
9
はじめに
Original file line number Diff line number Diff line change 1
1
---
2
2
authors :
3
3
-
' Takuya ASADA [email protected] '
4
- title : 第7回 Intel VT-x を用いたハイパーバイザの実装その2「/usr/sbin/bhyveによる仮想CPUの実行処理」
4
+ title : |
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第7回 Intel VT-xを用いたハイパーバイザの実装その2「/usr/sbin/bhyveによる仮想CPUの実行処理」
5
7
...
6
8
7
9
# はじめに
Original file line number Diff line number Diff line change 1
- # 第8回 Intel VT-xを用いたハイパーバイザの実装その3「vmm.koによるVMEntry」
2
-
1
+ ---
2
+ authors :
3
+ -
' Takuya ASADA [email protected] '
4
+ title : |
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第8回 Intel VT-xを用いたハイパーバイザの実装その4「vmm.koによるVMEntry」
7
+ ...
3
8
4
9
# # はじめに
5
10
Original file line number Diff line number Diff line change 1
- # 第9回 Intel VT-xを用いたハイパーバイザの実装その5「vmm.koへのVMExit」
1
+ ---
2
+ authors :
3
+ -
' Takuya ASADA [email protected] '
4
+ title : |
5
+ ハイパーバイザの作り方~ちゃんと理解する仮想化技術~
6
+ 第9回 Intel VT-xを用いたハイパーバイザの実装その5「vmm.koへのVMExit」
7
+ ...
2
8
3
9
# # はじめに
4
10
You can’t perform that action at this time.
0 commit comments