Hi, > That's true for the default case, but for the pseries machine, there is > already code that changes the boot path for virtual usb-storage devices, > see the function spapr_get_fw_dev_path() : > > ... else if (usb) { > /* > * We use SRP luns of the form 01000000 | (usb-port << 16) | lun > * in the top 32 bits of the 64-bit LUN > */ > unsigned usb_port = atoi(usb->port->path); > unsigned id = 0x1000000 | (usb_port << 16) | d->lun; > return g_strdup_printf("%s@%"PRIX64, qdev_fw_name(dev), > (uint64_t)id << 32); > }
Hmm, I thought the point of using standard open firmware paths was that we don't need hacks like this. Looks like things are not *that* standardized then if some archs need extra tweaks ... But if that is needed for pseries *anyway* it doesn't hurt to do the same for usb-host. > > If usb-host (and usb-redir too btw) create paths identical to the ones > > created by usb-storage. Existing firmware should cope just fine > > (assuming bootindex for usb-storage works). > > Which firmware can deal with these original device paths with "channel@0" > in it? Certainly not SLOF. Maybe OpenBIOS? Does OpenBIOS support USB storage > devices? seabios does, and I expect ovmf too (didn't test though). cheers, Gerd