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 <kra...@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-le...@seabios.org _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-le...@seabios.org