On Wed, Sep 30, 2020 at 01:14:31PM +0200, Gerd Hoffmann wrote:
Add mmio field to usb controller struct, add support for mmio-mapped usb host adapters to boot order handling.
Signed-off-by: Gerd Hoffmann kraxel@redhat.com
src/hw/usb.h | 1 + src/boot.c | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/hw/usb.h b/src/hw/usb.h index 2cfb5721775a..887f2064cf3a 100644 --- a/src/hw/usb.h +++ b/src/hw/usb.h @@ -35,6 +35,7 @@ struct usb_s { struct usb_pipe *freelist; struct mutex_s resetlock; struct pci_device *pci;
- void *mmio; u8 type; u8 maxaddr;
}; diff --git a/src/boot.c b/src/boot.c index a715e37356e2..bd78fb907c5a 100644 --- a/src/boot.c +++ b/src/boot.c @@ -425,7 +425,15 @@ int bootprio_find_usb(struct usbdevice_s *usbdev, int lun) return -1; // Find usb - for example: /pci@i0cf8/usb@1,2/storage@1/channel@0/disk@0,0
What does an example usb descriptor look like with mmio?
char desc[256], *p;
- p = build_pci_path(desc, sizeof(desc), "usb", usbdev->hub->cntl->pci);
- if (usbdev->hub->cntl->pci)
p = build_pci_path(desc, sizeof(desc), "usb", usbdev->hub->cntl->pci);
- else if (usbdev->hub->cntl->mmio)
p = desc + snprintf(desc, sizeof(desc), "/*@%016x"
, (u32)usbdev->hub->cntl->mmio);
- else
return -1;
- p = build_usb_path(p, desc+sizeof(desc)-p, usbdev->hub); snprintf(p, desc+sizeof(desc)-p, "/storage@%x/*@0/*@0,%x" , usb_portmap(usbdev), lun);
-- 2.27.0 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org