Upgrade to Pro — share decks privately, control downloads, hide ads and more …

フルスクラッチOS格闘記 〜タイマ割り込みをメインに〜

フルスクラッチOS格闘記 〜タイマ割り込みをメインに〜

Totsugekitai

August 17, 2019
Tweet

More Decks by Totsugekitai

Other Decks in Programming

Transcript

  1. トホホなバグの苦労話 -mno-red-zone - -mno-red-zoneのつけ忘れで割り込みが死んだ - Red Zoneとは - 他の関数を呼び出さない関数において -

    スタックポインタを動かさずに、スタックポイン タよりも 128 byte 小さい アドレスまでのメモリ 領域を勝手に使うというコンパイラの最適化 - 赤い部分にある値が勝手に使われる 画像はWriting an OS in Rust(2nd Edition) Disable the Red Zone https://os.phil-opp.com/red-zone/ から引用
  2. トホホなバグの苦労話 -mno-red-zone - -mno-red-zoneのつけ忘れで割り込みが死ん だ - こんな感じのことが起きた i. 普通の関数がRedZoneに書き込む ii.

    割り込みが来て→のように書き込ま れる iii. もとの関数がRedZoneを読み出す iv. \(^q^)/ 画像はWriting an OS in Rust(2nd Edition) Disable the Red Zone https://os.phil-opp.com/red-zone/ から引用