Для чего нужен "linux-2.6.3x.x / include / asm-generic /"? - PullRequest
5 голосов
/ 14 июля 2010

В моей книге написано, что если вы хотите добавить системный вызов в ядро ​​Linux, отредактируйте linux-2.x/include/asm-i386/unistd.h.

Но структура исходного кода ядра Linux, похоже, сильно изменилась. В дереве исходников ядра версии linux-2.6.34.1 я нахожу только linux-2.6.34.1/include/asm-generic/unistd.h и linux-2.6.34.1/arch/x86/include/asm/unistd.h.

Кажется, что редактирование последнего имеет больше смысла.

Мой вопрос: для чего /inlcude/asm-generic? Как связанный с asm код может быть универсальным?

1 Ответ

5 голосов
/ 14 июля 2010

asm-generic - это универсальные версии функций, которые обычно кодируются в сборке, но кодируются в простом C, без какой-либо встроенной сборки.Вероятно, это сделано для облегчения переноса ядра на новые платформы и для хранения независимого от платформы общего кода в одном месте.

...