From b7a8591c2579eadf0bc7eb4a33da71878f364390 Mon Sep 17 00:00:00 2001 From: nikto_b Date: Tue, 21 Jan 2025 23:48:07 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20Config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Config.md | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/Config.md b/Config.md index 2fe74f3..a9bc5af 100644 --- a/Config.md +++ b/Config.md @@ -1 +1,64 @@ -# Описание конфигурации устройств \ No newline at end of file +# Описание конфигурации устройств + +## Конфигурация комбинированного устройства: +Представляет собой композицию одиночных устройств и параметры для их соединения между собой +`compose_dev_conf_t`: +| Имя поля | Тип поля | Комментарий | +| --- | --- | --- | +| `baseConfigs` | `conf_dev_t[]` | массив одиночных устройств, оканчивается на `NULL` | +| `clockConf` | `clock_conf_t` | глобальная конфигурация тактирования, WIP | +| `projections` | `projection_conf_t[]` | параметры проецирования памяти между устройствами, оканчивается на `NULL` | +| `intercepts` | `intercept_conf_t[]` | параметры перехватов доступа к памяти устройств, оканчивается на `NULL` | + + + +## Конфигурация одиночного устройства: +`conf_dev_t`: +| Имя поля | Тип поля | Комментарий | +| --- | --- | --- | +| `libpath` | `str` | путь к .so-библиотеке | +| `id` | `str[]` | идентификатор состоящий из массива строк - иерархический, оканчивается на `NULL` | +| `clockId` | `str[]` | идентификатор родительского источника тактирования - иерархический, оканчивается на `NULL` | +| `clockDivider` | `u64` | делитель относительно родительского источника тактирования | +| `clockMultipler` | `u64` | множитель родительского источника тактирования | +| `memConf` | `conf_mem_seg_t[]` | конфигурация сегментов памяти, оканчивается на `NULL` | + +## Конфигурация сегмента памяти устройства: +`conf_mem_seg_t`: +| Имя поля | Тип поля | Комментарий | +| --- | --- | --- | +| `name` | `str` | имя сегмента | +| `start` | `u64` | сдвиг начала сегмента в общем блоке памяти | +| `len` | `u64` | длина сегмента | +| `wordLen` | `u8` | длина слова, байт | + +## Конфигурация тактирования: +`clock_conf_t`: + +| Имя поля | Тип поля | Комментарий | +| --- | --- | --- | +| `limiter` | `u64` | пока не используется, WIP | +| WIP | WIP | WIP | +| WIP | WIP | WIP | + + + + +## Конфигурация проецирования сегментов памяти: +`projection_conf_t`: + +| Имя поля | Тип поля | Комментарий | +| --- | --- | --- | +| `baseAt` | `str[]` | идентификатор устройства куда будет указывать проекция. Иерархический, оканчивается на `NULL` | +| `baseSeg` | `str` | название сегмента памяти устройства куда будет указывать проекция | +| `targetAt` | `str[]` | идентификатор устройства куда будет установлена проекция. Иерархический, оканчивается на `NULL` | +| `targetSeg` | `str` | название сегмента, который будет заменен на спроецированный | +| `projectionShift` | `u64` | сдвиг относительно начала целевого сегмента | + + +## Конфигурация перехватов доступа к памяти: +WIP +`intercept_conf_t`: + + +