Documentation/devicetree/bindings/misc/pvpanic-mmio.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

QEMU PVPANIC MMIO

QEMU virt guest panic을 전달하는 16-bit MMIO register 바인딩입니다.

Source pathDocumentation/devicetree/bindings/misc/pvpanic-mmio.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

pvpanic-mmio.txt:1-29

Panic event byte와 reserved byte, 2-byte MMIO 예제를 설명합니다.

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 * QEMU PVPANIC MMIO Configuration bindings
2
3 QEMU's emulation / virtualization targets provide the following PVPANIC
4 MMIO Configuration interface on the "virt" machine.
5 type:
6
7 - a read-write, 16-bit wide data register.
8
9 QEMU exposes the data register to guests as memory mapped registers.
10
11 Required properties:
12
13 - compatible: "qemu,pvpanic-mmio".
14 - reg: the MMIO region used by the device.
15 * Bytes 0x0 Write panic event to the reg when guest OS panics.
16 * Bytes 0x1 Reserved.
17
18 Example:
19
20 / {
21 #size-cells = <0x2>;
22 #address-cells = <0x2>;
23
24 pvpanic-mmio@9060000 {
25 compatible = "qemu,pvpanic-mmio";
26 reg = <0x0 0x9060000 0x0 0x2>;
27 };
28 };
29
30

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

QEMU PVPANIC MMIO

1-10

QEMU emulation·virtualization target은 `virt` machine에 PVPANIC MMIO configuration interface를 제공합니다. Interface는 read-write 16-bit data register 하나이며 QEMU는 이를 guest에 memory-mapped register로 노출합니다.

PVPANIC notification
Guest OS panicWrite MMIO byte 0
PVPANIC registerQEMU host notification

Guest panic event를 MMIO byte 0에 써서 QEMU host에 알립니다.

2-byte MMIO region

11-17

`compatible`은 `qemu,pvpanic-mmio`이고 `reg`는 장치가 사용하는 MMIO 영역입니다. Byte `0x0`에는 guest OS panic 시 panic event를 쓰고 byte `0x1`은 reserved입니다.

PVPANIC data register
Byte용도
0x0Guest panic event write
0x1Reserved

16-bit register의 byte별 의미입니다.

QEMU virt 예제

18-29

예제는 두 cell 주소·크기 형식으로 물리 주소 `0x9060000`에 길이 2 bytes의 PVPANIC MMIO 장치를 배치합니다.

/ {
        #size-cells = <0x2>;
        #address-cells = <0x2>;

        pvpanic-mmio@9060000 {
                compatible = "qemu,pvpanic-mmio";
                reg = <0x0 0x9060000 0x0 0x2>;
        };
};