23 #ifndef REMOTEPROC_LOADER_H_
24 #define REMOTEPROC_LOADER_H_
27 #include <metal/list.h>
28 #include <metal/sys.h>
31 #if defined __cplusplus
36 #define SUPPORT_SEEK 1UL
39 #define RPROC_LOAD_ANYADDR ((metal_phys_addr_t)-1)
43 #define RPROC_LOADER_NOT_READY 0x0L
45 #define RPROC_LOADER_READY_TO_LOAD 0x10000L
47 #define RPROC_LOADER_POST_DATA_LOAD 0x20000L
49 #define RPROC_LOADER_LOAD_COMPLETE 0x40000L
51 #define RPROC_LOADER_MASK 0x00FF0000L
53 #define RPROC_LOADER_PRIVATE_MASK 0x0000FFFFL
55 #define RPROC_LOADER_RESERVED_MASK 0x0F000000L
67 int (*
open)(
void *store,
const char *path,
const void **img_data);
69 int (*
load)(
void *store,
size_t offset,
size_t size,
72 struct metal_io_region *io,
char is_blocking);
88 int (*
load_header)(
const void *img_data,
size_t offset,
size_t len,
89 void **img_info,
int last_state,
90 size_t *noffset,
size_t *nlen);
92 const void *img_data,
size_t offset,
size_t len,
93 void **img_info,
int last_load_state,
94 metal_phys_addr_t *da,
95 size_t *noffset,
size_t *nlen,
96 unsigned char *padding,
size_t *nmemsize);
98 size_t *offset,
size_t *size);
104 #if defined __cplusplus
Definition: remoteproc_loader.h:66
void(* close)(void *store)
Definition: remoteproc_loader.h:68
unsigned int features
Definition: remoteproc_loader.h:73
int(* load)(void *store, size_t offset, size_t size, const void **data, metal_phys_addr_t pa, struct metal_io_region *io, char is_blocking)
Definition: remoteproc_loader.h:69
int(* open)(void *store, const char *path, const void **img_data)
Definition: remoteproc_loader.h:67
Definition: remoteproc_loader.h:87
int(* locate_rsc_table)(void *img_info, metal_phys_addr_t *da, size_t *offset, size_t *size)
Definition: remoteproc_loader.h:97
int(* load_data)(struct remoteproc *rproc, const void *img_data, size_t offset, size_t len, void **img_info, int last_load_state, metal_phys_addr_t *da, size_t *noffset, size_t *nlen, unsigned char *padding, size_t *nmemsize)
Definition: remoteproc_loader.h:91
metal_phys_addr_t(* get_entry)(void *img_info)
Definition: remoteproc_loader.h:100
void(* release)(void *img_info)
Definition: remoteproc_loader.h:99
int(* get_load_state)(void *img_info)
Definition: remoteproc_loader.h:101
int(* load_header)(const void *img_data, size_t offset, size_t len, void **img_info, int last_state, size_t *noffset, size_t *nlen)
Definition: remoteproc_loader.h:88
Definition: remoteproc.h:366