4.1.13. __smc

__smc 키워드는 SMC(보안 모니터 호출) 함수를 선언합니다. SMC 함수를 호출하면 함수 호출 시 컴파일러에서 생성한 명령어 스트림에 SMC 명령어가 삽입됩니다.

Note

SMC 명령어는 이전 버전의 ARM 어셈블리 언어에 사용된 SMI 명령어를 대체합니다.

__smc는 함수 한정자이며 함수 유형에 영향을 주지 않습니다.

구문

__smc(int smc_num) return-type function-name([argument-list]);

인수 설명:

smc_num

SMC 명령어에 사용되는 16비트 즉치값입니다.

ARM 프로세서에서는 smc_num의 값을 무시하지만 SMC 예외 처리기에서는 요청 중인 서비스를 확인하기 위해 이 값을 사용할 수 있습니다.

제한

SMC 명령어는 보안 확장이 있는 선택된 ARM 아키텍처 기반 프로세서에서 사용할 수 있습니다. 자세한 내용은 어셈블러 설명서에서 4-141페이지의 SMC를 참조하십시오.

SMC 명령어를 지원하지 않는 아키텍처에 대해 __smc 키워드를 포함한 소스 코드를 컴파일 하는 경우 컴파일러에서 오류를 생성합니다.

예제

__smc(5) void mycall(void); /* declare a name by which SMC #5 can be called */

...
mycall();                   /* invoke the function */

추가 참고

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0348AK
Non-Confidential