FABRIC.md: aarch64 keyboard punch list -- GIC-SPI derivation, no landmine

Live-probed GICD_ITARGETSR before starting 4.3.5d/e; survived cleanly,
unlike riscv64's PLIC (4.3.5a). Decoded QEMU's own virt DTB for the PCI
slot->SPI interrupt-map routing table and closed-form formula. Amended
4.3.5d's circular acceptance criterion to a synthetic GICD_ISPENDR probe
(mirrors 4.3.5b's fix for the same problem), and wrote the full 4.3.5e
virtio-input execution plan: device ID 0x1052, the real virtio_input_event
struct, the mandatory ISR-status read, and the pci_enable() interrupt-
disable-bit gap.

Log: logs/20260808-093228/aarch64/.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-08-08 09:56:20 -04:00
co-authored by Claude Sonnet 5
parent e01c4e33e4
commit 06283e5364
6 changed files with 18375 additions and 16 deletions
+11 -11
View File
@@ -57,7 +57,7 @@ tick_number,elapsed_ns,tick_interval_ns,cache_hits_delta,bucket_hits_delta,word_
56,560000,10000,0,0,211,103,32,4096,1620,0,0,0,65536,0,0,65536,0,0
57,570000,10000,0,0,193,110,33,4096,1712,0,0,0,65536,0,0,65536,0,0
58,580000,10000,0,0,190,5,67,4096,1775,0,0,0,65536,0,0,65536,0,0
1,10000,18446744073708981616,0,0,117,4,4,4096,0,0,4895412794951728869,9,65536,0,0,65536,0,0
1,10000,18446744073708981616,0,0,117,4,4,4096,0,0,4895412794951728869,10,65536,0,0,65536,0,0
2,20000,10000,0,0,78,10,7,4096,0,0,0,11,65536,0,0,65536,0,0
3,30000,10000,0,0,101,13,7,4096,0,0,0,12,65536,0,0,65536,0,0
4,40000,10000,0,0,63,19,8,4096,0,0,0,13,65536,0,0,65536,0,0
@@ -66,9 +66,9 @@ tick_number,elapsed_ns,tick_interval_ns,cache_hits_delta,bucket_hits_delta,word_
7,70000,10000,0,0,228,32,8,4096,210,0,0,22,65536,0,0,65536,0,0
8,80000,10000,0,0,256,34,9,4096,466,0,0,29,65536,0,0,65536,0,0
9,90000,10000,0,0,256,36,10,4096,722,0,0,35,65536,0,0,65536,0,0
10,100000,10000,0,0,256,36,11,4096,978,0,0,41,65536,0,0,65536,0,0
10,100000,10000,0,0,256,36,11,4096,978,0,0,42,65536,0,0,65536,0,0
11,110000,10000,0,0,256,36,11,4096,1234,0,0,48,65536,0,0,65536,0,0
12,120000,10000,0,0,256,36,12,4096,1490,0,0,54,65536,0,0,65536,0,0
12,120000,10000,0,0,256,36,12,4096,1490,0,0,55,65536,0,0,65536,0,0
13,130000,10000,0,0,256,37,12,4096,1746,0,0,61,65536,0,0,65536,0,0
14,140000,10000,0,0,230,39,12,4096,1949,0,0,67,65536,0,0,65536,0,0
15,150000,10000,0,0,256,39,13,4096,2204,0,0,73,65536,0,0,65536,0,0
@@ -84,12 +84,12 @@ tick_number,elapsed_ns,tick_interval_ns,cache_hits_delta,bucket_hits_delta,word_
25,250000,10000,0,0,256,43,20,2048,2048,0,0,140,65536,0,1,65536,0,0
26,260000,10000,0,0,256,45,21,2048,2048,0,0,147,65536,0,1,65536,0,0
27,270000,10000,0,0,256,45,22,1024,1024,0,0,153,65536,0,1,65536,0,0
28,280000,10000,0,0,256,45,23,1024,1024,0,0,160,65536,0,1,65536,0,0
28,280000,10000,0,0,256,45,23,1024,1024,0,0,159,65536,0,1,65536,0,0
29,290000,10000,0,0,256,45,24,512,512,0,0,166,65536,0,1,65536,0,0
30,300000,10000,0,0,256,45,24,512,512,0,0,173,65536,0,1,65536,0,0
31,310000,10000,0,0,256,45,25,256,256,0,0,180,65536,0,1,65536,0,0
32,320000,10000,0,0,255,45,26,256,256,0,0,186,65536,0,1,65536,0,0
33,330000,10000,0,0,256,45,27,256,256,0,0,193,65536,0,1,65536,0,0
34,340000,10000,0,0,256,45,27,256,256,0,0,199,65536,0,1,65536,0,0
35,350000,10000,0,0,256,45,28,256,256,0,0,207,65536,0,1,65536,0,0
36,360000,10000,0,0,256,45,29,256,256,0,0,221,65536,0,1,65536,0,0
30,300000,10000,0,0,256,45,24,512,512,0,0,172,65536,0,1,65536,0,0
31,310000,10000,0,0,256,45,25,256,256,0,0,179,65536,0,1,65536,0,0
32,320000,10000,0,0,255,45,26,256,256,0,0,185,65536,0,1,65536,0,0
33,330000,10000,0,0,256,45,27,256,256,0,0,192,65536,0,1,65536,0,0
34,340000,10000,0,0,256,45,27,256,256,0,0,198,65536,0,1,65536,0,0
35,350000,10000,0,0,256,45,28,256,256,0,0,205,65536,0,1,65536,0,0
36,360000,10000,0,0,256,45,29,256,256,0,0,211,65536,0,1,65536,0,0
1 tick_number elapsed_ns tick_interval_ns cache_hits_delta bucket_hits_delta word_executions_delta hot_word_count avg_word_heat_q48 window_width actual_window_size predicted_label_hits jitter_bits apic_ticks time_trust_q48 variance_q48 vm_call_depth_max hera_heat_q48 hermes_heat_q48 artemis_heat_q48
57 56 560000 10000 0 0 211 103 32 4096 1620 0 0 0 65536 0 0 65536 0 0
58 57 570000 10000 0 0 193 110 33 4096 1712 0 0 0 65536 0 0 65536 0 0
59 58 580000 10000 0 0 190 5 67 4096 1775 0 0 0 65536 0 0 65536 0 0
60 1 10000 18446744073708981616 0 0 117 4 4 4096 0 0 4895412794951728869 9 10 65536 0 0 65536 0 0
61 2 20000 10000 0 0 78 10 7 4096 0 0 0 11 65536 0 0 65536 0 0
62 3 30000 10000 0 0 101 13 7 4096 0 0 0 12 65536 0 0 65536 0 0
63 4 40000 10000 0 0 63 19 8 4096 0 0 0 13 65536 0 0 65536 0 0
66 7 70000 10000 0 0 228 32 8 4096 210 0 0 22 65536 0 0 65536 0 0
67 8 80000 10000 0 0 256 34 9 4096 466 0 0 29 65536 0 0 65536 0 0
68 9 90000 10000 0 0 256 36 10 4096 722 0 0 35 65536 0 0 65536 0 0
69 10 100000 10000 0 0 256 36 11 4096 978 0 0 41 42 65536 0 0 65536 0 0
70 11 110000 10000 0 0 256 36 11 4096 1234 0 0 48 65536 0 0 65536 0 0
71 12 120000 10000 0 0 256 36 12 4096 1490 0 0 54 55 65536 0 0 65536 0 0
72 13 130000 10000 0 0 256 37 12 4096 1746 0 0 61 65536 0 0 65536 0 0
73 14 140000 10000 0 0 230 39 12 4096 1949 0 0 67 65536 0 0 65536 0 0
74 15 150000 10000 0 0 256 39 13 4096 2204 0 0 73 65536 0 0 65536 0 0
84 25 250000 10000 0 0 256 43 20 2048 2048 0 0 140 65536 0 1 65536 0 0
85 26 260000 10000 0 0 256 45 21 2048 2048 0 0 147 65536 0 1 65536 0 0
86 27 270000 10000 0 0 256 45 22 1024 1024 0 0 153 65536 0 1 65536 0 0
87 28 280000 10000 0 0 256 45 23 1024 1024 0 0 160 159 65536 0 1 65536 0 0
88 29 290000 10000 0 0 256 45 24 512 512 0 0 166 65536 0 1 65536 0 0
89 30 300000 10000 0 0 256 45 24 512 512 0 0 173 172 65536 0 1 65536 0 0
90 31 310000 10000 0 0 256 45 25 256 256 0 0 180 179 65536 0 1 65536 0 0
91 32 320000 10000 0 0 255 45 26 256 256 0 0 186 185 65536 0 1 65536 0 0
92 33 330000 10000 0 0 256 45 27 256 256 0 0 193 192 65536 0 1 65536 0 0
93 34 340000 10000 0 0 256 45 27 256 256 0 0 199 198 65536 0 1 65536 0 0
94 35 350000 10000 0 0 256 45 28 256 256 0 0 207 205 65536 0 1 65536 0 0
95 36 360000 10000 0 0 256 45 29 256 256 0 0 221 211 65536 0 1 65536 0 0