임베디드

ARM Exception Level(EL) 알아보기(2): EL2(하이퍼바이저)와 EL3(보안 모드)

embeddedworld 2025. 3. 19. 07:13

이전 글에서는 EL0(사용자 모드)와 EL1(커널 모드)에 대해 살펴보았다.
이번 글에서는 EL2(하이퍼바이저 모드)와 EL3(보안 모드)의 역할과 동작 방식을 분석해보겠다.



1. EL2 – 하이퍼바이저 모드 (Hypervisor Mode)


EL2는 가상화를 위한 특수 모드로, EL1에서 실행되는 OS를 여러 개 가상화할 수 있도록 관리한다.
예시: KVM, Xen

<EL2의 주요 역할>
• EL1에서 실행되는 각 OS의 메모리 격리 및 CPU 스케줄링 관리
• EL1 커널이 EL2에 HVC(Hypervisor Call)을 통해 하이퍼바이저 기능을 요청



2. EL3 – 보안 모드 (Secure Monitor Mode)


EL3는 ARM의 TrustZone 기술과 연계된 최상위 보안 실행 환경으로, 일반 OS가 접근할 수 없는 영역이다.
EL1 또는 EL2에서 보안 관련 기능이 필요할 때 EL3을 호출하여 처리한다.
예시: ARM TrustZone

<EL3의 주요 기능>
• Secure Monitor Call (SMC) 지원
• EL1/EL2에서 보안 기능 요청 시 EL3으로 전환
• PSCI (Power State Coordination Interface) 제공
• 전원 관리 및 CPU 코어 on/off 지원
• Secure World와 Non-Secure World 전환
• TrustZone을 활용하여 보안 OS(OP-TEE)와 일반 OS(Linux) 간 실행 환경 격리



3. EL 간 전환 메커니즘


EL 간 전환은 예외(Exception) 처리를 통해 이루어진다.

<전환 방향 호출 방식>
EL0 → EL1 SVC (System Call)
EL1 → EL2 HVC (Hypervisor Call)
EL1/EL2 → EL3 SMC (Secure Monitor Call)




4. 결론


EL2와 EL3는 운영체제와 가상화 및 보안 아키텍처의 핵심적인 역할을 수행한다.
• EL2: 가상화 기술(KVM, Xen)이 동작하는 공간
• EL3: ARM TrustZone을 활용하여 보안 기능을 제공