요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/tpm/ibm,vtpm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: IBM Virtual Trusted Platform Module (vTPM)
maintainers:
- Nayna Jain <nayna@linux.ibm.com>
description: |
Virtual TPM is used on IBM POWER7+ and POWER8 systems running POWERVM.
It is supported through the adjunct partition with firmware release 740
or higher. With vTPM support, each lpar is able to have its own vTPM
without the physical TPM hardware. The TPM functionality is provided by
communicating with the vTPM adjunct partition through Hypervisor calls
(Hcalls) and Command/Response Queue (CRQ) commands.
properties:
compatible:
enum:
- IBM,vtpm
- IBM,vtpm20
device_type:
description:
type of virtual device
enum:
- IBM,vtpm
- IBM,vtpm20
reg:
maxItems: 1
ibm,#dma-address-cells:
description:
number of cells that are used to encode the physical address field of
dma-window properties
$ref: /schemas/types.yaml#/definitions/uint32-array
ibm,#dma-size-cells:
description:
number of cells that are used to encode the size field of
dma-window properties
$ref: /schemas/types.yaml#/definitions/uint32-array
ibm,my-dma-window:
description:
DMA window associated with this virtual I/O Adapter
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 5
maxItems: 5
ibm,my-drc-index:
description:
integer index for the connector between the device and its parent;
present only if Dynamic Reconfiguration (DR) Connector is enabled
$ref: /schemas/types.yaml#/definitions/uint32
ibm,loc-code:
description:
unique and persistent location code associated with this virtual
I/O Adapter
$ref: /schemas/types.yaml#/definitions/string
required:
- compatible
- device_type
- reg
- interrupts
- ibm,#dma-address-cells
- ibm,#dma-size-cells
- ibm,my-dma-window
- ibm,my-drc-index
- ibm,loc-code
- linux,sml-base
- linux,sml-size
allOf:
- $ref: tpm-common.yaml#
unevaluatedProperties: false
examples:
- |
soc {
#address-cells = <1>;
#size-cells = <0>;
tpm@30000003 {
compatible = "IBM,vtpm";
device_type = "IBM,vtpm";
reg = <0x30000003>;
interrupts = <0xa0003 0x0>;
ibm,#dma-address-cells = <0x2>;
ibm,#dma-size-cells = <0x2>;
ibm,my-dma-window = <0x10000003 0x0 0x0 0x0 0x10000000>;
ibm,my-drc-index = <0x30000003>;
ibm,loc-code = "U8286.41A.10082DV-V3-C3";
linux,sml-base = <0xc60e 0x0>;
linux,sml-size = <0xbce10200>;
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
IBM Virtual TPM
1-19GPL-2.0-only 또는 BSD-2-Clause 라이선스의 이 스키마는 IBM Virtual Trusted Platform Module(vTPM)을 정의합니다. vTPM은 POWERVM을 실행하는 IBM POWER7+와 POWER8 system에서 사용하며 firmware release 740 이상과 adjunct partition을 통해 지원됩니다.
vTPM 지원을 사용하면 각 LPAR가 physical TPM hardware 없이 자체 vTPM을 가질 수 있습니다. TPM 기능은 Hypervisor call(Hcall)과 Command/Response Queue(CRQ) command를 통해 vTPM adjunct partition과 통신하여 제공됩니다. Maintainer는 Nayna Jain입니다.
TPM 1.x·2.0 virtual device
20-35`compatible`과 `device_type`은 각각 `IBM,vtpm` 또는 `IBM,vtpm20`을 허용해 virtual TPM 세대를 나타냅니다. `reg`는 최대 한 항목입니다.
properties:
compatible:
enum:
- IBM,vtpm
- IBM,vtpm20
device_type:
description:
type of virtual device
enum:
- IBM,vtpm
- IBM,vtpm20
reg:
maxItems: 1
DMA window·DR connector·location
36-66`ibm,#dma-address-cells`와 `ibm,#dma-size-cells`는 DMA window 속성의 physical address field와 size field를 encode하는 cell 수를 나타냅니다. `ibm,my-dma-window`는 이 virtual I/O adapter의 DMA window이며 정확히 5개 uint32 항목입니다.
`ibm,my-drc-index`는 device와 parent 사이 connector의 integer index로 Dynamic Reconfiguration(DR) Connector가 enable된 경우에만 존재합니다. `ibm,loc-code`는 virtual I/O adapter에 연결된 고유하고 영속적인 location code string입니다.
ibm,#dma-address-cells:
description:
number of cells that are used to encode the physical address field of
dma-window properties
$ref: /schemas/types.yaml#/definitions/uint32-array
ibm,#dma-size-cells:
description:
number of cells that are used to encode the size field of
dma-window properties
$ref: /schemas/types.yaml#/definitions/uint32-array
ibm,my-dma-window:
description:
DMA window associated with this virtual I/O Adapter
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 5
maxItems: 5
ibm,my-drc-index:
description:
integer index for the connector between the device and its parent;
present only if Dynamic Reconfiguration (DR) Connector is enabled
$ref: /schemas/types.yaml#/definitions/uint32
ibm,loc-code:
description:
unique and persistent location code associated with this virtual
I/O Adapter
$ref: /schemas/types.yaml#/definitions/string
필수 VIO·TPM event log 속성
67-84`compatible`, `device_type`, `reg`, `interrupts`, 두 DMA cell 수, `ibm,my-dma-window`, `ibm,my-drc-index`, `ibm,loc-code`, `linux,sml-base`, `linux,sml-size`가 필수입니다. 공통 TPM 속성은 `tpm-common.yaml`에서 상속하며 평가되지 않은 추가 속성은 허용하지 않습니다.
required:
- compatible
- device_type
- reg
- interrupts
- ibm,#dma-address-cells
- ibm,#dma-size-cells
- ibm,my-dma-window
- ibm,my-drc-index
- ibm,loc-code
- linux,sml-base
- linux,sml-size
allOf:
- $ref: tpm-common.yaml#
unevaluatedProperties: false
POWER virtual I/O adapter 예제
85-104예제 `tpm@30000003`은 TPM 1.x용 `IBM,vtpm`, register 0x30000003, interrupt tuple `<0xa0003 0x0>`을 사용합니다. DMA address·size는 각각 두 cell이며 0x10000000-byte DMA window, DRC index 0x30000003, location code를 지정합니다. TPM event log는 `linux,sml-base`와 `linux,sml-size`로 기술합니다.
examples:
- |
soc {
#address-cells = <1>;
#size-cells = <0>;
tpm@30000003 {
compatible = "IBM,vtpm";
device_type = "IBM,vtpm";
reg = <0x30000003>;
interrupts = <0xa0003 0x0>;
ibm,#dma-address-cells = <0x2>;
ibm,#dma-size-cells = <0x2>;
ibm,my-dma-window = <0x10000003 0x0 0x0 0x0 0x10000000>;
ibm,my-drc-index = <0x30000003>;
ibm,loc-code = "U8286.41A.10082DV-V3-C3";
linux,sml-base = <0xc60e 0x0>;
linux,sml-size = <0xbce10200>;
};
};
요약과 해설
ibm,vtpm.yaml:1-104IBM POWER vTPM의 Hcall·CRQ와 virtual I/O DMA 속성을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, bus, register, phandle, 수치와 줄 좌표를 원형대로 보존합니다.