原创 【65】如何通過sys文件系統remove和probe一個PCI設備

 \-[0000:00]+-01.4-[03]--+-00.0  Intel Corporation I350 Gigabit Network Connection                    |                

原创 【29】MSI中斷

https://mp.weixin.qq.com/s/el1n0-y2jpj2c83L25nIew 轉發一下老趙的公衆號的一篇文章,老趙是爲數不多實踐派+理論派的專家。

原创 【44】郵件格式

https://en.wikipedia.org/wiki/Posting_style 維基百科 post sytle When a message is replied to in e-mail, Internet forums

原创 【43】關於linux 內存和X86內存

https://zhuanlan.zhihu.com/p/81399122 https://zhuanlan.zhihu.com/p/68465952 推薦下面幾個 https://zhuanlan.zhihu.com/p/670

原创 【40】secureCRT全屏後,無法還原,菜單欄丟失

使用secureCRT時,不小心按了alt+enter導致全屏,再按alt+enter還原後發現菜單欄都沒了,並且窗口一直在任務欄最小化,再按alt+enter又是全屏。只能在全屏和最小化之間切換了。 由於保存了很多連接,並且設置

原创 【41】How to get printk format specifiers right

https://s0www0kernel0org.icopy.site/doc/html/v4.18/core-api/printk-formats.html

原创 【59】linux中斷

http://www.wowotech.net/sort/irq_subsystem http://www.wowotech.net/irq_subsystem/interrupt_subsystem_architecture.h

原创 【58】PCIe錯誤處理機制是如何工作的

  向我最喜歡的對沖基金大佬-達里奧致敬,模仿《經濟機器是如何運行的》寫了一篇《PCIe錯誤機制是如何工作的》。文章主要介紹了主流的OS Native Model AER是怎麼工作的。至於另外一種模式:Firmware First

原创 【42】如何向linux kernel主線提交patch

一、準備工作 1、讀下面的文檔,看看向kernel提交patch需要準備哪些 https://github.com/0xAX/linux-insides linux kernel doc英文原版 https://www.kerne

原创 【30】sys文件系統熱插拔的流程(poweron poweroff)

pciehp_probe->pci_hp_add->fs_add_slot會創建對應的slot 我們去/sys/bus/pci/slots中看看每個slot的address,對應的root port都是我們預留出來支持熱插拔

原创 【57】最近發生的二三事感想

很久之前看過宋寶華老師的《宋寶華: 論一個程序員問問題的自我修養(修訂版)》,見鏈接:https://blog.csdn.net/juS3Ve/article/details/78557416?utm_source=blogxgw

原创 【64】事情也許沒有想的那麼複雜,大道至簡,再談AER

    在驗證某芯片的AER功能時,突然發現RootPort的AER上報功能是正常,但是RootPort下面的網卡的出現PCIe錯誤時,竟然沒有觸發AER中斷。     當時心裏想,不會是芯片問題吧。要麼是網卡的aer status 比特

原创 【32】linux5.0之後 pciehp引入的bug

使用linux 5.2驗證pciehp,發現按按鈕後,上下電流程反覆觸發。 把pciehp獨立成一個KO後,加了一些打印,發現linux 5.0重構的pciehp流程後,導致線程和中斷併發。雖然5.2打了幾個補丁,在線程處理完畢後

原创 【63】systemtap--滿足程序猿一切幻想的調試神器

http://sourceware.org/systemtap/ https://sourceware.org/systemtap/wiki https://sourceware.org/systemtap/documentation.h

原创 【62】Rufus製作Ubuntu U盤啓動並安裝

使用Rufus 3.4製作Ubuntu 18.04.1 U盤啓動盤的方法 https://ywnz.com/linuxjc/3978.html 分區類型選擇GPT 啓動U盤安裝Ubuntu 18.04前的BIOS設置方法 https:/