二。向核心中新增系統呼叫

2021-06-18 23:50:32 字數 576 閱讀 3002

核心版本:3.4.24

大家發現什麼問題一定要告訴我,大家一起學習啦

######### 向核心中新增系統呼叫 ##########

1.系統呼叫是和平台相關的

arm平台的系統呼叫的彙編**,路徑:

vim

//從333行開始

2.新增系統呼叫的步驟

//存著系統呼叫表,系統呼叫的函式入口就是這

//系統呼叫號就是基於基位址的配偏移位址

vim /linux3.4/arch/arm/kernel/calls.s

390        /* 378 */    call(sys_myadd)

//在標頭檔案中新增巨集定義

vim

470        #define __nr_myadd (__nr_syscall_base+378)

//新加系統呼叫的具體實現,以簡單加法為例

vim

135     //asmlinkage 系統呼叫必須加

136     asmlinkage long sys_myadd(int a, int b)

137     

核心新增系統呼叫

在 windows 下新增系統呼叫不像 linux 那樣容易,windows 系統呼叫與使用者程式之間還有 ntdll.dll 層,而這一層微軟沒有提供源 但是我們從系統呼叫的實現機制出發,不管是在 linux 還是windows 系統呼叫的實現都是通過中斷來實現的,可以利用中斷的方式呼叫新新增的系...

驅動模組的編寫 向核心新增系統呼叫函式

1.驅動模組的編寫 例子 在pc機原始碼目錄drivers arm emb mkdir demo 建乙個模組目錄 vim demo.c 編寫demo static int demo init void module init demo init static void demo exit void ...

Linux 核心編譯 新增系統呼叫

主機 ubuntu 11.04 現在核心版本 2.6.38.9 編譯的目標核心版本 2.6.39 編譯成功後修改核心,新增個系統呼叫,並重新編譯核心,編寫c程式,呼叫自己新增的系統呼叫 首先編譯核心 2 解壓核心到任意目錄 這裡不用必須解壓到 usr src 下,linus也說不必那樣做,況且自己也...