欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Linux 內核--硬件中斷初始化及中斷描述符表

系統 2900 0

本文分析基于Linux 0.11內核,轉載請標明出處 http://blog.csdn.net/yming0221/archive/2011/06/01/6459119.aspx

以下是硬件初始化函數

其中set_trap_gate是宏定義

定義如下

中斷描述符定義如下:

在實地址模式中, CPU 把內存中從 0 開始的 1K 字節作為一個中斷向量表。表中的每個 表項占四個 字節,由兩個字節的段地址和兩個字節的偏移量組成,這樣構成的地址便是相應中斷處理程序的入口地址。但是,在保護模式下,由四字節的表 項構成 的中斷向量 表顯然 滿足不了要求。這是因為, ? 除了兩個字節的段描述符,偏移量必用四字節來表示; ? 要有反映模式切換的信息。因此,在保護模式下,中斷向量表中的表項由 8 個字節組成,如圖 3.2 所示,中斷向量表也改叫做中斷描述符表 IDT Interrupt Descriptor Table )。其中的每個表項叫做一個門描述符( gate descriptor ),“門”的含義是當中斷發生時必須先通過這些門,然后才能進入相應的處理程序。

Linux 內核--硬件中斷初始化及中斷描述符表

3.2 門描述符的一般格式

其中類型占 3 位,表示門描述符的類型,主要門描述符是:

· 中斷門( Interrupt gate

其類型碼為 110, 中斷門包含了一個中斷或異常處理程序所在段的選擇符和段內偏移量。當控制權通過中斷門進入中斷處理程序時,處理器清 IF 標志,即關中斷,以避免嵌套中斷的發生。中斷門中的 DPL Descriptor Privilege Level )為 0 ,因此,用戶態的進程不能訪問 Intel 的中斷門。所有的中斷處理程序都由中斷門激活,并全部限制在內核態。

· 陷阱門( Trap gate

其類型碼為 111, 與中斷門類似,其唯一的區別是,控制權通過陷阱門進入處理程序時維持 IF 標志位不變,也就是說,不關中斷。

· 系統門( System gate

這是 Linux 內核特別設置的,用來讓用戶態的進程訪問 Intel 的陷阱門,因此,門描述符的 DPL 3 。通過系統門來激活 4 Linux 異常處理程序,它們的向量是 3 、 4 5 128 ,也就是說,在用戶態下,可以使用 int3 into bound int0x80 條匯編指令。

最后,在保護模式下,中斷描述符表在內存的位置不再限于從地址 0 開始的地方,而是可以放在內存的任何地方。為此, CPU 中增設了一個中斷描述符表寄存器 IDTR ,用來存放中斷描述符表在內存的起始地址。中斷描述符表寄存器 IDTR 是一個 48 位的寄存器,其低 16 位保存中斷描述符表的大小,高 32 位保存 IDT 的基址,如圖 3.3 所示。

| 32位基地址|界限(16位) 共48位

圖3.3

其中的函數聲明

它們是通過匯編實現的/kernel/asm.s或/kernel/system_call.s

就拿divide_error函數來說明

asm.s中的匯編代碼:

堆棧使用情況如下圖

Linux 內核--硬件中斷初始化及中斷描述符表

開始時,堆棧指針esp指向中斷返回地址的一欄(esp0),eip是指令寄存器,它的內容就是下一條指令的地址。然后通過pushl,將C函數

入棧,此時棧頂指針指向esp1處,通過交換指令xchgl %eax,(%esp),將eax和esp地址的內容(C函數地址)交換。而棧的大小沒有發生

改變。當有數據入棧,esp寄存器大小將相應的減小。

Linux 內核--硬件中斷初始化及中斷描述符表


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品区一区二区三 | 免费观看影院 | 国产剧情一区二区三区 | 国产原创视频在线 | 午夜影晥 | 免费观看性欧美大片无片 | 国产中文字幕在线观看 | 午夜精品久久久久久久男人的天堂 | 久久精品小视频 | 欧美第一网站 | 成人看的一级毛片 | 欧美一级电影网 | 亚洲日本在线观看视频 | 精品久 | 欧美 日韩 国产 一区 | 日韩精选视频 | 精品国产青草久久久久福利 | 国产AV亚洲精品久久久久 | 啪啪网免费 | 日韩欧美福利视频 | 男女www视频 | 久久亚洲精品中文字幕 | 一区二区日韩 | 国产精品国产午夜免费福利看 | 成人深夜视频在线观看 | 99久久久久 | 一级做a爰片久久毛片看看 欧美日韩精品国产一区二区 | 日本黄色网址免费 | 国产精品第1页在线播放 | 在线久草| v视界成人影院在线视频 | 欧美日韩在线观看精品 | 在线一区二区三区 | 超碰97最新 | 91精品久久久久久久久久久 | 欧美一级毛片欧美大尺度一级毛片 | 亚洲先锋资源 | 久久我们这里只有精品国产4 | 日本v在线 | 97在线视频免费 | 色综合久久天天综合网 |