Gain access to a device's registers
#include <stdint.h> #include <sys/mman.h> uintptr_t mmap_device_io( size_t len, uint64_t io );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The mmap_device_io() function maps len bytes of device I/O memory at io and makes it accessible via the in*() and out*() functions in <hw/inout.h>.
A handle to the device's I/O memory, or MAP_DEVICE_FAILED if an error occurs (errno is set).
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
You need I/O privileges to use the result of the mmap_device_io() function. The calling thread may call ThreadCtl() with the _NTO_TCTL_IO command to establish these privileges.
mmap(), mmap_device_memory(), munmap_device_io()