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

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

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

Avatar for Totsugekitai

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/ から引用