asmlinkage

이는 http://studyfoss.egloos.com/4951809 를 참고하면 충분한 설명이 될 것 같다.
어셈블리 코드에서 C 함수를 호출할 때 함수 인자의 전달을 스택을 이용하도록 해주는 속성지정 매크로이다.
ARM 에서는 아무일도 하지 않고, x86 에서는 스택을 이용하여 인자를 전달하도록 속성을 지정해준다.

x86 코드를 뒤져보니 아래와 같이 정의되어 있다.
인자를 넘겨줄 때 regparam (레지스터 파라미터)의 갯수를 0 개로, 즉 스택으로 넘겨주겠다는 의미이다.

#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))

ARM 은 범용 레지스터가 많아서 이런 짓 안한다. ^^

You may also like...