Add support for finding the boot priority of USB drives.

Use the device path of the USB device to find a bootorder entry.
diff --git a/src/boot.c b/src/boot.c
index 2e2aea5..e5475a2 100644
--- a/src/boot.c
+++ b/src/boot.c
@@ -162,6 +162,21 @@
     return find_prio(desc);
 }
 
+int bootprio_find_usb(int bdf, u64 path)
+{
+    // Find usb - for example: /pci@i0cf8/usb@1,2/hub@1/network@0/ethernet@0
+    int i;
+    char desc[256], *p;
+    p = build_pci_path(desc, sizeof(desc), "usb", bdf);
+    for (i=56; i>0; i-=8) {
+        int port = (path >> i) & 0xff;
+        if (port != 0xff)
+            p += snprintf(p, desc+sizeof(desc)-p, "/hub@%x", port);
+    }
+    snprintf(p, desc+sizeof(desc)-p, "/*@%x", (u32)(path & 0xff));
+    return find_prio(desc);
+}
+
 
 /****************************************************************
  * Boot setup