Update Config.md

2025-01-22 00:08:29 +03:00
parent b7a8591c25
commit 11dd44d700
4 changed files with 17 additions and 1 deletions

@@ -57,7 +57,23 @@
## Конфигурация перехватов доступа к памяти:
WIP
Перехваты разделяются по двум критериям - по способу обработки и по типу перехваченной операции.
По способу обработки - можно указать подмену адреса на адрес перехваченного устройства, прямое дублирование операций и запуск обработчика перехватывающего устройства.
### Подмена адреса ячейки (shadow replace)
Подмена адреса ячейки выглядит таким образом:
[Диаграмма](img/intercept_replace_addr.png)
При этом, можно ограничить замену на исключительно чтение/запись, либо установить и на чтение и на запись.
### Дублирование операций (shadow copy)
Дублировать можно только операции записи, поскольку нет никакой возможности прозрачно внедрить чтение из двух источников так, чтобы оно выглядело как чтение из однонго источника.
[Диаграмма](img/intercept_shadowcopy_addr.png)
### Запустить обработчик (intercept callback)
При перехвате записи, обработчик ничего не возвращает, при этом может выполнить запись по любому адресу, который он выберет.
При перехвате чтения, обработчик должен вернуть значение, полученное при данном чтении. При этом он всё также может иметь полный доступ к устройству (и, например, снять флаг непрочитанного буфера).
[Пример обработчика](img/intercept_callback.png)
`intercept_conf_t`:

BIN
img/intercept_callback.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB