Who Am I | 分類 | Q&A |
Pick-ups
> F.I.R 和Globe 和Keiko
> 有關玩TFT 的啟示
> 升4段後有感,這是有關圍棋的心路歷程
> Monster Hunter 中的龍屬性到底是甚麼?
> MySQL 的Linear Hash 到底有多「不亂」

Archive
2022-04
> 艾爾登法環結局淺解
2022-03
> Is Golang's error handling good or bad, comparing to `try...catch`?
2021-07
> 我又用Frameset 了
> 請不要參加Web Summit 2017 年的活動
> 制限籃球
> 雀魂
2021-04
> The things I tested on a broadcast queue - multiqueue2
> MySQL 的Linear Hash 到底有多「不亂」
2021-03
> Svelte 推坑文
2021-02
> 說說關於反射的那些事
2020-10
> Monster Hunter 中的龍屬性到底是甚麼?
2020-09
> MHW 遊記 ScreenShot 節錄 - 1
> MHW 遊記 ScreenShot 節錄 - 2
> MHW 遊記 ScreenShot 節錄 - 3
2020-08
> 升4段後有感,這是有關圍棋的心路歷程
2020-07
> How To Save your Facebook Archive
> 有關玩TFT 的啟示
2020-06
> Decompiling Eurobeat
> 有關Expressiveness (1)
> 有關正向心理學的突破的網友們的討論
> 完全信息遊戲的雜談
> 拆掉六人造人的勇氣
> 對話節錄 - 有關plurk推拉
> Github Daily Trending
2020-05
> 8. aCore - CPU 異常處理(1)
> 7. aCore - 全局界面
> 5. aCore - 正確寫入Buffer 的姿勢 - Volatile
> 6. aCore - 繼續完善字符輸出程序
> 4. aCore - 抽象化VGA
> 屎山推倒計劃
> 1. aCore - 配置Rust Project 和第一次建置
> 2. aCore - Boot image
> 3. aCore - Hello World
2019-11
> Export Facebook Friends list
2019-10
> Development Story on a Standalone Eventually Consistent KV-Store
2019-08
> now blog url
2019-06
> 北極光
> The things I tested on a broadcast queue - multiqueue2
2019-05
> Mio Based Coroutine Libs
> Benchmarking nom 2
> Benchmarking nom
> How does nom v.5 work?
> Multicasting in Rust
2016-07
> 戰zen5
2016-02
> 日記
> PHP7 Upgrade
2015-10
> 刻章的刻
> 日記
2015-07
> 手提裝置漫談
> Touhou Classic Techno 101
2015-06
> SEGA 麻雀能否與雀龍門和天鳳抗衡?
> 如何評價彭羚這個香港歌手?
> Feel Like Dance
> F.I.R 和Globe 和Keiko
> borders
> 在lol 中的情史-下
2015-05
> Old song suggestions - Coldplay - Paradise
> 山伯臨終
> 介紹
> 在lol 中的情史-上
> 在lol 中的情史-中
2015-04
> 中國易經歷史進化哲學原理
> 十年
2014-12
> [借來的CD]金曲蛻變 顧嘉煇 - 我稱之為顧嘉煇的電子樂器初體驗
> [我有的CD] Cling Cling
2014-11
> 夢幻ノ光
2014-07
> 簽名會
> Diary
> [隅田川夏戀歌]好難聽啊! 聽住咁多先orz
> 歸屬感
> [日麻]首次役滿
2014-06
> 試試用九方
> 雜記
> 雜記
2014-05
> 有關我的音樂
2014-04
> 旅遊中一瞬的回憶閃光更新
2014-03
> 推介:2048
> 一頁馬上高大上
> Marasy 回帶彈舊歌
2014-02
> DEA@KAC 2013 Champion 獎品
2014-01
> 轉貼: 2011年好聽粵語歌
> 又寫下音樂(Smile 1-15)
> 回覆備份
> 楊千嬅之老死
2013-12
> DEA
> fb
> 無待堂: 是的,我地柒咗
> backup Facebook 糟點
2013-11
> [NLP]踢爆坊間自我 增值 / 提升 大騙局手法!
> SNS 上最反智的舉止
> 三多蘭
> theme ec
> [中譯]中島みゆき - 清流
2013-10
> 回顧S3 展望S4
> 日記
> 最惡毒的公司
> Memorios
> 就我的圈子而言的普偏偏見 2
> 就我的圈子而言的普偏偏見
> 本気すぎるww曲に合わせてイルミネーションされる民家が凄過ぎる件w
2013-09
> diary
> 日記
> 良曲表
> 再說Daisuke
> 音樂日誌
> 一些apple 產品剛推出時的感覺
> 徒步1400公里返家 新聞
> 日記
> 日記
2013-08
> 20 Windows DAWs Worth Using
> 流水帳日記一份
> 雜記
> o2jam 今天的玩家水平
> 日記
> 日記
> 日記
2013-07
> ienaitoki
> 最近
> 風吹不走笑容
> Rock
2013-06
> [自翻]ロンドンは夜8時 中譯 中文歌詞 日文歌詞 (2015年2月5日更新)
> Daisuke 付拍子歌詞
> [DEA] 合體 行くぜっ!怪盗少女 の違い
> 論TPA 做戲的可能性
2013-05
> Show Line Number in Xcode
2013-04
> DEA 歌曲和編曲個人感想(5月6日更新)
> bitcoin
> 正面標簽和負面標簽
> 知識豆
> 最近
> 勘誤
2013-03
> 近日記たち
> Renoise
> F# 學習筆記 3 List
> F# 學習筆記 3 陣列和Assoc
> F# 學習筆記 5 等位和記錄
> F# 學習筆記 6 記錄和類別
> 最近的遊藝
> F# 學習筆記 7 介面
> 評價蔣薇的《表哥……不要搶我吃的,我餓了……》
> A little C programming...
> Programming for adults
> 遊戲日誌
2013-02
> Good Subjective, Bad Subjective
> 日記
> 0118 999 881 99 9119 725 3
> 日記
2013-01
> 日記
> 最近的更多記事 + Blood Brothers放售
> 2012 回顧
> 日記
2012-12
> 記事
2012-11
> 電話占い
2012-10
> DDR 各代最深印象曲
> Performance of OOP PHP versus non-OOP
> 漫談15年以來網頁開發的心路歷程
> eclipse "required version 8" not installed
2012-09
> 有關比較特別的日本商標的名字的來源
> 雜記
2012-08
> 桌球入門
> FIBA 2008年10月新規則
> Pentile
> Perfect Cherry Blossom 的聲圖大結合
> RF 和 X-Kizz 有感
2012-07
> 華匯
> old timetable
2012-04
> キミの隣で
> How to Launch Multiple Instances of Notepad++
> 數字和架空世界
> 粵語國語英語日語
2012-03
> 音樂日誌 : trust you, 213 原曲 【神霊廟 Stage1 ボス】 『ゴーストリード』
> 真三國無雙6 monster hunter tri-3g
2012-02
> 【初音ミク】千本桜 【歌詞 - 平假名あり】
> 神啊神啊
> F# 學習筆記 1 變數和函數
> F# 學習筆記 2 Tuple 和其他型別
> F# 學習筆記 4 更多函式
> [lol]全坦隊伍
> 百變香江
2012-01
> 小美
> つよがり
2011-12
> LEVEL5 -Judgelight-
> 厄爾尼洛
2011-11
> 偏好
> 續昨日的話
> 不得不說我的命是很希望和世界接通
> 20111105
> quota
2011-10
> locus (part1)
> FB 的惡劣生態
> template 留低
> 有關白書
2011-09
> 日記 - 感情線上
> 有關lol
> 日記
> 天下間最可怕的
> 抽象滲漏法則
2011-08
> KIMONO♥PRINCESS
> 音樂日誌
> 網遊
> viewed
> 瀏覽器
2011-07
> 摘錄
2011-06
> 回覆一篇
> 頂級期待列表
2011-05
> 和我玩是最悠閒的...這次是最終章了
> 強くなGoogle
> 丁噹 { 我是一隻小小鳥 } MV官方完整高清版
> 對細明體的愛
2011-04
> 留link
> 留link
> 日記
> 日記
> 【遊戯王5d's】遊星のテーマ
> No way : 門都沒有
2011-03
> Program
> They
> 每日都會做既事
> 日記
> 繼續寫煌黑心得
> 極好用
> Diary
> 日記
> ただ一つの願いさえ
2011-02
> 我看groupon
> 追憶
> 息子よ
> hanamizuki
> Sweets Time Midnight [東方Vocal] (附中譯歌詞、拼音及裏歌詞) [HQ]
> SI
> セブンスヘブンMAXION -Vague Ontology-
2011-01
> Asynchronization for Adsense, is that difficult?
> Vanni G - I say Yeah (extended version)
> 【化物語】高音質「君の知らない物語」FULL【ED】
> 日記
> 日記
> 有關打字
> Scotty - Pirates Of The Caribbean (Dave Darell Remix)
> 日記
> irresistiblement-sylvie vartan
> Irrésistiblement
> 在rb 底部加入...
> 日記
> 是日遊踪
> 深刻的啟示
2010-12
> Bang - Shooting Star (original)
> shooting star - bang original (from DDR 4th Mix)
> [pop'n]凛として咲く花の如く -- 歌詞
> いとくとら [恋愛サーキュレーション] 踊ってみた
> 心情
> 彼岸になりし曼珠沙華、其の輝図は何処
> In PHP a string is actually an array
> 其實我覺得我的人生只有快樂
> blog 系統之思
2010-11
> 日記
> 日記
> 愛物
> Diary
> I met Alexander today, on Skype.
> 夏祭り 羅馬字易唱易讀 lol
> 日記
> 留言備份
> 小小資訊-請各位友人看看
> Tetris - Radical / Instant Gravity Experience
> 上位人物
> 成功は_分の努力と_分の才能の兼ね合い
> 今日o2 成績
2010-10
> 好物
> DDR 好聽物
> 最近的生活
> 日記
> Diary(chronological)
> 雜記
> 日記
> 動漫
> 日記
> 音樂日誌
> ipad 最希望會有ge game
> Y Combinator 的話
> 音樂日誌
> Super Driver
> 回應我的blog 文
> 成吉思汗
> 情意結 陳慧嫻
2010-09
> 通識陷阱
> Discuz 和phpwind 的循環抄
> Quick Inspirations
> 你喜歡甚麼?不喜歡甚麼?
> Cups 網絡對戰版
> .htaccess - Allow Only By Referer
> 是我們對清純要求太高,太落伍,太糾結嗎?如果它曾經真的存在,現在又貌似死亡,那究竟是誰「謀殺」了清純?
> 初音ミクが円周率10,000桁覚えたようです。
> 亞貝的天堂template 分享(三欄, 灰)
> 造了新主題呢
> Tsukasa - Landscape
> 和我一起去隅田川吧!
> 【分享】隅田川夏戀歌 完整版 歌詞翻譯(微調7/6)
> Best Programming Jokes
> 電影(9月7)
> 外語歌(9月7)
> 那一夜,我哭跪在女兒面前:丫頭,你做什麼不好?!
> 異種
> ohohoh
2010-08
> 轉變
> 超神器
> 我想提倡英文引入一個ee 尾的用法
> Big4 其實黑過墨豆
> 感悟
> 日記
2010-07
>
> 小事回憶
> 積極
> 我打的日本麻將
> 我為甚麼打三麻?
> 東風三麻的思考方針
> 談論防守
2010-06
> 我最愛的專輯 - 東方蒼幻燈
> iTouch 2G 從iOS4降級出現3194未知錯誤的解決方案
> PHP 6 的新特性
> 現在寫 PHP6-compatible 的一些技巧
> APC(Alternative PHP Cache)
> Nobody
> BUG
> [文Bug]謝謝你的不珍惜,讓我學會了放棄
> 原來天使也會累
> 手紙 ~拝啓 十五の君へ~
> 上傳好物
2010-05
> [遊戲王]1000理論
> [遊戲王]壓縮卡組的價值
> [遊戲王]怪獸的平衡點
> 好歌 張學友的神之領域
> 盛大網絡的積極性
> 日記
> 證義搜查線
> ie-css3
> yugioh @ rm2k3
> When KISS is not DRY
> [mind streaming]What is the matter?
> A little bit earlier
> 失眠
2010-04
> Diary
> [分享]人魚
> 俄羅斯, 美國, 中國
> Girls' Generation
> 最近的生活
2010-03
> PHP Template Engine Critique
> [舊聞]Microsoft Zune HD(32G銀色)評測 (轉自IT168數碼網)
> 最近的生活
> ohoh
> Short, Simple and Full guide to install tomcat6 on ubuntu 9.10
> [分享]極好用的color picker
> PSP 的地球
> 真三国无双 MR2
2010-02
> 試想中國近二十年的教育狀況
> −華恋 −emotions− 「A.K.A. 華爛漫 -Flowers-」
> 好神
> 小數
> 超經典的
2010-01
> Youtube player ytp
> 加點
> 小故事
> 這個分類
> Colors of the Wind
> 續星之夢
> 鍵盤攻略
> 如何才能獨立?
> 如何才能獨立生活?
> RealWiki
> 微軟的好事
> 4k 之內
2009-12
> 笑起上黎
> 化妝
> 一個初學PHP 的人
> Dependency
2009-11
> 轉貼:重新理解社区概念——写在PHPWind7.5发布之际(一)
> 預期的天氣
2009-10
> 感動至深的AVG
> 最近tags
> 矛盾
> 日記
> 今日早上突發奇想
2009-09
> 晚上總是善感的
> 上面的歌...
> サクラ大戦 歌謡ショウ 檄!帝国華撃団(改)
> 檄!帝國華擊團
> 雜言
> 一直都好討厭反問句...
> 恒 生 指 數 ETF vs 盈富基金
> 《貝多芬病毒》
> 點解點解!!??
2009-08
> 34%青少年願援交搵快錢
> My Gadgets
> 打打日記吧
> 一時的和長久的
> 編程的原則
> Beethoven Virus
> 常言道, 劉德華
> 糟透的時間
2009-07
> 林燕妮的數學世界續篇
> 名曲
> 凛として咲く花の如く
> 遲了的日記
2009-06
> Key/Visual Art
> 林燕妮的數學世界
> 日記
> 悲慘世界有很多好聽的曲子呢!!
2009-05
> 最近
> 好熱啊
> 最優秀音頻播放器重新評選(本物評論)
> 愚蠢的錯誤
> 突然想到
> 是日感想
> SABER WING
> 我整個都Saber Wing 了!
2009-04
> 無理的收費
> Creative Accounting 的最大啟示
> 回應先前冰漓的回覆
> ジンギスカン [Oriental-clan Beat Mix]
> 最近興趣
> 記事, 滅亡之章
> AKB48 - 大声ダイヤモンド
> 一百萬零一夜-我最喜愛的角色
> Smile DK ~Koko Soko~
> 迷失的預言
> 三位一体
> 會考與pastpaper
> 真日記
> 電車男形像解釋
2009-03
> 小工具, 大作用
> 開發rf 有感
> 封鎖的靈魂
> Planetarian 星之夢
> 滿足與禁止(一)
> 北歐的簡約生活
> 沉淪的心情
> 負面的心情
> 鄭伊健 - 極速
> 重要事項通告
> 日之風願
> 想做的事
> 以有崖隨無崖
> 我真的很不想
> 萬花止嵐
2009-02
> 很快又會到六月...
> 英文版《上海滩》The Beach of ShangHai
> 本物的外觀觀察
> 充實
> msn 名
> 是日成份
> 日記
> 一理通百理明
> 百變香江
> 週記
> DDRX 的新曲
> DjMax BS中尚未ALL Combo 記錄
> 本物
2009-01
> 華麗的遊戲
> 最近的生活
> The meaning of American Pie
> Artweaver
> 一口氣把勝負師傳說睇完啦!!
> 有關'太空戰士'
> 對於Winamp 的感情
2008-12
> 503 啊
> CG . 韓菱紗
> 日常記事
> 惡搞【KUSO斯巴達300丁丁】
> 成吉思汗啊!
> 津 巴 布 韋 發 行 面 值 5 億 鈔 票
> Bemani 音樂
> 電梯(1)
> Rules of Data Normalization
2008-11
> 其中一首一直很喜歡的歌-Get Over
> You touched me, and my soul.
> 想做的難事(1)
> MSN 記事 11月26日
> You can't be my boyfriend
> 不值錢的棋協段位
> Aqua - Tarzan And Jane
> Flea - Clazziquai Project
> 26歲男教師情困跳樓亡 跆拳高手不敵情關 帶醉怨女友冷落
> 新blog
> Abby 也可以是男生名字喔
2008-10
> 談論主題 YouTube - Google Project 10^100 10 to the 100th Reusable Ground
2008-06
> 解決不能在Windows Live Writer中使用 WordPress MU 1.5.1 的 wp_getUserBlogs錯誤
2008-04
> 夜語
> msn 名
2008-03
> 夢一般的播放器
> 演化至中間碼
> msn 名
> 一句話
2008-02
> 昨天和P女仕聊天, 這種感覺久久不能揮去
2007-12
> Wal-Mart Employees Say 'Merry Christmas'
> msn 名/稱
> 一些知識嗎?
> 平平靜靜才不是平平無奇
2007-11
> Microsoft 的新作品嗎?
2007-10
> 又談.NET
> Gundam Battle Chronicle
> Music
2007-09
> 名?
> 鎖與鑰
> MSN 名
> Msn 名
> Msn 名
> 感想
2007-08
> 影響我最大的朋友
> 請到msn space
> MSN
> msn 名
2007-07
> 一期一會
2007-06
>
2007-05
> 演奏
2007-03
> 搬blog
> Sega 腦快感? future plan for 5years
> 日記
> exciting 2005
> flash memory one
2007-02
> lay lies
> ypn
> 打字速度教學
> google adsense
> Life Grade
> 推介的K 歌
> handicap me
> fainted
2007-01
> Wonderful trip
> 日誌
> (默...)
> online game
2006-12
> 充到你死死實
> go arcade center!
> why are u doing this!!!???
> 好亂的
> Abby艾比
> ac 完結
> 日記
> 油浸豆腐花
> 戒毒第一日
> Smile.dk 舊歌
> unlucky days
> 雜感
2006-11
> how much sleeping?
> jupas temporary sequence
> 近排玩咩呢?
> Edward Elric
> 日記...
> 新mouse 入手
> 無比支力的一day
> 唔打咁多要溫書
> 日記...
> I love Groove Coverage
> Trading...Comparative Advantage
> 雜七雜八
> 7 years and 50 days...by one of my pop singers, groove coverage
> 有d 攰la...
> 一個好的powerpoint 要
> DDR supernova
> 話打話打...都今日先打
> marketing presentation
2006-10
> 昨日和今日
> Google 收購youtube 之我見
> 雙測奇謀 - The Two Tests
> 只打短短的
> 呢排都係baf ga la
> 今日係點呢?
> 問卷接龍
> 更新Xanga 吧~
2006-08
> MSN Spaces to Blogger 搬家工具
> Nice Microsoft Virtual Earth
> PHPwind 和Discuz 之戰....重要的轉變
> EVE Online
> .NET 必勝?
2006-06
> discuz.net 留言...別離
2006-03
> 很久沒更新了...
2006-01
> o2jam 過33級
2005-10
> 世紀帝國3
> 有趣redirection
> 分析智者不亂和仁者無懼
2005-09
> IT 其實好折墮
> 給我帶電話的理由!
> 名(純粹無聊搞笑)
> 夢中情人的連鎖
2005-08
> IR PS DW FW 混用
> Windows media player for Mac
> 日記 與 Action 與 Macro
> 普魯斯特問卷
> ORZ 公仔
> 網誌串聯連鎖反應...
> localhost 與127.0.0.1
> 名 O2JAM
> 名 2005 08 15
> 心測結果
> 名 2005 08 13
> 名 2005 08 08
> 名 2005-08-03
> Microsoft 命名法
> 名(2005 08 02)
> 在中三要諗的科
2005-07
> 句(三)
> 漫漫長長的bt 下載:mandriva 6cd
> Mandriva VS Fedora
> 名句改篇(一)
2005-06
> 大家(2)
> 一青窈 - 大家
> 名句(二)
> 小作品一件 - dcd
> 名句(一)
> 在sourceFORGE 的經歷
2005-05
> 挑釁的反應
> 對LOTR 玩一次anti
> MSN Space
> 發夢
2005-04
> 元素系名字
> "珍惜所有"的矛盾性
> 我論習慣
> 興趣範圍: TT
> .NET 的效率
> 編程世界雜談
> Fedora (2)
2005-03
> 絕世閒人
> Fedora (1)
> 高階與低階
> Zaurus 系列
> Linux 雜談
> gsplayer for Midi
> Spaces 留字版
> Defend your Castle
> Space 的前瞻性
> 歡迎光臨
2003-06
> Deciding to build a FTP server of not

8. aCore - CPU 異常處理(1)

2020-05-31
實務電腦

其實, CPU 也是一台計算器.
它也會返回不同的異常, 最常見的如: 除零、溢位。

那麼我們怎麼利用到CPU 的這些信息呢?
在這之前, 我們看看我們可能會有甚麼信息。

https://wiki.osdev.org/Exceptions#Faults

其中最重要的:

  1. Page Fault: 寫到未划分的記憶體或者只讀記憶體.
  2. Invalid Opcode: 查無此opcode
  3. General Protection Fault: 包山包海的記體憶錯誤, 最常見是Segmentation fault, 也就是沒有讀取權限。
  4. Double Fault: 常有Exception 時, exception handler 會被叫起, 而如果exception handler 有Exception... 這就是不幸的Double Fault 了
  5. Triple Fault: Double Fault 會直接上交到CPU, CPU 會有Double fault 的處理函數, 而如果這個函數有錯誤, 這就無藥可救, 會導致電腦(OS)重啟。

那麼CPU 是怎麼把這些異常分類的呢?

我們有...

file

file

中斷描述表

中斷描述表 : Interrupt Descriptor Table (IDT)

它是一個16-byte 的描述規格。

Type| 名稱                     | 描述
----|--------------------------|-----------------------------------
u16 | Function Pointer [0:15]  | 函數位置(頭16bit)
u16 | GDT selector             | 指寫何個全局描述符表(GDT) 的區段的(https://en.wikipedia.org/wiki/Global_Descriptor_Table)
u16 | Options                  | (如下)
u16 | Function Pointer [16:31] | 函數位置(中16bit)
u32 | Function Pointer [32:63] | 函數位置(尾16bit)
u32 | Reserved                 |

Option 中有

The options field has the following format:

Bits  | 名稱                              | 描述
------|-----------------------------------|-----------------------------------
0-2   | Interrupt Stack Table Index       | 跳到IST 的第n 層(0 時當前位置)
3-7   | Reserved                          | 保留
8     | 0: Interrupt Gate, 1: Trap Gate   | 當0 時, 中斷將不會發生
9-11  | must be one                       | checksum 用
12    | must be zero                      | checksum 用
13‑14 | Descriptor Privilege Level (DPL)  | 執行這個handler function 的最低權限等級
15    | Present                           | 是否當前

Interrupt Stack Table (IST) , 中文是 中斷棧
就是在除錯時的, 函數調用的最低階狀態, 不同的CPU 架構有不同的棧結構。aCore 現時是在x86 架構上運行的。

當有異常時, CPU 大概會做下面的事:

  1. Register, instruction pointer 和 RFLAGS register, 三者入棧。
  2. 檢查 Interrupt Descriptor Table (IDT). 是哪一個entry. (e.g. 14 就是page fault)
  3. 這個entry 是當前的layer 嗎? 不是的話, 就Raise 一個Double Fault
  4. 如果bit40 是interrupt gate 的話, disable hardware interrupts (變成soft interrupt)
  5. 映射 GDT(https://en.wikipedia.org/wiki/Global_Descriptor_Table) 中的定義, 取後code segment的位置
  6. 跳到handler function

Rust 中有 內置可以讀取的IDT : https://docs.rs/x86_64/0.11.0/x86_64/structures/idt/struct.InterruptDescriptorTable.html

看源碼時 :

#[repr(C)]
pub struct InterruptDescriptorTable {
    pub divide_by_zero: Entry<HandlerFunc>,
    pub debug: Entry<HandlerFunc>,
    pub non_maskable_interrupt: Entry<HandlerFunc>,
    pub breakpoint: Entry<HandlerFunc>,
    pub overflow: Entry<HandlerFunc>,
    pub bound_range_exceeded: Entry<HandlerFunc>,
    pub invalid_opcode: Entry<HandlerFunc>,
    pub device_not_available: Entry<HandlerFunc>,
    pub double_fault: Entry<HandlerFuncWithErrCode>,
    pub invalid_tss: Entry<HandlerFuncWithErrCode>,
    pub segment_not_present: Entry<HandlerFuncWithErrCode>,
    pub stack_segment_fault: Entry<HandlerFuncWithErrCode>,
    pub general_protection_fault: Entry<HandlerFuncWithErrCode>,
    pub page_fault: Entry<PageFaultHandlerFunc>,
    pub x87_floating_point: Entry<HandlerFunc>,
    pub alignment_check: Entry<HandlerFuncWithErrCode>,
    pub machine_check: Entry<HandlerFunc>,
    pub simd_floating_point: Entry<HandlerFunc>,
    pub virtualization: Entry<HandlerFunc>,
    pub security_exception: Entry<HandlerFuncWithErrCode>,
    // some fields omitted
}

會發覺它們都是(idt::Entry<F>)[https://docs.rs/x86_64/0.11.0/x86_64/structures/idt/struct.Entry.html].
F 代表 handler function 的類型。