原创 內核中的DRM詞彙解釋

AGP(Accelerated Graphics Port) 一種高速總線,允許圖形卡從系統內存讀數據,基於GART使不連續的內存在圖形卡眼中作爲連續處理,並使用DMA傳輸(還記着scatter-gather模式)。 GART(Graph

原创 信息量爆表的struct page->flags

先把kernel4.15的一段註釋截圖送上: 很明顯我關注的是之前crash中0x1ffff0000000000與0x5ffff0000000000的含義,然後再來一個神級大圖: 上面這個圖很不錯,但是對於不同的平臺通過配置了.con

原创 struct address_space解讀

首先說的是Page Cache address_space的操作將“文件”的某些部分映射到Linux page cache中的頁面中。此page cache表示已映射到內存的某些物理設備(例如磁盤)上的數據。物理設備通常對應於磁盤,但不一

原创 向struct page裏塞更多東西

翻譯並篡改更新自LWN.NET 2013年8月的一篇文章。 通常,內核開發人員更傾向於設計可讀性和可維護性高的數據結構。當人們理解一段代碼使用的數據結構時,對代碼本身的理解通常就不會遙遠。因此,內核使用最頻繁的數據結構之一也是其可理解性最

原创 linux外設虛擬化的幾個概念

VFIO(Virtual Function I/O) 這是一個設備直通的方案,與Xen中的passthrough概念是一致的;主要是基於IOMMU和中斷重映射,將制定的一個或幾個設備安全的分配給某一個虛擬機使用,注意,是分配給單個虛擬機使

原创 折書紙-一個快樂的小問題

給出要打印的頁數n;打印時1張紙分4頁,一摞紙從中間訂成書後的頁碼要正確;頁數n不能填滿書的話,多餘的頁數要填NA。 解決(代碼不考慮輸入過濾、溢出等問題): #include <stdio.h> #include <stdlib.h>

原创 2階段頁錶轉換過程

1.所有ARMv8指令集都提供返回頁錶轉換結果的指令(作爲指令的參數提供 並 使用指定的轉換階段或區域) 2.指令僅執行-指令所在安全狀態和異常等級能訪問的-轉換 非安全態下的指令不能得到-Secure address-轉換階段的結果 非

原创 利用上虛擬化,說一下TLB,以及VHE

arm給出了基於虛擬化技術會產生的優勢: 1. 隔離: 虛擬化的核心是在單個物理系統上運行的虛擬機之間提供隔離。這種隔離允許在互不信任的計算環境之間共享物理系統。例如,兩個競爭對手可以共享一個數據中心中的同一臺物理計算機,而不必訪問彼此

原创 CPU的自我控制之(4)-異常的SPSR

——————————————————————異常第一步(xx紙尿褲) SPSR—————————————————————   好了,題外背景總算是磕磕絆絆的描述完了,終於可以說點本文主題相關的事兒。   當進入一次異常,首先是PSTATE

原创 Android內核似乎要向主線內核靠攏

2018.11.15   Android設備都基於linux內核,但是這些設備從一開始並沒有跑主線內核,因爲添加了很多不在主線上的代碼,這些主線外代碼的內核代碼的問題,正在想辦法處理;雖然說現在就在這些Android設備上運行主線內核代

原创 容器和地址空間隔離

James Bottomley 在開始他在2019 Linux存儲、文件系統和內存管理子系統大會的發言前提示:對他的想法持反對意見的主要人物都沒來,似乎這個想法就更容易被接受了。特別是,Bottomley的同事MikeRapoport最近

原创 圖形驅動相關的一些詞 surface pitch blit tiled,以及X中的一些詞solid composite

1. surface 和 pitch 圖片發自簡書App 2. bilt 圖片發自簡書App 3. tiled Notice that surfaces are not always stored linearly in video

原创 我認爲微內核的意義(3)-分析zircon內核中的對象

 Zircon內核是基於對象的,用戶態差不多僅通過對象Handles與OS資源交互,一個Handle可以認爲是一個與OS特定資源的子系統範圍的活躍的回話。 Zircon動態管理的資源有:處理器時間;內存和地址空間;設備I/O內存;中斷;

原创 pagecache側信道攻擊思路

記錄一個側信道攻擊方法:.通過實現監控用戶登錄頁所需動態庫的加載,快速將動態庫所在page cache換出使用戶登錄頁響應緩慢;隨後彈出密碼輸入頁實現用戶密碼竊取。 點贊 收藏 分享 文章舉報

原创 提升無tick系統的空閒行爲

    大多數processors都會有大量的空閒時間,等待設備和時鐘中斷。 在這些情況下,他們可以切換到空閒狀態,切斷部分內部電路,特別是關閉某些時鐘。這些都會降低耗電量,防止設備電池耗光。一般都會有多種可用的空閒模式可用,越深入的空閒