我正在尝试将新的程序集(.S)文件添加到Linux内核中。 这可能是一个愚蠢的问题,但我似乎无法找到将这些文件添加到make文件的方式和位置。我查看了当前.S文件的代码示例,但我找不到它们的组装位置并链接到vmlinux二进制文件。
任何暗示都会被暗示。
谢谢!
答案 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文件,你们觉得怎么样?”