← Method 상세 목차

Hardware · Method detailed manual 03 · Linux v6.18.37

3. register snapshot을 access semantics와 함께 저장한다

enable, raw status, masked status, ownership, error와 completion을 사건 전과 직후, timeout이 발생했을 때 읽습니다. W1C, read-to-clear, latch, self-clear와 reserved bit 규칙을 먼저 표로 만들고 수집 순서를 정합니다.

상세 표
2
검증 행
14
절차
4 checkpoints
기준
Measurement · trace · fault injection · Linux v6.18.37

CHAPTER 03

3. register snapshot을 access semantics와 함께 저장한다

enable, raw status, masked status, ownership, error와 completion을 사건 전과 직후, timeout이 발생했을 때 읽습니다. W1C, read-to-clear, latch, self-clear와 reserved bit 규칙을 먼저 표로 만들고 수집 순서를 정합니다.

side effect

register read 자체가 상태를 소비할 수 있습니다.

W1C

1을 쓴 bit에만 clear를 적용하므로 blind read-modify-write가 새 event를 지울 수 있습니다.

snapshot group

서로 연관된 register를 가능한 짧은 간격에 읽고 timestamp를 붙입니다.

identity

IP version과 합성 option이 확정돼야 field 해석표를 고를 수 있습니다.

기록 항목과 판정 기준

항목수집 방법필수 metadata통과 기준누락했을 때의 위험
IP identityID/version registerrelease, integration optiondatasheet와 일치다른 offset/bit 적용
access typedatabookRO/RW/W1C/RC/self-clear수집 code에 반영상태를 관찰 중 파괴
raw/maskedMMIO snapshottimestamp, CPU, context둘의 차이 설명 가능mask 문제 누락
ownership/indexdescriptor/queue dumpbase, head, tail, owner한 시점의 일관된 ringstale/부분 snapshot
error contextstatus+address+IDfault source와 first error첫 오류 보존후속 오류가 원인처럼 보임

실패한 실험을 바로잡는 표

증상문제점다시 고정할 변수재시험유효한 결론
읽을 때마다 status 0read-to-clear 가능access semanticsmirror/debug register 사용관찰 방법 오류
dump 후 현상 사라짐수집이 상태 변경W1C/RC와 timingread-only 최소 captureHeisenbug
enable 정상인데 event 없음정적 설정만 봄raw status/owner사건 전후 deltaruntime 경계
ring dump가 모순여러 시점 혼합freeze/snapshot 시간짧은 critical capture비원자 관측
reboot마다 offset 의미 다름IP option/revision 차이identity registerrevision별 decode해석표 오류
그림 1. 「3. register snapshot을 access semantics와 함께 저장한다」의 실행 순서왼쪽부터 신호나 데이터를 처리하는 순서를 나타냅니다. 각 단계에서 확인할 항목을 함께 표시했습니다.
01 identity read
02 semantics table
03 baseline
04 stimulus marker
05 raw status
06 masked/owner
07 timeout snapshot
08 clear/restore

실제 검증 절차

순서실행남길 증거판정 목적
1읽을 register마다 access type과 side effect를 적습니다.semantics manifest안전한 수집
2baseline/event/timeout 세 snapshot 형식을 고정합니다.동일 컬럼diff 가능
3W1C clear 값을 별도 기록하고 readback합니다.ack 증거event loss 방지
4descriptor 주소를 IOVA/PA/object와 연결합니다.주소 ledgerownership 검증

주의vendor databook이 없는 register의 reserved bit에 값을 쓰지 않습니다. 공개 driver 정의에서 확인 가능한 field만 사용합니다.

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

공개되지 않은 제조사 레지스터나 제품별 오프셋은 추측하지 않았습니다. 아래의 제조사 자료, 아키텍처 문서, Linux v6.18.37 원본으로 확인할 수 있는 내용만 다뤘습니다.

Linux ftrace

trace_marker, function graph와 event tracing