Home | History | Annotate | Download | only in image

Lines Matching refs:image

22  * SYSLINUX COM32 image format
38 #include <gpxe/image.h>
46 * Execute COMBOOT image
48 * @v image COM32 image
51 static int com32_exec ( struct image *image ) {
65 /* Find end of block covering COM32 image loading area */
68 (memmap.regions[i].end > COM32_START_PHYS + image->len) ) {
74 DBGC ( image, "COM32 %p: available memory top = 0x%x\n",
75 image, avail_mem_top );
84 /* Unregister image, so that a "boot" command doesn't
89 unregister_image ( image );
102 "call *%6\n\t" /* Execute image */
112 /* %5 */ "r" ( virt_to_phys ( image->cmdline ) ),
116 DBGC ( image, "COM32 %p: returned\n", image );
120 DBGC ( image, "COM32 %p: exited\n", image );
124 DBGC ( image, "COM32 %p: exited to run kernel %p\n",
125 image, comboot_replacement_image );
126 image->replacement = comboot_replacement_image;
128 image_autoload ( image->replacement );
132 DBGC ( image, "COM32 %p: exited after executing command\n",
133 image );
148 * Check image name extension
150 * @v image COM32 image
153 static int com32_identify ( struct image *image ) {
158 if ( image->len >= 5 ) {
163 copy_from_user ( buf, image->data, 0, sizeof(buf) );
165 DBGC ( image, "COM32 %p: found magic number\n",
166 image );
173 ext = strrchr( image->name, '.' );
176 DBGC ( image, "COM32 %p: no extension\n",
177 image );
184 DBGC ( image, "COM32 %p: unrecognized extension %s\n",
185 image, ext );
194 * Load COM32 image into memory
195 * @v image COM32 image
198 static int comboot_load_image ( struct image *image ) {
203 filesz = image->len;
207 DBGC ( image, "COM32 %p: could not prepare segment: %s\n",
208 image, strerror ( rc ) );
212 /* Copy image to segment */
213 memcpy_user ( buffer, 0, image->data, 0, filesz );
220 * @v image COM32 image
223 static int comboot_prepare_bounce_buffer ( struct image * image ) {
238 DBGC ( image, "COM32 %p: could not prepare bounce buffer segment: %s\n",
239 image, strerror ( rc ) );
247 * Load COM32 image into memory
249 * @v image COM32 image
252 static int com32_load ( struct image *image ) {
255 DBGC ( image, "COM32 %p: name '%s', cmdline '%s'\n",
256 image, image->name, image->cmdline );
258 /* Check if this is a COMBOOT image */
259 if ( ( rc = com32_identify ( image ) ) != 0 ) {
263 /* This is a COM32 image, valid or otherwise */
264 if ( ! image->type )
265 image->type = &com32_image_type;
267 /* Load image */
268 if ( ( rc = comboot_load_image ( image ) ) != 0 ) {
273 if ( ( rc = comboot_prepare_bounce_buffer ( image ) ) != 0 ) {
280 /** SYSLINUX COM32 image type */