1. ARM Trusted Firmware-A
https://github.com/ARM-software/arm-trusted-firmware
ARM-software/arm-trusted-firmware
Read-only mirror of Trusted Firmware-A. Contribute to ARM-software/arm-trusted-firmware development by creating an account on GitHub.
github.com
Secure Monitor(EL3) 역할을 수행하며 ARM Trusted Firmware-A(BL31)를 통해 BL32 OPTEE OS를 구동함.
아래의 세부 기능을 포함.
- Power State Coordination Interface (PSCI)
- Trusted Board Boot Requirements CLIENT (TBBR-CLIENT)
- SMC Calling Convention(SMCCC)
- System Control and Management Interface (SCMI)
- Software Delegated Exception Interface (SDEI)
각 기능들은 SMC Calling Convention에 의거하여 구동되며, OPTEE로의 SMC 전달은 Runtime Services Framework - Secure-EL1 Payload Dispatcher(SPD) service를 통해 처리. (Standard service calls - ex) PSCI, Secure-EL1 Payload Dispatcher service, CPU implementation service등)
ARM Trusted Firmware Design에 대한 문서는 원문 참고.
ARM Trusted Firmware Design
ARM Trusted Firmware Design Contents : IntroductionCold bootEL3 runtime services frameworkPower State Coordination InterfaceSecure-EL1 Payloads and DispatchersCrash Reporting in BL3-1Guidelines for Reset HandlersCPU specific operations frameworkMemory layo
chromium.googlesource.com
부팅은 5단계에 의해 진행 - AArch64 case.
- Boot Loader stage 1 (BL1) AP Trusted ROM
- Boot Loader stage 2 (BL2) Trusted Boot Firmware
- Boot Loader stage 3-1 (BL3-1) EL3 Runtime Firmware
- Boot Loader stage 3-2 (BL3-2) Secure-EL1 Payload (optional)
- Boot Loader stage 3-3 (BL3-3) Non-trusted Firmware
2. SMC Calling Convention
ARM에서는 SMC Call / HVC Call에 대한 규약을 미리 정해두었음.
원문 : http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0028B_SMC_Calling_Convention.pdf
여기에 따라 Function identifier 값, Argument Passing 방법을 수행.
SMC는 2가지 종류로 구분 - Fast SMC, Standard SMC or yield SMC /
Atomic operation을 제공하느냐 여부로 구분되는데, 이는 결국 Interrupt masking을 통해 결정.
'OPTEE with Rasberry Pi 3B' 카테고리의 다른 글
SMC Call Sequence (0) | 2019.09.30 |
---|---|
OPTEE Log Level (0) | 2019.09.18 |
NFS boot (0) | 2019.09.17 |
Rasberry Pi 3B vs 3B+ (0) | 2019.09.04 |
OP-TEE Build for Rasberry Pi 3B (0) | 2019.09.03 |