연동 흐름별로 읽기
CPU를 깨우는 전체 과정: Linux → TF-A → 새 CPU
CPU_ON에 전달한 값이 새 CPU의 PC와 실행 상태로 이어지는 과정을 커널과 펌웨어 양쪽 코드로 읽습니다.
U-Boot에서 Linux로 넘기는 주소와 실행 상태
커널, DTB, initramfs와 부팅 인자가 부트로더의 값에서 커널의 입력으로 이어지는 경계를 읽습니다.
Linux와 OP-TEE 사이의 호출·공유 메모리·RPC
ioctl에서 TA 실행까지, 그리고 tee-supplicant를 거쳐 돌아오는 중간 요청과 최종 결과를 구분합니다.
펌웨어와 커널이 나누어 쓰는 메모리와 장치
메모리 예약, 보안 접근 제어, 공유 버퍼의 주소·수명, SCMI를 통한 자원 요청을 구분합니다.
기존 글과 연결해서 읽습니다
| 기존 글의 범위 | 이곳에서 이어서 설명하는 부분 |
|---|---|
| U-Boot booti, kernel head.S, FDT 초기 처리 | 최종 DTB 주소와 chosen 속성이 커널의 입력이 되는 과정 |
| ATF PSCI, head.S 보조 CPU 진입, sleep.S | CPU_ON의 인자 → 전원 요청 → 새 CPU의 warm boot → Linux online; spin-table·idle·suspend와 구분 |
| OP-TEE SMC 진입, shared memory, RPC | Linux ioctl·드라이버와 OP-TEE 메시지·재개 처리·최종 반환의 연결 |
| Device Tree, clock/reset/regulator | 메모리 예약과 보안 접근 제어의 차이, 주소·cache·수명, SCMI 전송 경로 |