요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0-only
========
Overview
========
The Platform Environment Control Interface (PECI) is a communication
interface between Intel processor and management controllers
(e.g. Baseboard Management Controller, BMC).
PECI provides services that allow the management controller to
configure, monitor and debug platform by accessing various registers.
It defines a dedicated command protocol, where the management
controller is acting as a PECI originator and the processor - as
a PECI responder.
PECI can be used in both single processor and multiple-processor based
systems.
NOTE:
Intel PECI specification is not released as a dedicated document,
instead it is a part of External Design Specification (EDS) for given
Intel CPU. External Design Specifications are usually not publicly
available.
PECI Wire
---------
PECI Wire interface uses a single wire for self-clocking and data
transfer. It does not require any additional control lines - the
physical layer is a self-clocked one-wire bus signal that begins each
bit with a driven, rising edge from an idle near zero volts. The
duration of the signal driven high allows to determine whether the bit
value is logic '0' or logic '1'. PECI Wire also includes variable data
rate established with every message.
For PECI Wire, each processor package will utilize unique, fixed
addresses within a defined range and that address should
have a fixed relationship with the processor socket ID - if one of the
processors is removed, it does not affect addresses of remaining
processors.
PECI subsystem internals
------------------------
.. kernel-doc:: include/linux/peci.h
.. kernel-doc:: drivers/peci/internal.h
.. kernel-doc:: drivers/peci/core.c
.. kernel-doc:: drivers/peci/request.c
PECI CPU Driver API
-------------------
.. kernel-doc:: drivers/peci/cpu.c
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Platform Environment Control Interface
1-23PECI(Platform Environment Control Interface)는 Intel processor와 Baseboard Management Controller(BMC) 같은 management controller 사이의 communication interface입니다.
Management controller는 여러 register에 접근하는 PECI service를 통해 platform을 configure, monitor, debug할 수 있습니다.
PECI는 전용 command protocol을 정의합니다. Management controller가 PECI originator로 동작하고 processor가 PECI responder로 동작합니다. Single-processor와 multi-processor system 모두에서 사용할 수 있습니다.
BMC가 command를 시작하고 processor가 응답해 platform register service를 제공합니다.
Intel PECI specification은 독립 문서로 공개되지 않습니다. 각 Intel CPU의 External Design Specification(EDS)에 포함되며 EDS는 보통 공개되지 않습니다.
Command protocol의 양쪽 endpoint를 구분합니다.
.. SPDX-License-Identifier: GPL-2.0-only
========
Overview
========
The Platform Environment Control Interface (PECI) is a communication
interface between Intel processor and management controllers
(e.g. Baseboard Management Controller, BMC).
PECI provides services that allow the management controller to
configure, monitor and debug platform by accessing various registers.
It defines a dedicated command protocol, where the management
controller is acting as a PECI originator and the processor - as
a PECI responder.
PECI can be used in both single processor and multiple-processor based
systems.
NOTE:
Intel PECI specification is not released as a dedicated document,
instead it is a part of External Design Specification (EDS) for given
Intel CPU. External Design Specifications are usually not publicly
available.
PECI Wire 물리 interface
24-40PECI Wire interface는 self-clocking과 data transfer에 단일 wire를 사용하며 추가 control line이 필요하지 않습니다.
Physical layer는 idle 시 약 0V에 있다가 각 bit를 driven rising edge로 시작하는 self-clocked one-wire bus signal입니다. Signal을 high로 구동하는 지속 시간으로 bit가 logic `0`인지 `1`인지 판별합니다.
PECI Wire는 message마다 정해지는 variable data rate도 지원합니다.
한 wire의 rising edge와 high duration이 clock과 bit value를 함께 표현합니다.
각 processor package는 정의된 범위에서 고유한 fixed address를 사용하며 그 address는 processor socket ID와 고정 관계를 가져야 합니다. Processor 하나를 제거해도 나머지 processor address는 바뀌지 않습니다.
Physical signaling과 package addressing의 안정성 요구입니다.
PECI Wire
---------
PECI Wire interface uses a single wire for self-clocking and data
transfer. It does not require any additional control lines - the
physical layer is a self-clocked one-wire bus signal that begins each
bit with a driven, rising edge from an idle near zero volts. The
duration of the signal driven high allows to determine whether the bit
value is logic '0' or logic '1'. PECI Wire also includes variable data
rate established with every message.
For PECI Wire, each processor package will utilize unique, fixed
addresses within a defined range and that address should
have a fixed relationship with the processor socket ID - if one of the
processors is removed, it does not affect addresses of remaining
processors.
PECI subsystem 내부 API
41-48Sphinx는 다음 source path의 kernel-doc을 이 절에 삽입해 public header, internal 구조, core와 request 처리 API를 문서화합니다.
Subsystem 내부 layer별 source path입니다.
PECI subsystem internals
------------------------
.. kernel-doc:: include/linux/peci.h
.. kernel-doc:: drivers/peci/internal.h
.. kernel-doc:: drivers/peci/core.c
.. kernel-doc:: drivers/peci/request.c
PECI CPU driver API
49-51PECI CPU Driver API는 `drivers/peci/cpu.c`의 kernel-doc에서 생성됩니다.
CPU driver source의 kernel-doc comment가 이 페이지의 API reference가 됩니다.
PECI CPU Driver API
-------------------
.. kernel-doc:: drivers/peci/cpu.c
요약·해설
peci.rst:1-51PECI는 BMC가 originator, Intel processor가 responder로 동작하는 platform 관리 protocol입니다. Self-clocked single wire로 통신하며 package address는 socket ID와 고정 관계를 유지합니다.