← Documents Documentation/ABI/stable/sysfs-hypervisor-xen GitHub 원문 ↗

Linux 6.18.37 · ABI / stable

Xen hypervisor stable sysfs ABI

Xen hypervisor build provenance와 changeset, guest capability token, feature·page·virtual-address property, guest UUID, version 및 start-flag boolean file을 설명합니다.

Source pathDocumentation/ABI/stable/sysfs-hypervisor-xen
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

Hypervisor compilation provenance

sysfs-hypervisor-xen:1-27

Xen build timestamp, builder와 compiler 정보를 제공하며 security setting에 따라 denied될 수 있습니다.

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-123

Xen environment 식별값, hypervisor가 아는 guest UUID와 major.minor.extra version 구성요소를 제공합니다.

Xen start flags

sysfs-hypervisor-xen:124-135

Xen start-flags의 각 bit를 initdomain·privileged 또는 unknownXX boolean file로 노출합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 What: /sys/hypervisor/compilation/compile_date
2 Date: March 2009
3 KernelVersion: 2.6.30
5 Description: If running under Xen:
6 Contains the build time stamp of the Xen hypervisor
7 Might return "<denied>" in case of special security settings
8 in the hypervisor.
9
10 What: /sys/hypervisor/compilation/compiled_by
11 Date: March 2009
12 KernelVersion: 2.6.30
14 Description: If running under Xen:
15 Contains information who built the Xen hypervisor
16 Might return "<denied>" in case of special security settings
17 in the hypervisor.
18
19 What: /sys/hypervisor/compilation/compiler
20 Date: March 2009
21 KernelVersion: 2.6.30
23 Description: If running under Xen:
24 Compiler which was used to build the Xen hypervisor
25 Might return "<denied>" in case of special security settings
26 in the hypervisor.
27
28 What: /sys/hypervisor/properties/capabilities
29 Date: March 2009
30 KernelVersion: 2.6.30
32 Description: If running under Xen:
33 Space separated list of supported guest system types. Each type
34 is in the format: <class>-<major>.<minor>-<arch>
35 With:
36
37 ======== ============================================
38 <class>: "xen" -- x86: paravirtualized, arm: standard
39 "hvm" -- x86 only: fully virtualized
40 <major>: major guest interface version
41 <minor>: minor guest interface version
42 <arch>: architecture, e.g.:
43 "x86_32": 32 bit x86 guest without PAE
44 "x86_32p": 32 bit x86 guest with PAE
45 "x86_64": 64 bit x86 guest
46 "armv7l": 32 bit arm guest
47 "aarch64": 64 bit arm guest
48 ======== ============================================
49
50 What: /sys/hypervisor/properties/changeset
51 Date: March 2009
52 KernelVersion: 2.6.30
54 Description: If running under Xen:
55 Changeset of the hypervisor (git commit)
56 Might return "<denied>" in case of special security settings
57 in the hypervisor.
58
59 What: /sys/hypervisor/properties/features
60 Date: March 2009
61 KernelVersion: 2.6.30
63 Description: If running under Xen:
64 Features the Xen hypervisor supports for the guest as defined
65 in include/xen/interface/features.h printed as a hex value.
66
67 What: /sys/hypervisor/properties/pagesize
68 Date: March 2009
69 KernelVersion: 2.6.30
71 Description: If running under Xen:
72 Default page size of the hypervisor printed as a hex value.
73 Might return "0" in case of special security settings
74 in the hypervisor.
75
76 What: /sys/hypervisor/properties/virtual_start
77 Date: March 2009
78 KernelVersion: 2.6.30
80 Description: If running under Xen:
81 Virtual address of the hypervisor as a hex value.
82
83 What: /sys/hypervisor/type
84 Date: March 2009
85 KernelVersion: 2.6.30
87 Description: If running under Xen:
88 Type of hypervisor:
89 "xen": Xen hypervisor
90
91 What: /sys/hypervisor/uuid
92 Date: March 2009
93 KernelVersion: 2.6.30
95 Description: If running under Xen:
96 UUID of the guest as known to the Xen hypervisor.
97
98 What: /sys/hypervisor/version/extra
99 Date: March 2009
100 KernelVersion: 2.6.30
102 Description: If running under Xen:
103 The Xen version is in the format <major>.<minor><extra>
104 This is the <extra> part of it.
105 Might return "<denied>" in case of special security settings
106 in the hypervisor.
107
108 What: /sys/hypervisor/version/major
109 Date: March 2009
110 KernelVersion: 2.6.30
112 Description: If running under Xen:
113 The Xen version is in the format <major>.<minor><extra>
114 This is the <major> part of it.
115
116 What: /sys/hypervisor/version/minor
117 Date: March 2009
118 KernelVersion: 2.6.30
120 Description: If running under Xen:
121 The Xen version is in the format <major>.<minor><extra>
122 This is the <minor> part of it.
123
124 What: /sys/hypervisor/start_flags/*
125 Date: March 2023
126 KernelVersion: 6.3.0
128 Description: If running under Xen:
129 All bits in Xen's start-flags are represented as
130 boolean files, returning '1' if set, '0' otherwise.
131 This takes the place of the defunct /proc/xen/capabilities,
132 which would contain "control_d" on dom0, and be empty
133 otherwise. This flag is now exposed as "initdomain" in
134 addition to the "privileged" flag; all other possible flags
135 are accessible as "unknownXX".
136

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Xen 환경에서만 제공되는 ABI

1-135

모든 항목은 Xen 아래에서 실행 중일 때 의미가 있으며 담당자는 [email protected]다. 별도 표기가 없는 항목은 2009년 3월 kernel 2.6.30에 도입됐다.

Xen hypervisor build provenance

1-27
경로내용Security 제한
/sys/hypervisor/compilation/compile_dateXen hypervisor build timestamp특별한 hypervisor security setting에서는 <denied>를 반환할 수 있다.
/sys/hypervisor/compilation/compiled_byXen hypervisor를 build한 주체 정보특별한 hypervisor security setting에서는 <denied>를 반환할 수 있다.
/sys/hypervisor/compilation/compilerXen 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>다.

Xen capability token 구성
classmajor.minorarch
01 xen: x86 paravirtualized, Arm standardGuest interface versionx86_32: 32-bit x86, no PAE
02 hvm: x86 fully virtualized예: 3.0x86_32p: 32-bit x86 with PAE
03 x86_64: 64-bit x86
04 armv7l: 32-bit Arm
05 aarch64: 64-bit Arm

하나의 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/changesetHypervisor changeset, 즉 git commit이다.<denied>를 반환할 수 있다.
properties/featuresGuest에 제공하는 Xen hypervisor feature를 hexadecimal 값으로 표시한다. Bit 정의는 include/xen/interface/features.h에 있다.원문에 별도 대체값 없음
properties/pagesizeHypervisor default page size를 hexadecimal 값으로 표시한다.특별한 security setting에서는 0을 반환할 수 있다.
properties/virtual_startHypervisor virtual address를 hexadecimal 값으로 표시한다.원문에 별도 대체값 없음

Hypervisor type과 guest UUID

83-97
경로내용
/sys/hypervisor/typeHypervisor type을 반환한다. Xen hypervisor에서는 xen이다.
/sys/hypervisor/uuidXen hypervisor가 알고 있는 guest UUID를 반환한다.

Xen major.minor.extra version

98-123

Xen 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/*
Date2023년 3월
KernelVersion6.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 이름으로 접근할 수 있다.

Legacy dom0 capability에서 start_flags로의 이동
이전 /proc/xen/capabilities의 control_d tokenstart_flags directory로 대체dom0 성격을 initdomain과 privileged로 표현알려지지 않은 bit는 unknownXX 파일로 보존

하나의 text token 대신 Xen start-flags 각 bit가 독립된 boolean file이 된다.