요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Other Firmware Interfaces
=========================
DMI Interfaces
--------------
.. kernel-doc:: drivers/firmware/dmi_scan.c
:export:
EDD Interfaces
--------------
.. kernel-doc:: drivers/firmware/edd.c
:internal:
Generic System Framebuffers Interface
-------------------------------------
.. kernel-doc:: drivers/firmware/sysfb.c
:export:
Intel Stratix10 SoC Service Layer
---------------------------------
Some features of the Intel Stratix10 SoC require a level of privilege
higher than the kernel is granted. Such secure features include
FPGA programming. In terms of the ARMv8 architecture, the kernel runs
at Exception Level 1 (EL1), access to the features requires
Exception Level 3 (EL3).
The Intel Stratix10 SoC service layer provides an in kernel API for
drivers to request access to the secure features. The requests are queued
and processed one by one. ARM’s SMCCC is used to pass the execution
of the requests on to a secure monitor (EL3).
.. kernel-doc:: include/linux/firmware/intel/stratix10-svc-client.h
:functions: stratix10_svc_command_code
.. kernel-doc:: include/linux/firmware/intel/stratix10-svc-client.h
:functions: stratix10_svc_client_msg
.. kernel-doc:: include/linux/firmware/intel/stratix10-svc-client.h
:functions: stratix10_svc_command_config_type
.. kernel-doc:: include/linux/firmware/intel/stratix10-svc-client.h
:functions: stratix10_svc_cb_data
.. kernel-doc:: include/linux/firmware/intel/stratix10-svc-client.h
:functions: stratix10_svc_client
.. kernel-doc:: drivers/firmware/stratix10-svc.c
:export:
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
DMI interface
1-9문서 제목은 `Other Firmware Interfaces`입니다.
DMI interface 문서는 `drivers/firmware/dmi_scan.c`가 export하는 kernel-doc API를 포함합니다.
.. kernel-doc:: drivers/firmware/dmi_scan.c
:export:
EDD interface
10-15EDD interface 문서는 `drivers/firmware/edd.c`의 internal kernel-doc API를 포함합니다.
.. kernel-doc:: drivers/firmware/edd.c
:internal:
Generic system framebuffer interface
16-21Generic system framebuffer interface 문서는 `drivers/firmware/sysfb.c`가 export하는 kernel-doc API를 포함합니다.
.. kernel-doc:: drivers/firmware/sysfb.c
:export:
각 interface의 source와 kernel-doc 공개 범위를 정리했습니다.
Intel Stratix10 SoC service layer
22-34Intel Stratix10 SoC의 일부 기능에는 kernel에 부여된 것보다 높은 privilege level이 필요합니다. FPGA programming이 이런 secure feature에 포함됩니다.
ARMv8 architecture에서 kernel은 Exception Level 1(EL1)에서 실행되고, 해당 기능에 접근하려면 Exception Level 3(EL3)이 필요합니다.
Intel Stratix10 SoC service layer는 driver가 secure feature 접근을 request할 수 있는 in-kernel API를 제공합니다. Request는 queue에 들어가 하나씩 처리되며, ARM SMCCC를 사용해 secure monitor(EL3)로 실행을 넘깁니다.
EL1 driver request가 queue와 SMCCC를 거쳐 EL3 secure monitor에서 실행됩니다.
Stratix10 service API data structure
35-51`include/linux/firmware/intel/stratix10-svc-client.h`에서 command code, client message, configuration type, callback data와 client structure의 kernel-doc을 가져옵니다.
.. kernel-doc:: include/linux/firmware/intel/stratix10-svc-client.h
:functions: stratix10_svc_command_code
.. kernel-doc:: include/linux/firmware/intel/stratix10-svc-client.h
:functions: stratix10_svc_client_msg
.. kernel-doc:: include/linux/firmware/intel/stratix10-svc-client.h
:functions: stratix10_svc_command_config_type
.. kernel-doc:: include/linux/firmware/intel/stratix10-svc-client.h
:functions: stratix10_svc_cb_data
.. kernel-doc:: include/linux/firmware/intel/stratix10-svc-client.h
:functions: stratix10_svc_client
Service implementation의 exported API 문서는 `drivers/firmware/stratix10-svc.c`에서 가져옵니다.
.. kernel-doc:: drivers/firmware/stratix10-svc.c
:export:
요약과 해설
other_interfaces.rst:1-51이 페이지는 DMI·EDD·generic system framebuffer의 kernel-doc entry와 Intel Stratix10 secure service API를 모읍니다.
Stratix10에서는 EL1 kernel driver request를 queue에 넣고 ARM SMCCC로 EL3 secure monitor에 전달해 FPGA programming 같은 privileged operation을 실행합니다.