Changeset View
Changeset View
Standalone View
Standalone View
head/stand/common/bootstrap.h
Show First 20 Lines • Show All 324 Lines • ▼ Show 20 Lines | #ifdef __elfN | ||||
void (*arch_loadseg)(Elf_Ehdr *eh, Elf_Phdr *ph, uint64_t delta); | void (*arch_loadseg)(Elf_Ehdr *eh, Elf_Phdr *ph, uint64_t delta); | ||||
#else | #else | ||||
void (*arch_loadseg)(void *eh, void *ph, uint64_t delta); | void (*arch_loadseg)(void *eh, void *ph, uint64_t delta); | ||||
#endif | #endif | ||||
/* Probe ZFS pool(s), if needed. */ | /* Probe ZFS pool(s), if needed. */ | ||||
void (*arch_zfs_probe)(void); | void (*arch_zfs_probe)(void); | ||||
/* Return the hypervisor name/type or NULL if not virtualized. */ | |||||
const char *(*arch_hypervisor)(void); | |||||
/* For kexec-type loaders, get ksegment structure */ | /* For kexec-type loaders, get ksegment structure */ | ||||
void (*arch_kexec_kseg_get)(int *nseg, void **kseg); | void (*arch_kexec_kseg_get)(int *nseg, void **kseg); | ||||
}; | }; | ||||
extern struct arch_switch archsw; | extern struct arch_switch archsw; | ||||
/* This must be provided by the MD code, but should it be in the archsw? */ | /* This must be provided by the MD code, but should it be in the archsw? */ | ||||
void delay(int delay); | void delay(int delay); | ||||
void dev_cleanup(void); | void dev_cleanup(void); | ||||
time_t time(time_t *tloc); | time_t time(time_t *tloc); | ||||
#ifndef CTASSERT | #ifndef CTASSERT | ||||
#define CTASSERT(x) _Static_assert(x, "compile-time assertion failed") | #define CTASSERT(x) _Static_assert(x, "compile-time assertion failed") | ||||
#endif | |||||
#ifdef LOADER_VERIEXEC | |||||
#include <verify_file.h> | |||||
#endif | #endif | ||||
#endif /* !_BOOTSTRAP_H_ */ | #endif /* !_BOOTSTRAP_H_ */ |