2010-07-14 43 views
4

我的操作系統,書上說的,如果你想給系統調用添加到Linux內核中,編輯linux-2.x/include/asm-i386/unistd.h什麼是「Linux的2.6.3x.x /包括/ ASM-通用/」呢?

但是Linux內核的源結構似乎改變了很多。在linux-2.6.34.1版本內核源代碼樹,我只找到一個linux-2.6.34.1/include/asm-generic/unistd.hlinux-2.6.34.1/arch/x86/include/asm/unistd.h

看來,編輯後者更有意義。

我的問題/inlcude/asm-generic用於什麼?asm相關代碼如何通用?

回答

4

asm-generic是通常在彙編中編碼的函數的通用版本,但是以純C編碼,沒有任何內聯彙編。這可能是爲了將內核輕鬆移植到新平臺,並將platfom獨立的通用代碼保存在一個地方。

+0

你的意思是:asm-generic是通常編碼的通用版本的函數** NOT **,但是用plain C – skytree 2017-10-11 20:55:57