Linux那些事兒之我是SCSI硬碟(4)三座大山(一)
好不容易結束了sd_spinup_disk(),馬上我們就遇到了三座大山.它們是sd_read_capacity(),sd_read_write_protect_flag(),sd_read_cache_type(),要繼續往下看,我們不得不先推翻這三座大山.舊的三座大山已經在毛主席的英明領導下成功推翻了,但是今天我們的人民卻身處新三座大山的壓迫之下,眼前這三個函式堪比臭名昭著的房改醫改教改.要知道整個sd.c這個檔案也不過是1900行,可是光這三個函式就佔了360行,你不服不行啊!
第一座大山,sd_read_capacity. 1130 /* 1131 * read disk capacity![](http://p.blog.csdn.net/images/p_blog_csdn_net/fudan_abc/READ_CAPACITY_10_Command.bmp)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fudan_abc/Read_Capacity_10_para_data.bmp)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fudan_abc/Read_Capacity_16_para_data.bmp)
相關推薦
Linux那些事兒 之 我是PCI(4)初始化(一)
解析完了PCI的那些核心引數,再翻過多少座山跨過多少條河,核心就會遇到init/main.c裡一個名叫do_initcalls的函式。do_initcalls對核心來說只不過是漫長冒險旅程中的一個驛站,對PCI這個故事來說卻是命運轉輪的開始,核心在它裡邊完成了對.initca
Linux那些事兒之我是SCSI硬碟(4)三座大山(一)
好不容易結束了sd_spinup_disk(),馬上我們就遇到了三座大山.它們是sd_read_capacity(),sd_read_write_protect_flag(),sd_read_cache_type(),要繼續往下看,我們不得不先推翻這三座大山.舊的三座大山
Linux那些事兒之我是Block層(4)濃縮就是精華?(一)
人,生在床上,死在床上;欲生欲死,還是在床上.這句話非常有道理.有人說它有點俗,但,我並不這麼認為.我因為經常坐在床上一邊看A片一邊看程式碼,所以對這句話體會頗深,事實上它形象的描述了我坐在床上看程式碼時複雜的心情,說欲生欲死,一點也不誇張,尤其是當我看到add_disk
《Linux那些事兒之我是USB》我是U盤(22)彼岸花的傳說(一)
彼岸花,花語是悲傷的回憶。 很久很久以前,城市的邊緣開滿了大片大片的曼珠沙華,它的花香有一種魔力,可以讓人想起自己前世的事情。守護曼珠沙華的是兩個妖精,一個是花妖叫曼珠,一個是葉妖叫沙華。他們守候了幾千年,可是從來沒有見過面,因為開花時,就沒有葉子,有葉子時沒有花。他們瘋狂
《Linux那些事兒之我是USB》我是U盤(29)彼岸花的傳說(八)
對於use_sg為0的情況,我們接下來再看168行,offset是函式呼叫傳遞進來的引數,註釋裡說得很清楚,就是用來標誌偏移量的,每次複製幾個位元組它就增加幾個位元組,最大它也不能超過request_bufflen,這是顯然的。usb_stor_access_xfer_bu
Linux那些事兒之我是Hub(17)八大重量級函式閃亮登場(一)
還有人記得1996年那部史詩般的電視劇<<英雄無悔>>嗎?那年我初二.這部戲讓我認識了濮存昕,也是這部戲確立了濮存昕少婦殺手的地位,後來大肆那年濮存昕去過復旦,宣傳艾滋病方面的知
《Linux那些事兒之我是USB》我是U盤(21)傳說中的URB
有人問,怎麼寫一個驅動寫這麼久啊? 的確,一路走來,大家都不容易,但既然已經走到今天,我們能做的也只有是堅持下去。 usb_stor_acquire_resources(),從名字上來看是獲取資源。什麼是資源?之前不是申請了一大堆記憶體了嗎?寫個USB裝置驅動程式怎麼這麼麻
Linux那些事兒之我是U盤(49)跟著感覺走(一)
,fake_senseneed_auto_sense,sense,..,,fake_sense1.1.,usb_stor_sense_invalidCDB,? 讓我們把鏡頭對準drivers/usb/storage/scsiglue.c, 479 /* To Report
【轉】Linux那些事兒 之 戲說USB(6)我是一棵樹(一)
什麼是USB controller?在一個USB系統中只能有一個host,其實說白了就是咱們的主機,而USB和主機的介面就是host controller,你的主機總不可能只能有一個USB host controller吧,所以說一個主機可以支援多個host controller,比如分別屬於不同廠商的。那麼
【轉】Linux那些事兒 之 戲說USB(4)漫漫辛酸路
70 config USB_OHCI_HCD71 tristate "OHCI HCD support"72 depends on USB && USB_ARCH_HAS_OHCI73 select ISP1301_OMAP if MACH_OM
【轉】Linux那些事兒 之 戲說USB(15)繁華落盡
臺灣作家林清玄在接受記者採訪時,如此評價自己的30多年寫作生涯:“第一個十年我才華橫 溢,‘賊光閃現’,令周邊黯然失色;第二個十年,我終於‘寶光現形’,不再去搶風頭,反而與身邊的美麗相得益彰;進入第三個十年,繁華落盡見真醇,我進入 了‘醇光初現’的階段,真正體味到了境界之美。
Linux那些事兒 之 戲說USB(12)從這裡開始
任小強們說房價高漲從現在開始,股評家們說牛市從5000點開始。他們的開始需要我們的錢袋,我的開始只需要一臺電腦,最好再有一杯茶,伴著幾支小曲兒,不盯著錢總是會比較愜意的。生容易,活容易,生活不容易,因為
【轉】Linux那些事兒 之 戲說USB(3)PK
最初的設計目標就是替代序列、並行等各種低速匯流排,以達到以一種單一型別的匯流排連線各種不同的裝置。它現在幾乎可以支援所有連線到PC上的裝置,99年提出的USB2.0理論上可以達到480Mbps的速度。它與串列埠、並口等的這場PK從一開始就是不平等的,這樣的開始註定了以什麼樣的結果結束,只能說命運選擇了USB。
分散式事務那些事兒之TCC
一、TCC簡介 TCC是一種比較成熟的分散式事務解決方案,可用於解決跨庫操作的資料一致性問題; TCC是服務化的兩階段程式設計模型,其Try、Confirm、Cancel 3個方法均由業務編碼實現; 其中Try操作作為一階段,負責資源的檢查和預留,Confirm操作作為二階段提交操作,執
細說網路那些事兒之網路基本功(一):細說網路傳輸
網路基本功(一):細說網路傳輸 常言道:欲練神功,必先練好基本功。之前做了一個關於IP路由,預設閘道器和掩碼的問答貼,做完這個帖子覺得如果對網路知識點做一個系統的闡述,應該會很有幫助。 本系列文章著重於講解網路管理實際應用中常常涉及的重要知識點,儘量以實用為主。準備
談談領域模型的那些事兒 之 從領域獲取知識
前言:你寫過用例模型嗎?也許有;你寫過領域模型嗎?也許還沒有。在這裡,我們可以嘗試寫寫領域模型,看看它的作用、帶給我們的好處。 隨著RUP在中國的傳播,人們開始嘗試用RUP統一過程來指導軟體的設計和開發,但這些嘗試並不成功。比較普遍的,大家都開始使用用例模型來進行需求階段的
JDK原始碼那些事兒之淺析Thread上篇
JAVA中多執行緒的操作對於初學者而言是比較難理解的,其實聯想到底層作業系統時我們可能會稍微明白些,對於程式而言最終都是硬體上執行二進位制指令,然而,這些又太過底層,今天來看一下JAVA中的執行緒,淺析JDK原始碼中的Thread類,之後能幫助我們更好的處理執行緒問題 前言 JDK版
《Linux系統》之"皮毛系列"(一) Linux系統的簡介與歷史發展
一、Linux系統的簡介 Linux是一套免費使用和自由傳播的類Unix作業系統,是一個基於POSIX和UNIX的多使用者、多工、支援多執行緒和多CPU的作業系統。它能執行主要的UNIX工具軟體、應用程式和網路協議。支援32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性
【黑金原創教程】【FPGA那些事兒-驅動篇I 】【實驗一】流水燈模組
實驗一:流水燈模組 對於發展商而言,動土儀式無疑是最重要的任務。為此,流水燈實驗作為低階建模II的動土儀式再適合不過了。廢話少說,我們還是開始實驗吧。 圖1.1 實驗一建模圖。 如圖1.1 所示,實驗一有名為 led_funcmod的功能模組。如果無視環境訊號(時鐘訊號還有復位訊號),該功能模組只有
【黑金原創教程】【FPGA那些事兒-驅動篇I 】實驗十一:PS/2模組⑤ — 擴充套件滑鼠
實驗十一:PS/2模組⑤ — 擴充套件滑鼠 當普通滑鼠即三鍵滑鼠再也無法滿足需求的時候,擴充套件滑鼠即滾輪滑鼠就誕生了,然而實驗十一的實驗目的就是實現滾輪滑鼠的驅動。不過,進入整體之前,先讓我們來了解一下滑鼠的常用命令。 圖11.1 命令F3,設定取樣頻率。 命令F3也是Set Sample Rat