Получить доступ к регистрам устройства
#include <stdint.h>#include <sys/mman.h>uintptr_t mmap_device_io( size_t len,uint64_t io );
0
.libc
Функция mmap_device_io() мапирует len байт области памяти ввода-вывода устройства по адресу io и делает её доступной для записи и чтения с помощью функций in*() и out*() (определены в <hw/inout.h>
).
Адрес области памяти для ввода-вывода с помощью функций in*()/ out*().
Если возникла ошибка, функция возвращает MAP_DEVICE_FAILED
, код ошибки записывается в errno.
0
или внутренние флаги мапирования недопустимы для заданного диапазона. ЗОСРВ «Нейтрино»
Чтобы использовать полученный от mmap_device_io() адрес необходимы привилегии ввода-вывода. Вызывающий поток должен вызвать функцию ThreadCtl() с командой _NTO_TCTL_IO
.
mmap(), mmap_device_memory(), munmap_device_io()
Предыдущий раздел: Описание API системной библиотеки