23i: hardware watchpoint infrastructure working (u_debugreg base 0x350, LEN8 rejected -> use LEN4, DR6 reset documented); zero hits on kernel word — consumer may read a copy or builds early; fnwatch.py committed

This commit is contained in:
2026-08-23 23:31:26 +03:00
parent 05caf1eb44
commit 25b736b2bb
4 changed files with 511 additions and 0 deletions
+10
View File
@@ -2412,3 +2412,13 @@ t_{-24,-12,0,+24}.rpp (тон@1000, бин 85): scr85 = 1.0071 / 0.2276 /
2. Проверить 0x18052e1c0/0x180534580 дизасмом (уже лежат окна? нет — снять).
3. После опознания дубля: bp на его выход → [rsp]=адрес применения → декод
масштаба 1.805.
### 23i (короткое): HW-watchpoint заведён, попаданий нет
Отладочные регистры через POKEUSER: база u_debugreg = **0x350** (не 0x340/0x380;
DR7 @0x388; LEN=10(8B) отвергается ядром — использовать LEN=11(4B),
DR7=L0|R/W=11|LEN=11 = 0xF0001; сброс DR6 = poke 0xFFFF0FF0 @DR0+48).
scripts/fnwatch.py: watch на слово кернела (bin43.re) от момента создания
экземпляра до конца хоста — **0 попаданий** при подтверждённом армировании.
Гипотезы: потребитель читает КОПИЮ кернела; либо строится однократно до
армирования; либо выравнивание доступа мимо слова. Следующий шаг: watch
нескольких слов + старт с рождения хоста + контроль факта рендера (wav mtime).