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



init_raminfo()

Определение местоположения и размера доступной памяти и инициализирует структуру asinfo системной страницы

Прототип:

#include <sys/startup.h>
void init_raminfo( void );

Библиотека:

libstartup

Описание:

Определяет местоположение и размер доступной оперативной памяти в системе, а также инициализирует структуру asinfo системной страницы.

Если известны точное количество и местоположение оперативной памяти системы, можно заменять эту библиотечную функцию на функцию, где они жестко задаются с помощью вызовов add_ram().

x86
Если конфигурация оперативной памяти известна (например, задана начальным загрузчиком, либо установлен мультизагрузчик с помощью утилиты gnu), библиотечная версия функции init_raminfo() считывает информацию из известной области памяти с помощью библиотечной функции find_startup_info(). Если конфигурация памяти неизвестна, она сканируется функцией x86_scanmem() в диапазоне адресов от 0 до 0xFFFFFF включительно (обратите внимание, что область VGA, которая обычно начинается с адреса 0xB0000, намеренно игнорируется).
MIPS
PowerPC
ARM
У функции init_raminfo() отсутствует версия по умолчанию; необходимо разрабатывать ее самостоятельно.

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

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

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

add_ram(), alloc_ram(), avoid_ram(), calloc_ram(), find_startup_info(), struct syspage_entry

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




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