Signed-off-by: Michael Chang <mch...@suse.com>
---
 grub-core/kern/efi/efi.c | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
index b93ae3aba..2997ab721 100644
--- a/grub-core/kern/efi/efi.c
+++ b/grub-core/kern/efi/efi.c
@@ -856,6 +856,43 @@ grub_efi_print_device_path (grub_efi_device_path_t *dp)
              dump_vendor_path ("Messaging",
                                (grub_efi_vendor_device_path_t *) dp);
              break;
+           case GRUB_EFI_URI_DEVICE_PATH_SUBTYPE:
+             {
+               grub_efi_uri_device_path_t *uri;
+               uri = (grub_efi_uri_device_path_t *) dp;
+               grub_printf ("/Uri(%s)", uri->uri);
+             }
+             break;
+           case GRUB_EFI_DNS_DEVICE_PATH_SUBTYPE:
+             {
+               grub_efi_dns_device_path_t *dns;
+               dns = (grub_efi_dns_device_path_t *) dp;
+               if (dns->is_ipv6)
+                 grub_printf 
("/Dns(%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x)",
+                     dns->dns_server_ip->v6.addr[0],
+                     dns->dns_server_ip->v6.addr[1],
+                     dns->dns_server_ip->v6.addr[2],
+                     dns->dns_server_ip->v6.addr[3],
+                     dns->dns_server_ip->v6.addr[4],
+                     dns->dns_server_ip->v6.addr[5],
+                     dns->dns_server_ip->v6.addr[6],
+                     dns->dns_server_ip->v6.addr[7],
+                     dns->dns_server_ip->v6.addr[8],
+                     dns->dns_server_ip->v6.addr[9],
+                     dns->dns_server_ip->v6.addr[10],
+                     dns->dns_server_ip->v6.addr[11],
+                     dns->dns_server_ip->v6.addr[12],
+                     dns->dns_server_ip->v6.addr[13],
+                     dns->dns_server_ip->v6.addr[14],
+                     dns->dns_server_ip->v6.addr[15]);
+               else
+                 grub_printf ("/Dns(%u.%u.%u.%u)",
+                     dns->dns_server_ip->v4.addr[0],
+                     dns->dns_server_ip->v4.addr[1],
+                     dns->dns_server_ip->v4.addr[2],
+                     dns->dns_server_ip->v4.addr[3]);
+             }
+             break;
            default:
              grub_printf ("/UnknownMessaging(%x)", (unsigned) subtype);
              break;
-- 
2.47.1


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to