Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

11105
637
415734


[Arm프로세서] Armv8 익셉션 레벨: SPSR(Saved Program Status Register) 레지스터 Armv8: Exception Level(EL)

Armv8 아키텍처는 익셉션이 유발될 시점의 익셉션 레벨과 시스템 속성 정보를 저장하는 SPSR(Saved Program Status Register)를 제공합니다. SPSR은 익셉션이 발생했을 때의 PSTATE의 정보를 저장하는 용도로 사용되며, 익셉션을 처리한 후 익셉션이 발생한 EL과 관련된 처리를 하기 위해 사용됩니다.

Armv8 아키텍처는 익셉션을 처리한 다음에 ERET 명령어를 수행하면, 익셉션이 유발되기 전의 익셉션 레벨로 복귀하면서 SPSR_ELx에 저장된 값을 PSTATE에 복원합니다.

다음은 SPSR 레지스터의 비트맵 정보입니다.

 

그림 4.3 SPSR 레지스터의 비트맵 정보

SPSR 레지스터에서 [3:0] 비트에 익셉션이 유발된 시점의 익셉션 레벨을 나타내는 정보를 저장합니다.

SPSR은 보통 SPSR_EL1으로 명시하며 익셉션을 처리할 수 없는 EL0을 제외한 익셉션 레벨(EL1~EL3) 마다 존재합니다.

#Reference Armv8: 익셉션 레벨(ELx)


Written by <디버깅을 통해 배우는 리눅스 커널의 구조와 원리> 저자
* 2021년 대한민국 학술원 선정 우수도서



---




핑백

덧글

댓글 입력 영역