46#define ERANGE_SEGMENT __einfo_error ( EINFO_ERANGE_SEGMENT )
47#define EINFO_ERANGE_SEGMENT \
48 __einfo_uniqify ( EINFO_ERANGE, 0x01, "Requested memory not available" )
71 if ( filesz >
memsz ) {
72 DBGC (
segment,
"SEGMENT [%#08lx,%#08lx,%#08lx) is "
84 DBGC (
segment,
"SEGMENT [%#08lx,%#08lx,%#08lx) wraps "
95 DBGC (
segment,
"SEGMENT [%#08lx,%#08lx,%#08lx) does not fit "
#define __einfo_errortab(einfo)
uint32_t start
Starting offset.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define EINVAL
Invalid argument.
static int memmap_is_usable(const struct memmap_region *region)
Check if memory region is usable.
void memmap_describe(uint64_t min, int hide, struct memmap_region *region)
Describe memory region from system memory map.
void * memset(void *dest, int character, size_t len) __nonnull
Access to external ("user") memory.
uint16_t segment
Code segment.
uint16_t mid
Middle 16 bits of address.
uint32_t end
Ending offset.
#define EINFO_ERANGE_SEGMENT
int prep_segment(void *segment, size_t filesz, size_t memsz)
Prepare segment for loading.
#define ERANGE_SEGMENT
Segment-specific error messages.
Executable image segments.
A memory region descriptor.
uint64_t max
Maximum address in region.