<damo22>user -> syscall (e.g. read() on umass) -> all of USB <damo22>user -> something built on top of libusb -> libusb -> syscall -> ugen -> lower level USB <damo22>we can go with a hurd server that exposes all of USB as pci devices <damo22>i dont think we need to explicitly split the stack into two <damo22>Antti suggested in 2015 that ugen is not suitable for anything except debugging <damo22>ugenhc emulates a host controller <damo22>we dont need to emulate host controllers as we have them on the system <damo22>i think we need to expose all of usb via an usb-arbiter that enumerates all usb devices <jab>damo22: that sounds like fun! <damo22>irq handler [11]: new delivery port c1476f88 entry f648ad88 <damo22>irq handler [11]: new delivery port c1476948 entry f648ad68 <damo22>[ 1.6000050] panic: kernel diagnostic assertion "xfer->ux_bus->ub_usedma == false" failed: file "./buildrump.sh/src/sys/rump/dev/lib/libusb/../../../../dev/usb/usbdi.c", line 515 <damo22>[ 1.6000050] rump kernel halting... <damo22>it tried to assign irqs that were already taken and crashed the rumpkernel <damo22>[ 1.3100050] uhci0 at pci0 dev 29 function 0: vendor 8086 product 2934 (rev. 0x03) <damo22>irq handler [10]: new delivery port c1439bb8 entry f5e5ce28 <damo22>[ 1.3400050] uhci0: interrupting at pausebreak <damo22>i think it broke because my disk is plugged in via usb on the host, but in qemu i ran -usb <damo22>so it passed through the usb host controller to the guest hurd <damo22>my hard drive with hurd on it is throwing I/O errors luckily i backed up my git repos <damo22>and most of my work is already merged <damo22>youpi: how do you run the 20220811 installer using qemu? <damo22>i keep getting Unsupported ATAPI cdrom device <damo22>hurd boots on a thinkpad x230 with coreboot+seabios natively, but has no network access <damo22>rumpdisk is failing to probe the ahci0 controller though <damo22>but my test usb program probes the xhci0 controller and then hangs the machine <damo22>i think its probably trying to use 64 bit DMA <youpi>damo22: you mean with ahci ? <damo22>i wrote a test usb program using rump, it probed xhci <damo22>it said something like : xhci0: 64 bit DMA - limited <damo22>i think that means the xhci controller supports 64 bit DMA but the pci bus only supports 32 <damo22>youpi: would it damage my hw if i pass through usb host controller to qemu but the disk attached via host is on usb device? <damo22>i think i will make a disk image i can use instead of raw disk <damo22>does ` -usb` passed to qemu actually pass through the usb host controllers? <damo22>[ 1.0200050] uhci0 at pci0 dev 29 function 0: vendor 8086 product 2934 (rev. 0x03) <damo22>Thread 4 received signal SIGILL, Illegal instruction. <damo22>0x08101998 in rumpns_bus_space_write_2 () <damo22>#0 0x08101998 in rumpns_bus_space_write_2 () <damo22>#1 0x0815f2cd in uhci_pci_attach () <youpi>damo22: depends how usb options are configured precisely <youpi>you can pass-through at the usb protocol level, or a whole pci device, etc. <youpi>you can also create a virtual usb device with an image attached to a virtual usb stick ***Aranda|away is now known as Aranda