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를 구동함. 

아래의 세부 기능을 포함.

 

각 기능들은 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에 대한 문서는 원문 참고.

원문 : https://chromium.googlesource.com/chromiumos/third_party/arm-trusted-firmware/+/factory-strago-7458.B/docs/firmware-design.md

 

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

+ Recent posts