mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-16 22:37:49 +00:00
Compare commits
3 Commits
d07b3d089e
...
096c044b4f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
096c044b4f | ||
|
|
6060898753 | ||
|
|
c8688719ee |
@@ -142,7 +142,7 @@ CPUはダブルフォルトハンドラを呼べるようになったので、
|
||||
|
||||
[AMD64 manual]: https://www.amd.com/system/files/TechDocs/24593.pdf
|
||||
|
||||
例えばページフォルトに続いてゼロ除算例外が起きた場合は問題ありません(ページフォルトハンドラが呼び出される)が、一般保護違反に続いてゼロ除算例外が起きた場合はダブルフォルトが発生します。
|
||||
例えばゼロ除算例外に続いてページフォルトが起きた場合は問題ありません(ページフォルトハンドラが呼び出される)が、ゼロ除算例外に続いて一般保護違反が起きた場合はダブルフォルトが発生します。
|
||||
|
||||
この表を見れば、先程の質問のうち最初の3つに答えることができます:
|
||||
|
||||
@@ -382,7 +382,7 @@ pub fn init() {
|
||||
[`set_cs`]: https://docs.rs/x86_64/0.14.2/x86_64/instructions/segmentation/fn.set_cs.html
|
||||
[`load_tss`]: https://docs.rs/x86_64/0.14.2/x86_64/instructions/tables/fn.load_tss.html
|
||||
|
||||
これで正常なTSSと割り込みスタックテーブルを読み込みこんだので、私達はIDT内のダブルフォルトハンドラにスタックインデックスをセットすることができます:
|
||||
これで正常なTSSと割り込みスタックテーブルを読み込んだので、私達はIDT内のダブルフォルトハンドラにスタックインデックスをセットすることができます:
|
||||
|
||||
```rust
|
||||
// in src/interrupts.rs
|
||||
|
||||
Reference in New Issue
Block a user