将.S文件添加到linux内核代码中

时间:2010-11-19 15:03:08

标签: assembly linux-kernel

我正在尝试将新的程序集(.S)文件添加到Linux内核中。 这可能是一个愚蠢的问题,但我似乎无法找到将这些文件添加到make文件的方式和位置。我查看了当前.S文件的代码示例,但我找不到它们的组装位置并链接到vmlinux二进制文件。

任何暗示都会被暗示。

谢谢!

3 个答案:

答案 0 :(得分:3)

只需将相应的.o结果添加到某个规则中即可。 .S - >有隐式规则。 .o翻译。

答案 1 :(得分:1)

查看

arch/i386/boot

它包含Makefile。

它有点脏,但他们在那里做 - 有点。这是引导部分,所以它可能不在“内核适当”。

您是否已经在.c文件中的giagantic“asm”块中进行了这样的操作?

这在内核中如此罕见的原因是内核真的意味着与处理器无关。所以除了一些非常精选的区域外,几乎没有组装 - 当它存在时 - 它都是在.c文件中的“asm”块中完成的。

答案 2 :(得分:-1)

除了支持新的处理器之外,为什么还要做这样的事情? 您可以与arch/x86/kernel/entry_32.S相同。

尽管如此,我认为您没有充分的理由添加.S文件。我相信你可以不这样做,把C和asm混合起来真的不难。

你应该问的真正问题是:“我正在尝试这样做......我想考虑添加一个.S文件,你们觉得怎么样?”