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 " static int memmap_is_usable(const struct memmap_region *region)
Check if memory region is usable.
#define EINVAL
Invalid argument.
uint16_t segment
Code segment.
uint64_t max
Maximum address in region.
uint16_t mid
Middle 16 bits of address.
#define __einfo_errortab(einfo)
uint32_t start
Starting offset.
Executable image segments.
void memmap_describe(uint64_t min, int hide, struct memmap_region *region)
Describe memory region from system memory map.
Access to external ("user") memory.
#define ERANGE_SEGMENT
Segment-specific error messages.
#define EINFO_ERANGE_SEGMENT
uint32_t end
Ending offset.
int prep_segment(void *segment, size_t filesz, size_t memsz)
Prepare segment for loading.
struct errortab segment_errors [] __errortab
A memory region descriptor.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
void * memset(void *dest, int character, size_t len) __nonnull