原创 UEFI FDF文件格式

fdf(Flash Description File)用於生成固件映像,定義Image的內容和佈局信息,它由[Defines],[FD],[FV],[Rule]等幾個部分組成 [FD]:描述整個FD,FD的大小和加載地址,編譯完成後,在

原创 sbl1啓動代碼分析

1. sbl1.s -- 彙編啓動文件 sbl1程序的入口點在0xF800_C000,從memory map可以看出此地址位於L2 cache中,所以sbl1實際上是運行在L2 cache上的;   1)設置中斷向量表   中斷向量表位於

原创 內核同步機制 - 讀寫鎖 read_lock()/write_lock

   讀寫鎖的基本原理類似自旋鎖,它區分讀取和寫入場景,允許多個讀線程同時訪問共享數據,而保持讀-寫和寫-寫互斥,適用頻繁讀取數據,而修改相對較少的場景; 1. 讀寫鎖變量 內核使用rwlock_t表示

原创 內核早期內存分配器 - memblock與bootmem

Linux內核使用夥伴系統管理內存,那麼在夥伴系統工作前,如何管理內存?答案是memblock; memblock在系統啓動階段進行簡單的內存管理,記錄物理內存的使用情況; 在進一步介紹memblock之前,有必要先了解下系統內存的使

原创 SCons簡介

by 令狐蟲 雲風在blog上寫了一組《IDE 不是程序員的唯一選擇》的文章。題目很吸引人,以至於我一直以爲他要寫什麼鴻篇鉅製,可惜到最後只出現了一組《GNU make入門指南》。(笑) 被IDE綁定的確是一件很悲哀的事情。作爲一個

原创 棧回溯技術

棧回溯技術arm_v5t_le版 From:韋東山 2007.04.03棧回溯技術及uClibc的堆實現原理.doc 1.    前言 段錯誤、非法地址訪問等問題導致程序崩潰的現象屢屢發生,如果能找到發生錯誤的函數,往往一眼就能看出

原创 高通平臺CDT解析和製作方法

  高通平臺使用CDT(Configure Data Table)來存儲平臺信息和內存參數,CDT默認以數組方式存放在boot_images的源文件中,並最終編譯到sbl1中;CDT也可以保存到emmc或eeprom中,在啓動過程中加載;

原创 SBL1啓動 - Load Image

sbl1是平臺相關的啓動程序,除了執行必要的初始化操作,還負責加載PMIC,QSEE(TZ),RPM等Firmware,然後跳轉到APPSBL執行(XBL跳轉到XBL Core,也就是UEFI入口執行); 1. sbl1_config_t

原创 SEAndroid策略分析

SEAndroid簡介   SEAndroid是Google在Android4.4上正式推出的一套以SELinux爲核心的系統安全機制。而SELinux則是由NSA(美國國安局)在Linux社區的幫助下設計的一個針對Linux的安全強化

原创 openssl常用命令

證書   證書是一個經證書授權中心簽過名的包含公鑰及公鑰擁有者信息的文件。證書授權中心(CA)對證書籤名的過程即爲證書的頒發過程。證書裏面的公鑰只屬於某一個實體(網站,個人等),它的作用是防止一個實體僞裝成另外一個實體。  證書可以保證

原创 SBL中的HAL和DAL層

短語解釋: HAL:Hardware Abstraction Layer DAL:Device Abstraction Layer DDI:Device Driver Interface HAL層定義底層硬件操作,而DAL層位於驅動和應