[問題] dynamic system call

看板LinuxDev作者 (hegemon)時間16年前 (2009/05/11 22:43), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
※ [本文轉錄自 Linux 看板] 作者: hegemon (hegemon) 看板: Linux 標題: [問題] dynamic system call 時間: Sun May 10 23:19:03 2009 最近在研究dynamic system call.. 如果要實作dynamic system call的話是否要經過以下步驟? a.在kernel中加入一system call及此system call的pointer. Ex. <headers> long(*my_ptr)(void); EXPORT_SYMBOL(my_ptr); asmlinkage long sys_mycall(void) {........} b.再寫一個module.使用my_ptr將欲執行的function引入 Ex. <headers> extern long(*my_ptr)(void); long kerker(void) {.........} static int kerker_init(void) { my_ptr=kerker; return 0; } static void kerker_exit(void) {my_ptr=NULL;} module_init(kerker_init); module_exit(kerker_exit); c.make完module後用insmod載入 d.接著在test program中使用systemcall kerker. e.以後要修改kerker就更改module再insmod即可. 請問這作法是對的嗎? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.165.49.65

05/11 16:19,
到 LinuxDev 板應該會比較多人討論 :p
05/11 16:19
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.165.46.175

05/12 20:44, , 1F
可參考這邊 http://0rz.tw/HhSGz
05/12 20:44, 1F

05/12 20:46, , 2F
不過版本可能有點舊就是了, 細節的部份可能有些不同
05/12 20:46, 2F
文章代碼(AID): #1A23bygM (LinuxDev)
文章代碼(AID): #1A23bygM (LinuxDev)