Hardware Abstraction Layer for FreeRTOS
|
#include <remoteproc.h>
Data Fields | |
u32 | ver |
u32 | num |
u32 | reserved [2] |
uint32_t | offset [0] |
struct resource_table - firmware resource table header
A resource table is essentially a list of system resources required by the remote processor. It may also include configuration entries. If needed, the remote processor firmware should contain this table as a dedicated ".resource_table" ELF section.
Some resources entries are mere announcements, where the host is informed of specific remoteproc configuration. Other entries require the host to do something (e.g. allocate a system resource). Sometimes a negotiation is expected, where the firmware requests a resource, and once allocated, the host should provide back its details (e.g. address of an allocated memory region).
The header of the resource table, as expressed by this structure, contains a version number (should we need to change this format in the future), the number of available resource entries, and their offsets in the table.
Immediately following this header are the resource entries themselves, each of which begins with a resource entry header (as described below).
u32 resource_table::num |
number of resource entries
uint32_t resource_table::offset[0] |
array of offsets pointing at the various resource entries
u32 resource_table::reserved[2] |
reserved (must be zero)
u32 resource_table::ver |
version number