Booting linux kernel on my RISC-V part2

Monday, March 22, 2021

前回 で起きた、riscv-intの初期化中?のハングの原因を見ていく。

問題点

前回のLinuxの実行ログ。

riscv-intの出力のあと、シミュレータがハングしているようである。

原因に目星をつける。

riscv-intが32 local interruptsを持っていると認識したということは、FDTを読んで、デバイスドライバの選択をし、初期化を始めたはず。 考えられる原因として、

  • 割込みコントローラーのロード・ストアアクセスフォルト(アドレスのレンジを超えた?)
  • デバイスツリーの記述ミス

あたりかなと思う。

一先ず、Linux kernelがriscv-intに対して何をしてるのか調べてみることから始める。

LinuxLinuxRISC-VCPU

Reading linux kernel part1

Reading OpenSBI part7