ダウンロード
(2025年9月3日更新)
本書のサンプルプログラムは、下記のGitHubで公開しています。
- https://github.com/PG-MANA/MiniVisor
使用する際はリポジトリをクローンしてください。詳しくは第1章で解説しています。
お詫びと訂正(正誤表)
本書の以下の部分に誤りがありました。ここに訂正するとともに、ご迷惑をおかけしたことを深くお詫び申し上げます。
(2025年10月8日最終更新)
P.20 本文6行目
誤 |
読み込み専用のものあります |
正 |
読み込み専用のものもあります |
P.44 本文下から1行目
誤 |
read_reg_propaty |
正 |
read_reg_property |
P.51 本文下から9行目
P.94 リスト3.23の10行目と本文下から3行目
※サンプルプログラムは修正済み
P.94 リスト3.23の11行目と本文下から3行目
※サンプルプログラムは修正済み
P.95 図3.21のキャプション
P.128 リスト5.1の4行目、6行目、13行目
※サンプルプログラムは修正済み
P.134 リスト5.4の3行目
誤 |
let register_offset = int_id & (u32::BITS / 2 - 1);
|
正 |
let register_offset = (int_id & (u32::BITS / 2 - 1)) * 2;
|
※サンプルプログラムは修正済み
P.137 リスト5.8の2行目と11行目
※サンプルプログラムは修正済み
P.138 リスト5.8(つづき)の7行目
※サンプルプログラムは修正済み
P.142 リスト5.12(つづき)の10行目
※サンプルプログラムは修正済み
P.146 本文下から12行目
誤 |
interrupt_number[0] |
正 |
interrupts[0] |
P.146 本文下から4行目
誤 |
interrupt_number[1] |
正 |
interrupts[1] |
P.146 本文下から3行目
誤 |
interrupt_number[2] |
正 |
interrupts[2] |
P.157 本文8行目
P.164 本文5行目
誤 |
次のdataというメンバが入ります。 |
正 |
次にdataというメンバがあります。 |
P.181 リスト6.31の13行目
誤 |
length -= (file_info.file_size as usize) - offset;
|
正 |
length = (file_info.file_size as usize) - offset;
|
※サンプルプログラムは修正済み
P.199 本文下から8行目
P.201 本文3行目
P.202 本文5行目
P.202 本文下から4行目
誤 |
これでscripts/virt/dtsを |
正 |
これでscripts/virt/dtsが |
P.212 本文11行目
誤 |
割り込みの処理が終えると |
正 |
割り込みの処理が終わると |
P.219 本文下から4行目
誤 |
src/interrupt.rs |
正 |
src/exception.rs |
P.246 本文下から4行目
誤 |
もう一つの方法はPSCIは |
正 |
もう一つの方法のPSCIは |
P.97 リスト3.25 _map_address_stage2 関数(先頭部分) 中
誤 |
descriptor.set_shareability(Shareability::InterShareable);
|
正 |
descriptor.set_shareability(Shareability::InnerShareable);
|
※サンプルプログラムは修正済み
P.99 リスト3.26 _map_address_stage2関数(続き) 中
※サンプルプログラムは修正済み
P.99 リスト3.26 _map_address_stage2関数(続き) 中
誤 |
descriptor.set_shareability(Shareability::InterShareable);
|
正 |
descriptor.set_shareability(Shareability::InnerShareable);
|
※サンプルプログラムは修正済み