[SeaBIOS] [PATCH 3/3] usb: add xhci support

Kevin O'Connor kevin at koconnor.net
Wed Sep 4 04:24:30 CEST 2013


On Tue, Sep 03, 2013 at 04:41:40PM +0200, Gerd Hoffmann wrote:
> $subject says all.  Support for usb3 streams is not implemented yet,
> otherwise it is fully functional.  Tested all usb devices supported
> by qemu (keyboard, storage, usb hubs), except for usb attached scsi
> in usb3 mode (which needs streams).

Thanks.  xhci support would be very nice to have.

[...]
> +static struct xhci_device *xhci_find_alloc_device(struct usb_xhci_s *xhci,
> +                                                  struct usbdevice_s *usbdev)
> +{
> +    ASSERT32FLAT();
> +    struct xhci_device *dev;
> +
> +    for (dev = xhci->list; dev != NULL; dev = dev->next) {
> +        if (dev->usbdev == usbdev) {
> +            return dev;
> +        }
> +    }

I have not done a full review, but I did notice the above.  The
freelist has a longer lifetime than a usbdev, so I don't think it is
safe to compare to it.  (Nothing stops a usbdev from being free'd and
a new one being alloc'd at the same address.)

Can the needed info from usbdev be copied into the pipe so that a long
held reference isn't needed?

-Kevin



More information about the SeaBIOS mailing list