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



struct startup_info_mem, struct startup_info_mem_extended

Фрагменты памяти, размеченные модулями IPL и startup

Прототип:

#include <sys/startup.h>
struct startup_info_mem {
struct startup_info_hdr hdr;
unsigned int addr;
unsigned int size;
};
/*
* Структура используется для памяти, выше 4Гб. Структура также
* характеризуется типом STARTUP_INFO_MEM, реальная структура может
* быть идентифицирована по полю size.
*/
struct startup_info_mem_extended {
struct startup_info_mem mem;
unsigned int addr_hi;
unsigned int size_hi;
};

Библиотека:

libstartup

Описание:

Эти структуры содержат пары адрес / размер фрагментов памяти, добавляемых в пул свободной памяти модуля procnto-*.

Поля структур:

addr
size
Оба поля имеют размер 32 бита, максимальный объем памяти составляет 4 Гбайт. Для работы с более крупными блоками памяти используется структура struct startup_info_mem_extended
addr_hi
size_hi
Поля структуры содержат расширенные адрес и размер и связаны с типом struct startup_info_mem следующим образом:

((paddr64_t)addr_hi << 32) | mem.addr;
((paddr64_t)size_hi << 32) | mem.size;

В системах, где свободная память фрагментирована и находится в различных частях адресного пространства, могут присутствовать несколько структур startup_info_mem и startup_info_mem_extended.


Note: Обе структуры идентифицируются полем type STARTUP_INFO_MEM структуры struct startup_info_hdr; для их различения следует использовать поле size заголовка.

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

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

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

struct startup_info_hdr, struct startup_info_skip, struct startup_info_disk, struct startup_info_time, struct startup_info_box

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




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