preloaded_file
struct preloaded_file *fp;
struct preloaded_file;
struct preloaded_file *m_fp;
struct preloaded_file *f_next; /* next file */
int (* l_load)(char *filename, u_int64_t dest, struct preloaded_file **result);
int (* l_exec)(struct preloaded_file *mp);
extern struct preloaded_file *preloaded_files;
struct preloaded_file *file_alloc(void);
struct preloaded_file *file_findfile(char *name, char *type);
struct file_metadata *file_findmetadata(struct preloaded_file *fp, int type);
void file_discard(struct preloaded_file *fp);
void file_addmetadata(struct preloaded_file *fp, int type, size_t size, void *p);
int file_addmodule(struct preloaded_file *fp, char *modname, int version,
int __elfN(loadfile)(char *filename, u_int64_t dest, struct preloaded_file **result);
struct preloaded_file **result);
*result = (struct preloaded_file *)fp;
__elfN(loadimage)(struct preloaded_file *fp, elf_file_t ef, u_int64_t off)
__elfN(parse_modmetadata)(struct preloaded_file *fp, elf_file_t ef)
__elfN(lookup_symbol)(struct preloaded_file *fp, elf_file_t ef, const char* name,
static int __elfN(loadimage)(struct preloaded_file *mp, elf_file_t ef, u_int64_t loadaddr);
__elfN(reloc_ptr)(struct preloaded_file *mp, elf_file_t ef,
static int __elfN(lookup_symbol)(struct preloaded_file *mp, elf_file_t ef, const char* name, Elf_Sym* sym);
static int __elfN(reloc_ptr)(struct preloaded_file *mp, elf_file_t ef,
static int __elfN(parse_modmetadata)(struct preloaded_file *mp, elf_file_t ef);
__elfN(loadfile)(char *filename, u_int64_t dest, struct preloaded_file **result)
struct preloaded_file *fp, *kfp;
*result = (struct preloaded_file *)fp;
__elfN(obj_loadimage)(struct preloaded_file *fp, elf_file_t ef, u_int64_t off)
__elfN(obj_parse_modmetadata)(struct preloaded_file *fp, elf_file_t ef)
__elfN(obj_lookup_set)(struct preloaded_file *fp, elf_file_t ef,
__elfN(obj_reloc_ptr)(struct preloaded_file *mp, elf_file_t ef, Elf_Addr p,
static int __elfN(obj_loadimage)(struct preloaded_file *mp, elf_file_t ef,
static int __elfN(obj_lookup_set)(struct preloaded_file *mp, elf_file_t ef,
static int __elfN(obj_reloc_ptr)(struct preloaded_file *mp, elf_file_t ef,
static int __elfN(obj_parse_modmetadata)(struct preloaded_file *mp,
struct preloaded_file **result)
struct preloaded_file *fp, *kfp;
struct preloaded_file *fp;
struct preloaded_file *fp;
file_load(char *filename, vm_offset_t dest, struct preloaded_file **result)
struct preloaded_file *fp;
file_load_dependencies(struct preloaded_file *base_file)
struct preloaded_file *fp;
struct preloaded_file *fp;
struct preloaded_file *fp, *last_file;
static int file_load(char *filename, vm_offset_t dest, struct preloaded_file **result);
struct preloaded_file *
struct preloaded_file *fp;
static int file_load_dependencies(struct preloaded_file *base_mod);
file_findmodule(struct preloaded_file *fp, char *modname,
static struct kernel_module * file_findmodule(struct preloaded_file *fp, char *modname, struct mod_depend *verinfo);
file_addmetadata(struct preloaded_file *fp, int type, size_t size, void *p)
static void file_insert_tail(struct preloaded_file *mp);
file_findmetadata(struct preloaded_file *fp, int type)
struct preloaded_file *preloaded_files = NULL;
file_addmodule(struct preloaded_file *fp, char *modname, int version,
file_discard(struct preloaded_file *fp)
struct preloaded_file *
struct preloaded_file *fp;
if ((fp = malloc(sizeof(struct preloaded_file))) != NULL) {
bzero(fp, sizeof(struct preloaded_file));
file_insert_tail(struct preloaded_file *fp)
struct preloaded_file *cm;
elf64_obj_exec(struct preloaded_file *fp)
static int elf64_exec(struct preloaded_file *amp);
static int elf64_obj_exec(struct preloaded_file *amp);
elf64_exec(struct preloaded_file *fp)
struct preloaded_file *fp;
bi_load_efi_data(struct preloaded_file *kfp)
struct preloaded_file *xp, *kfp;
bios_addsmapdata(struct preloaded_file *kfp)
struct preloaded_file *fp;
struct preloaded_file *xp, *kfp;
struct preloaded_file *fp;
struct preloaded_file *xp, *kfp;
static int elf32_exec(struct preloaded_file *amp);
static int elf32_obj_exec(struct preloaded_file *amp);
elf32_exec(struct preloaded_file *fp)
elf32_obj_exec(struct preloaded_file *fp)
elf64_obj_exec(struct preloaded_file *fp)
static int elf64_exec(struct preloaded_file *amp);
static int elf64_obj_exec(struct preloaded_file *amp);
elf64_exec(struct preloaded_file *fp)
struct preloaded_file;
void bios_addsmapdata(struct preloaded_file *);