요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* QEMU PVPANIC MMIO Configuration bindings
QEMU's emulation / virtualization targets provide the following PVPANIC
MMIO Configuration interface on the "virt" machine.
type:
- a read-write, 16-bit wide data register.
QEMU exposes the data register to guests as memory mapped registers.
Required properties:
- compatible: "qemu,pvpanic-mmio".
- reg: the MMIO region used by the device.
* Bytes 0x0 Write panic event to the reg when guest OS panics.
* Bytes 0x1 Reserved.
Example:
/ {
#size-cells = <0x2>;
#address-cells = <0x2>;
pvpanic-mmio@9060000 {
compatible = "qemu,pvpanic-mmio";
reg = <0x0 0x9060000 0x0 0x2>;
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
QEMU PVPANIC MMIO
1-10QEMU emulation·virtualization target은 `virt` machine에 PVPANIC MMIO configuration interface를 제공합니다. Interface는 read-write 16-bit data register 하나이며 QEMU는 이를 guest에 memory-mapped register로 노출합니다.
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입니다.
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>;
};
};
요약과 해설
pvpanic-mmio.txt:1-29Panic event byte와 reserved byte, 2-byte MMIO 예제를 설명합니다.