352 |
else |
else |
353 |
linux_mem_size = 0; |
linux_mem_size = 0; |
354 |
} |
} |
355 |
|
|
356 |
memmove ((char *) LINUX_SETUP, buffer, data_len + SECTOR_SIZE); |
/* It is possible that DATA_LEN is greater than MULTIBOOT_SEARCH, |
357 |
|
so the data may have been read partially. */ |
358 |
|
if (data_len <= MULTIBOOT_SEARCH) |
359 |
|
grub_memmove ((char *) LINUX_SETUP, buffer, |
360 |
|
data_len + SECTOR_SIZE); |
361 |
|
else |
362 |
|
{ |
363 |
|
grub_memmove ((char *) LINUX_SETUP, buffer, MULTIBOOT_SEARCH); |
364 |
|
grub_read ((char *) LINUX_SETUP + MULTIBOOT_SEARCH, |
365 |
|
data_len + SECTOR_SIZE - MULTIBOOT_SEARCH); |
366 |
|
} |
367 |
|
|
368 |
if (lh->header != LINUX_MAGIC_SIGNATURE || |
if (lh->header != LINUX_MAGIC_SIGNATURE || |
369 |
lh->version < 0x0200) |
lh->version < 0x0200) |