[image] Detect image type when image is first registered
authorMichael Brown <mcb30@ipxe.org>
Fri, 21 Aug 2015 15:15:24 +0000 (16:15 +0100)
committerMichael Brown <mcb30@ipxe.org>
Fri, 21 Aug 2015 15:25:11 +0000 (16:25 +0100)
commitabfe94a90ad72f4be2055f3ad21f09ab081cc250
treea206b2952cd7e7064fd3c621ca4d784a3335a7ad
parentf58ebbdfb5f48089bb3df088654d5bf735dab2c2
[image] Detect image type when image is first registered

The current usage pattern of image_probe() is a legacy from the time
before commit 34b6ecb ("[image] Simplify image management") when
loading an image to its executable location in memory was a separate
action from actually executing the image.

Call image_probe() as soon as an image is registered.  This allows
"imgstat" to display image type information for all images and allows
image-consuming code to assume that image->type is already set
correctly.

Ignore failures if image_probe() does not recognise the image, since
we do expect to handle unrecognised images (initrds, modules, etc).
Unrecognised images will be left with a NULL image->type, which
image-consuming code can easily check.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/core/image.c
src/include/ipxe/image.h
src/tests/pixbuf_test.c