Добавление файла .S в код ядра Linux - PullRequest
3 голосов
/ 19 ноября 2010

Я пытаюсь добавить новый файл сборки (.S) в ядро ​​Linux. Это может быть глупый вопрос, но я не могу найти, как и где добавить такие файлы в файлы make. Я посмотрел примеры кода текущих файлов .S, но не могу найти, где они собраны и связаны с двоичным файлом vmlinux.

Любые намеки будут оценены.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 20 ноября 2010

Просто добавьте соответствующий результат .o к какому-либо правилу.Существуют неявные правила для перевода .S -> .o.

1 голос
/ 19 ноября 2010

загляните в

arch/i386/boot

и он включает Makefile.

Это немного грязно, но они делают это там - вроде.Это для загрузочной части, поэтому она может не входить в «собственно ядро».

Вы решили сделать это внутри гигантского блока «asm» в файле .c?

Причинаэто настолько редко встречается в ядре, что ядро ​​действительно должно быть независимым от процессора.Поэтому, за исключением некоторых очень избранных областей, существует небольшая сборка - а когда она есть - все это делается в блоках "asm" внутри файлов .c.

0 голосов
/ 19 ноября 2010

Зачем вам это нужно, кроме поддержки нового процессора ??Вы можете сделать то же самое, что и arch/x86/kernel/entry_32.S.

Тем не менее, я думаю, что у вас нет веских оснований для добавления файла .S.Я уверен, что вы могли бы поступить иначе, действительно не сложно смешать C и asm.

Реальный вопрос, который вы должны задать: «Я пытаюсь сделать это ... Я думаю о добавлении.S файл, что вы, ребята, думаете? "

...