Resource table header. More...
#include <remoteproc.h>
Data Fields | |
| uint32_t | ver |
| Version number. More... | |
| uint32_t | num |
| Number of resource entries. More... | |
| uint32_t | reserved [2] |
| Reserved (must be zero) More... | |
| uint32_t | offset [0] |
| Array of offsets pointing at the various resource entries. More... | |
Resource table header.
A resource table is essentially a list of system resources required by the remote remoteproc. It may also include configuration entries. If needed, the remote remoteproc firmware should contain this table as a dedicated ".resource_table" ELF section.
Some resource entries are mere announcements, where the host is informed of specific remoteproc configurations. 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.
| uint32_t resource_table::num |
Number of resource entries.
| uint32_t resource_table::offset[0] |
Array of offsets pointing at the various resource entries.
| uint32_t resource_table::reserved[2] |
Reserved (must be zero)
| uint32_t resource_table::ver |
Version number.