요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
Guest capability와 hypervisor property
sysfs-hypervisor-xen:28-82지원 guest class·interface version·architecture token과 changeset, feature mask, page size와 virtual start를 제공합니다.
Hypervisor type, guest UUID와 version
sysfs-hypervisor-xen:83-123Xen environment 식별값, hypervisor가 아는 guest UUID와 major.minor.extra version 구성요소를 제공합니다.
Xen start flags
sysfs-hypervisor-xen:124-135Xen start-flags의 각 bit를 initdomain·privileged 또는 unknownXX boolean file로 노출합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
What: /sys/hypervisor/compilation/compile_date
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
Contains the build time stamp of the Xen hypervisor
Might return "<denied>" in case of special security settings
in the hypervisor.
What: /sys/hypervisor/compilation/compiled_by
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
Contains information who built the Xen hypervisor
Might return "<denied>" in case of special security settings
in the hypervisor.
What: /sys/hypervisor/compilation/compiler
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
Compiler which was used to build the Xen hypervisor
Might return "<denied>" in case of special security settings
in the hypervisor.
What: /sys/hypervisor/properties/capabilities
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
Space separated list of supported guest system types. Each type
is in the format: <class>-<major>.<minor>-<arch>
With:
======== ============================================
<class>: "xen" -- x86: paravirtualized, arm: standard
"hvm" -- x86 only: fully virtualized
<major>: major guest interface version
<minor>: minor guest interface version
<arch>: architecture, e.g.:
"x86_32": 32 bit x86 guest without PAE
"x86_32p": 32 bit x86 guest with PAE
"x86_64": 64 bit x86 guest
"armv7l": 32 bit arm guest
"aarch64": 64 bit arm guest
======== ============================================
What: /sys/hypervisor/properties/changeset
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
Changeset of the hypervisor (git commit)
Might return "<denied>" in case of special security settings
in the hypervisor.
What: /sys/hypervisor/properties/features
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
Features the Xen hypervisor supports for the guest as defined
in include/xen/interface/features.h printed as a hex value.
What: /sys/hypervisor/properties/pagesize
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
Default page size of the hypervisor printed as a hex value.
Might return "0" in case of special security settings
in the hypervisor.
What: /sys/hypervisor/properties/virtual_start
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
Virtual address of the hypervisor as a hex value.
What: /sys/hypervisor/type
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
Type of hypervisor:
"xen": Xen hypervisor
What: /sys/hypervisor/uuid
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
UUID of the guest as known to the Xen hypervisor.
What: /sys/hypervisor/version/extra
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
The Xen version is in the format <major>.<minor><extra>
This is the <extra> part of it.
Might return "<denied>" in case of special security settings
in the hypervisor.
What: /sys/hypervisor/version/major
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
The Xen version is in the format <major>.<minor><extra>
This is the <major> part of it.
What: /sys/hypervisor/version/minor
Date: March 2009
KernelVersion: 2.6.30
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
The Xen version is in the format <major>.<minor><extra>
This is the <minor> part of it.
What: /sys/hypervisor/start_flags/*
Date: March 2023
KernelVersion: 6.3.0
Contact: xen-devel@lists.xenproject.org
Description: If running under Xen:
All bits in Xen's start-flags are represented as
boolean files, returning '1' if set, '0' otherwise.
This takes the place of the defunct /proc/xen/capabilities,
which would contain "control_d" on dom0, and be empty
otherwise. This flag is now exposed as "initdomain" in
addition to the "privileged" flag; all other possible flags
are accessible as "unknownXX".
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Xen 환경에서만 제공되는 ABI
1-135모든 항목은 Xen 아래에서 실행 중일 때 의미가 있으며 담당자는 xen-devel@lists.xenproject.org다. 별도 표기가 없는 항목은 2009년 3월 kernel 2.6.30에 도입됐다.
Xen hypervisor build provenance
1-27| 경로 | 내용 | Security 제한 |
|---|---|---|
| /sys/hypervisor/compilation/compile_date | Xen hypervisor build timestamp | 특별한 hypervisor security setting에서는 <denied>를 반환할 수 있다. |
| /sys/hypervisor/compilation/compiled_by | Xen hypervisor를 build한 주체 정보 | 특별한 hypervisor security setting에서는 <denied>를 반환할 수 있다. |
| /sys/hypervisor/compilation/compiler | Xen hypervisor build에 사용한 compiler | 특별한 hypervisor security setting에서는 <denied>를 반환할 수 있다. |
지원 guest system type token
28-49/sys/hypervisor/properties/capabilities는 지원 guest-system type을 space-separated list로 반환한다. 각 type 형식은 <class>-<major>.<minor>-<arch>다.
하나의 token이 virtualization class, guest interface version과 architecture를 함께 표현한다.
| 구성요소 | 의미 |
|---|---|
| <class> | xen은 x86 paravirtualized guest 또는 Arm standard guest, hvm은 x86 전용 fully virtualized guest다. |
| <major> | Guest interface major version |
| <minor> | Guest interface minor version |
| <arch> | Guest architecture identifier |
Changeset, feature mask와 address property
50-82| 경로 suffix | 표현과 의미 | Security 제한 |
|---|---|---|
| properties/changeset | Hypervisor changeset, 즉 git commit이다. | <denied>를 반환할 수 있다. |
| properties/features | Guest에 제공하는 Xen hypervisor feature를 hexadecimal 값으로 표시한다. Bit 정의는 include/xen/interface/features.h에 있다. | 원문에 별도 대체값 없음 |
| properties/pagesize | Hypervisor default page size를 hexadecimal 값으로 표시한다. | 특별한 security setting에서는 0을 반환할 수 있다. |
| properties/virtual_start | Hypervisor virtual address를 hexadecimal 값으로 표시한다. | 원문에 별도 대체값 없음 |
Hypervisor type과 guest UUID
83-97| 경로 | 내용 |
|---|---|
| /sys/hypervisor/type | Hypervisor type을 반환한다. Xen hypervisor에서는 xen이다. |
| /sys/hypervisor/uuid | Xen hypervisor가 알고 있는 guest UUID를 반환한다. |
Xen major.minor.extra version
98-123Xen version 형식은 <major>.<minor><extra>이며 세 파일이 각 구성요소를 따로 제공한다.
| 경로 suffix | 내용 |
|---|---|
| version/extra | <extra> 부분이다. 특별한 security setting에서는 <denied>를 반환할 수 있다. |
| version/major | <major> 부분이다. |
| version/minor | <minor> 부분이다. |
start-flags bit의 boolean file 표현
124-135| 항목 | 내용 |
|---|---|
| What | /sys/hypervisor/start_flags/* |
| Date | 2023년 3월 |
| KernelVersion | 6.3.0 |
Xen start-flags의 모든 bit를 개별 boolean file로 나타낸다. Bit가 set이면 1, 아니면 0을 반환한다.
이 ABI는 폐기된 /proc/xen/capabilities를 대체한다. 이전 파일은 dom0에서 control_d를 담고 다른 domain에서는 비어 있었다. 이제 해당 flag를 privileged와 함께 initdomain으로 노출한다. 그 밖의 가능한 flag는 unknownXX 이름으로 접근할 수 있다.
하나의 text token 대신 Xen start-flags 각 bit가 독립된 boolean file이 된다.
Hypervisor compilation provenance
sysfs-hypervisor-xen:1-27Xen build timestamp, builder와 compiler 정보를 제공하며 security setting에 따라 denied될 수 있습니다.