IA-32e模式下的異常處理

來源:互聯網
上載者:User

標籤:選擇   過程   異常   初始   手動   中斷向量表   資料結構   陷阱   set   

系統異常處理CPU如果調用系統例外處理常式需要的資料結構
  • IDT_Table: 中斷向量表, 在中斷向量表中的每一項都是一個中斷描述符(中斷門或者陷阱門), 一個中斷描述符中的幾位是段選擇符
  • GDT或者LDT
處理過程(沒有特權變化的情況)
  • 中斷向量號 -> IDT -> 中斷描述符 -> 段選擇子 -> GDT/LDT -> 段描述符 -> 基地址, 同時得知中斷描述符儲存的段內位移量 -> 中斷處理常式
處理過程(有特權變化的情況)
  • CPU將EFLAGS, CS, EIP, Error Code都壓入棧
注意
  • 中斷和異常向量都在一張IDT表中, IDT表總共256項
  • IDT表的前32項都是異常向量
  • 我們已經在head.S程式的前半部分手動初始化了一下IDT(是不完整的初始化), 在head.S程式的後半階段我們setup IDT表示, 給這256個異常和中斷向量的例外處理常式都設定為同一個目標代碼地址, 都是顯示一串字串"Error! Unknown interrupt or fault at RIP"
  • 初始化完畢IDT之後, 緊接著我們要初始化TSS
真正進入到核心程度之後的系統異常處理
  • 在trap.c檔案中對每一個異常都提供一個異常處理函數(trap, interrupt, system)

IA-32e模式下的異常處理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.