Операционная система ЗОСРВ «Нейтрино» > Руководство разработчика > Основные принципы системной разработки > Запуск системы, быстрая активация устройств > Построение встраиваемых систем > API библиотек libipl и libstartup > struct callout_rtn



struct callout_rtn

Структура, описывающая callout ядра

Прототип:

#include <sys/startup.h>
struct callout_rtn {
unsigned *rw_size;
void (*patcher)( paddr32_t paddr,
uintptr_t vaddr,
unsigned rtn_offset,
unsigned rw_offset,
void *data,
const struct callout_rtn *src );
unsigned rtn_size;
uint8_t rtn_code[1];
};

Библиотека:

libstartup

Описание:

Структура содержит следующие поля:

rw_size
Размер перезаписываемой области.
patcher
Эта функция вызывается немедленно после копирования callout-а в конечное местоположение. Ее параметры интерпретируются следующим образом:
paddr
Физический адрес начала системной страницы.
vaddr
Виртуальный адрес системной страницы, который используется для чтения/записи (доступен только ядру).
rtn_offset
Смещение начала кода callout-а относительно начала системной страницы.
rw_offset
См. Выделение памяти для чтения/записи данных.
data
Указатель на произвольные данные, которые зарегистрированы функцией callout_register_data().
src
Указатель на структуру callout_rtn, которая копируется в целевое местоположение.
rtn_size
Размер callout-а.
rtn_code
Идентификатор callout-а.

Классификация:

ЗОСРВ «Нейтрино», startup

Тематические ссылки:

Построение встраиваемых систем




Предыдущий раздел: перейти