← Interrupt 상세 목차DUJINLABS.COM

Hardware · Interrupt detailed manual 06 · Linux v6.18.37

6. IOMMU interrupt remapping과 가상 APIC 경계를 읽는다

remappable MSI format, IRTE의 source validation, destination/vector와 posted interrupt descriptor를 device Requester ID부터 host/guest LAPIC까지 추적합니다.

상세 표
2
검증 행
14
절차
4 checkpoints
기준
x86 APIC · IOAPIC · MSI · Linux v6.18.37

CHAPTER 06

6. IOMMU interrupt remapping과 가상 APIC 경계를 읽는다

remappable MSI format, IRTE의 source validation, destination/vector와 posted interrupt descriptor를 device Requester ID부터 host/guest LAPIC까지 추적합니다.

IRTE

interrupt source와 destination/vector를 remapper가 검증·변환합니다.

source validation

Requester ID가 허용된 entry와 일치하지 않으면 fault가 납니다.

posted interrupt

가상 CPU가 실행 중일 때 notification과 PIR을 이용해 VM exit를 줄일 수 있습니다.

remap invalidate

IRTE 변경 후 interrupt-entry cache invalidation이 필요할 수 있습니다.

레지스터·번호·소유권 대조

항목소유자값의 의미정상 증거오류 해석
IRTA/root configIOMMUinterrupt remap table baseenabled와 aligned baseremapper off/table 오류
IRTEIOMMUpresent, source, vector, destinationMSI/IOAPIC source와 일치fault/wrong target
fault recordIOMMUsource validation/index 오류정상 0Requester/index 문제
posted descriptor PIRvirtualizationguest pending vectordevice 사건과 bit 일치notification/guest delivery
guest APIC statevLAPICIRR/ISR/EOIhost translation과 일치virtual completion

실패 경계 판정

증상직전 통과우선 확인반증 시험판정
remap on에서만 MSI 실패remap off 정상IRTE present/sourcefault log와 entry indexremapper programming
다른 device가 faulttarget device 정상Requester ID aliasPCI requester/ACS topology 확인source validation
guest latency만 큼host MSI 정상posted interrupt/VM exitposted on/off tracevirtual delivery
vCPU 이동 중 losssteady state 정상IRTE/posted descriptor targetmigration sequence 시험가상 affinity
EOI 후 재진입guest handler 실행virtual EOI/device clearhost/guest ISR와 status 비교완료 propagation
그림 1. 6. IOMMU interrupt remapping과 가상 APIC 경계를 읽는다의 실행 순서왼쪽에서 오른쪽으로 실제 소유권과 관찰 지점이 이동합니다.
01 device Requester ID
02 remappable MSI
03 IRTE lookup
04 source validation
05 host LAPIC 또는 posted descriptor
06 guest vLAPIC
07 guest handler

실제 검증 절차

순서실행남길 증거판정 목적
1Requester ID→IRTE index→destination/vector를 표로 만듭니다.remap ledgertranslation 확인
2IOMMU fault를 MSI 사건과 timestamp로 맞춥니다.source/index 증거실패 판정
3posted interrupt on/off에서 VM exit와 latency를 비교합니다.경로 차이가상화 검증
4vCPU migration 중 sequence interrupt를 보냅니다.loss/duplicate 0target update

주의interrupt remapping fault를 일반 DMA translation fault와 섞지 않습니다. 별도 fault reason과 source ID를 보존합니다.

공개적으로 다시 확인할 수 있는 자료

공개되지 않은 vendor register나 integration별 offset을 추측해서 채우지 않았습니다. 아래 제조사 자료, architecture 문서와 Linux v6.18.37 원본에서 다시 확인할 수 있는 범위만 사용했습니다.