Igo*_*sky 3 linux x86 kernel abi
我正在寻找在x86上用于内核模块调用的ABI的官方定义.我最近查看了一个已编译的模块,并惊讶地发现:
它使用寄存器传递前三个参数(eax,edx和
ecx).
它不像fastcallGCC文档中描述的那样.该文件说的是
fastcall使用ECX和EDX(微软风格).
我能找到的唯一有点相关的信息就是这个,但它并没有说太多.
所以:
1)是否有关于内核模块中使用的ABI的官方文档(不是系统调用ABI而不仅仅是函数列表 - 我找到的那些).
2)编译器如何产生这种奇怪的快速调用?我错过了一个开关吗?