From f7d2168c8eb23108e159a03416966b0f3c983320 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 31 Mar 2009 04:38:48 +0100 Subject: [segment] Add "Requested memory not available" error message prep_segment() can sometimes fail because an image requests memory that is already in use by gPXE. This will happen if e.g. undionly.kpxe is used to boot memtest86; the memtest86 image is an old-format kernel that needs to be loaded at 9000:0000, but this area of memory may well already be in use by the underlying PXE stack. Add a human-friendly error message, so that the cause is more immediately visible. --- src/image/segment.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/image') diff --git a/src/image/segment.c b/src/image/segment.c index 9bd60f9c4..3d2b8a4b3 100644 --- a/src/image/segment.c +++ b/src/image/segment.c @@ -26,6 +26,7 @@ #include #include #include +#include #include /** @@ -72,3 +73,13 @@ int prep_segment ( userptr_t segment, size_t filesz, size_t memsz ) { start, mid, end ); return -ERANGE; } + +/** + * Segment-specific error messages + * + * This error happens sufficiently often to merit a user-friendly + * description. + */ +struct errortab segment_errors[] __errortab = { + { ERANGE, "Requested memory not available" }, +}; -- cgit v1.2.3-55-g7522