Fix broken blksize negotiation, fix broken seek and change a way net device is filled n i386-pc

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2011-07-02 17:58:23 +02:00
parent cae730b452
commit 6708faafde
8 changed files with 105 additions and 44 deletions

View file

@ -25,7 +25,6 @@
#include <grub/fs.h>
#include <grub/device.h>
grub_err_t (*grub_file_net_seek) (struct grub_file *file, grub_off_t offset) = NULL;
void (*EXPORT_VAR (grub_grubnet_fini)) (void);
grub_file_filter_t grub_file_filters_all[GRUB_FILE_FILTER_MAX];
@ -183,9 +182,6 @@ grub_file_seek (grub_file_t file, grub_off_t offset)
return -1;
}
if (file->device->net && grub_file_net_seek)
grub_file_net_seek (file, offset);
old = file->offset;
file->offset = offset;

View file

@ -45,9 +45,10 @@ struct mem_region
static struct mem_region mem_regions[MAX_REGIONS];
static int num_regions;
void (*grub_pc_net_config) (char **device, char **path);
void
grub_machine_get_bootlocation (char **device,
char **path __attribute__ ((unused)))
grub_machine_get_bootlocation (char **device, char **path)
{
char *ptr;
@ -55,7 +56,8 @@ grub_machine_get_bootlocation (char **device,
partition number encoded at the install time. */
if (grub_boot_drive == GRUB_BOOT_MACHINE_PXE_DL)
{
*device = grub_strdup ("pxe");
if (grub_pc_net_config)
grub_pc_net_config (device, path);
return;
}