From 548fc951e98dd1553204e3f45db3f5cc70813c4b Mon Sep 17 00:00:00 2001 From: James Date: Fri, 16 Nov 2012 23:10:27 +0000 Subject: fish --- master/jmm/efi-sni-bis | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'master/jmm/efi-sni-bis') diff --git a/master/jmm/efi-sni-bis b/master/jmm/efi-sni-bis index c035e53..9480dc8 100644 --- a/master/jmm/efi-sni-bis +++ b/master/jmm/efi-sni-bis @@ -31,7 +31,7 @@ index 2cdcc7b..e297c4f 100644 x86_efi = kern/efi/init.c; x86_efi = kern/efi/mm.c; diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c -index a83bf2e..0c2a88c 100644 +index a83bf2e..a8fd647 100644 --- a/grub-core/kern/efi/init.c +++ b/grub-core/kern/efi/init.c @@ -20,6 +20,7 @@ @@ -50,19 +50,20 @@ index a83bf2e..0c2a88c 100644 } void -@@ -133,6 +135,11 @@ grub_efi_set_prefix (void) +@@ -132,6 +134,12 @@ grub_efi_set_prefix (void) + image = grub_efi_get_loaded_image (grub_efi_image_handle); if (image) { - if (!device) ++ if (!device) { + device = grub_efinet_get_device_name (image->device_handle); -+ /* If we net booted - hard code the prefix */ -+ if (device && !path) -+ path = grub_strdup("/grub/"); -+ if (!device) ++ /* If we net booted - hard code the prefix */ ++ if (device) ++ path = grub_strdup("/grub/"); ++ } + if (!device) device = grub_efidisk_get_device_name (image->device_handle); else if (device[0] == ',' || !device[0]) - { -@@ -187,6 +194,7 @@ grub_efi_set_prefix (void) +@@ -187,6 +195,7 @@ grub_efi_set_prefix (void) void grub_efi_fini (void) { @@ -114,10 +115,10 @@ index 5dd5ada..74bbd47 100644 goto fail; diff --git a/grub-core/net/efi/efinet.c b/grub-core/net/efi/efinet.c new file mode 100644 -index 0000000..684df98 +index 0000000..ca7ff09 --- /dev/null +++ b/grub-core/net/efi/efinet.c -@@ -0,0 +1,544 @@ +@@ -0,0 +1,548 @@ +/* efinet.c - EFI network access using SNI. */ +/* + * GRUB -- GRand Unified Bootloader @@ -448,11 +449,15 @@ index 0000000..684df98 + struct grub_sni_data *d = NULL; + + ++ if (name && grub_strncmp(name,"sni",3)) { ++ return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no such device"); ++ } ++ + if (name) + { + num = get_unit_number (name); + if (num < 0) -+ return grub_errno; ++ return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no such device"); + net->name = grub_strdup (name); + } + else @@ -467,7 +472,7 @@ index 0000000..684df98 + return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no such device"); + + -+ grub_printf("DEVICE PATH to %s:",name); ++ grub_printf("DEVICE PATH to `%s'...\n",name); + grub_efi_print_device_path(d->device_path); + grub_printf("\n"); + -- cgit v1.2.3