Linux v6.18.37 · TF-A LTS 2.14.3 · U-Boot v2026.07 · OP-TEE OS 4.10.0

부트로더·펌웨어·커널 연동

한쪽 코드가 만든 주소·레지스터·메시지를 다른 쪽 코드가 어디에서 읽는지 이어서 살펴봅니다.

연동 흐름별로 읽기

  1. CPU를 깨우는 전체 과정: Linux → TF-A → 새 CPU

    CPU_ON에 전달한 값이 새 CPU의 PC와 실행 상태로 이어지는 과정을 커널과 펌웨어 양쪽 코드로 읽습니다.

  2. U-Boot에서 Linux로 넘기는 주소와 실행 상태

    커널, DTB, initramfs와 부팅 인자가 부트로더의 값에서 커널의 입력으로 이어지는 경계를 읽습니다.

  3. Linux와 OP-TEE 사이의 호출·공유 메모리·RPC

    ioctl에서 TA 실행까지, 그리고 tee-supplicant를 거쳐 돌아오는 중간 요청과 최종 결과를 구분합니다.

  4. 펌웨어와 커널이 나누어 쓰는 메모리와 장치

    메모리 예약, 보안 접근 제어, 공유 버퍼의 주소·수명, SCMI를 통한 자원 요청을 구분합니다.

기존 글과 연결해서 읽습니다

기존 글의 범위이곳에서 이어서 설명하는 부분
U-Boot booti, kernel head.S, FDT 초기 처리최종 DTB 주소와 chosen 속성이 커널의 입력이 되는 과정
ATF PSCI, head.S 보조 CPU 진입, sleep.SCPU_ON의 인자 → 전원 요청 → 새 CPU의 warm boot → Linux online; spin-table·idle·suspend와 구분
OP-TEE SMC 진입, shared memory, RPCLinux ioctl·드라이버와 OP-TEE 메시지·재개 처리·최종 반환의 연결
Device Tree, clock/reset/regulator메모리 예약과 보안 접근 제어의 차이, 주소·cache·수명, SCMI 전송 경로