原创 ARM2440中斷

CPSR中的F和I位,分別對應的是FIRQ和IRQ,如果被置爲1,CPU不會接受對應的請求,可以通過設置對應的位爲0,並設置MASK,分別允許對應的請求. INT_MODE,分別爲IRQ和FIRQ模式,是對應中斷的觸發方式,0=IRQ,

原创 watchdog彙編程序

========================================================= IRQ程序 注意:INTMSK的設置必須爲32位,否則會出現異常 ========================

原创 ext4文件系統翻譯之第二篇

Extents tree擴展樹 Up to 3 extents could stored in inode i_data body directly

原创 ext文件系統(我的翻譯【本人英語不咋滴】)

why fork ext4 爲什麼fork ext4?(這個fork英文翻譯爲叉子,但是我覺得不是這麼翻譯的,首先fork是linux的一個創建進程的函數,所以我認爲,fork還是保留吧) Many features require on

原创 MMU筆記

MMU段映射方式: Section base address:段基地址 AP:ACESS PERMISSION 訪問控制位  Domain: 訪問控制寄存器的索引。Domain與AP配合使用,對訪問權限進行檢查 C:當C被置1時爲wri

原创 qemu 跑 kvm-unit-test

Compling process: git clone https://github.com/rhdrjones/kvm-unit-tests.git ./configure make After compiling successful

原创 pid命名空間

 這幾天看pid命名空間,一開始還是有點暈的,不過後來還是理解了。下圖就是我用畫圖板畫出來的,PID命名空間的大部分結構基本上在圖上顯示出來。首先得注意的是,因爲有PID命名空間的存在,所以一個PID資源可以被好幾個進程共同享用(task

原创 ELF去殼

gcc -c -static a.c -o a.o ld -Ttext=0×0000 -nostdlib  a.o -o a    (Ttext代碼段開始,nostdlib無標準庫) objcopy -I elf32 -O binary

原创 s3c2440按鍵程序

================================== VECTOR.S 由於抖動的原因,所以我這裏進行了2次加法===================================  b reset b undef b

原创 phony的用法

避免和同名文件衝突。例如clean:     rm *.o 由於make的時候解決依賴問題,如果該目錄下沒有clean,則始終執行,不過一旦有了clean文件,則不會執行rm指令了。 .phony:clean 的作用則是無視clean文件

原创 mmu小頁代碼

粗頁和小頁都是由於COARSE_PAGE_TABLE 來管理的,所以這次的小頁代碼就是把昨天的代碼修改了部分,然後之後重新映射上去,每個頁對應4KB大小,昨天的大頁則是每個頁面對應64KB大小。 ////////////////////

原创 MMU粗頁代碼

最近幾天稍微打算再把MMU的一些粗頁代碼寫下,這個代碼和上一次的段頁映射都一樣,都是一一映射,其他的映射關係也一樣,區別就是這邊用了二級映射關係,頁面全部換成粗頁,1024*4096個large page我也是醉了,不過我打算之後再弄得