3/6
- Lab 3 Part A
- Exercise 2 lab3: finish exercise2 (maybe) · itkq/jos@d0892b0 · GitHub
- 実装できたと思いきや再起動ループになる…
- が実際は想定通りの動作で、下に説明があった (気づかなくてハマった)。ELF バイナリ
hello
の中で文字を表示するint
命令があり、ここで CPU の kernel space から user space への遷移の許可をしていないため CPU はリセットしてリブートする (この挙動自体はレガシーらしい) env_alloc()
まわりのイメージはこんな感じだとおもう
- Exercise 2 lab3: finish exercise2 (maybe) · itkq/jos@d0892b0 · GitHub
3/7
- Lab 3
- exercise 4 lab3: finish part A · itkq/jos@3c26300 · GitHub
- movl のオペランドに segment registers はだめ (はまった…)
- exercise 5, 6 lab3: finish exercise 5 · itkq/jos@86ff5fd · GitHub lab3: finish exercise 6 · itkq/jos@7fe7026 · GitHub
- やるだけ
- system call の実装が始まって楽しくなってきた
- exercise 4 lab3: finish part A · itkq/jos@3c26300 · GitHub
3/8
- Lab 3
- exercise 7, 8 https://github.com/itkq/jos/commit/6cab440229ecb208c053f23a9c65d440632b5d93 lab3: finish exercise 8 · itkq/jos@871fbaa · GitHub
- user/testbss で失敗する…なぜ…
- exercise 7, 8 https://github.com/itkq/jos/commit/6cab440229ecb208c053f23a9c65d440632b5d93 lab3: finish exercise 8 · itkq/jos@871fbaa · GitHub
3/10
- Lab 3
- testbss で失敗するのはメモリ割り当てとロードっぽい
- ページ境界とロード部分ミスってた (はまった) lab3: bugfix on exercise 2 · itkq/jos@b041657 · GitHub
- exercise 9 lab3: finish exercise 9 · itkq/jos@ebf671d · GitHub
- exercise 10 lab3: finish exercise 10 · itkq/jos@63727f9 · GitHub
- monitor で backtrace コマンドを実装した (本当は Lab 1 でやってた) Enable backtrace in monitor (lab1 exercise 12) · itkq/jos@73abb13 · GitHub
- testbss で失敗するのはメモリ割り当てとロードっぽい
とりあえず Lab 3 まで終えたが…あと3週間でやるぞやるぞ