diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/rmodule.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/include/rmodule.h b/src/include/rmodule.h index 5300c63766..2d8fc0fdc8 100644 --- a/src/include/rmodule.h +++ b/src/include/rmodule.h @@ -20,6 +20,7 @@ #define RMODULE_H #include <stdint.h> +#include <stddef.h> #define RMODULE_MAGIC 0xf8fe #define RMODULE_VERSION_1 1 @@ -40,6 +41,13 @@ int rmodule_entry_offset(const struct rmodule *m); int rmodule_memory_size(const struct rmodule *m); int rmodule_load(void *loc, struct rmodule *m); int rmodule_load_alignment(const struct rmodule *m); +/* Returns the an aligned pointer that reflects a region used below addr + * based on the rmodule_size. i.e. the returned pointer up to addr is memory + * that may be utilized by the rmodule. program_start and rmodule_start + * are pointers updated to reflect where the rmodule program starts and where + * the rmodule (including header) should be placed respectively. */ +void *rmodule_find_region_below(void *addr, size_t rmodule_size, + void **program_start, void **rmodule_start); #define FIELD_ENTRY(x_) ((u32)&x_) #define RMODULE_HEADER(entry_, type_) \ |