 d7c1523f58
			
		
	
	
		d7c1523f58
		
	
	
	
	
		
			
			This patch adds an autoscan to let u2f-passthru choose the first U2F device it finds. The autoscan is performed using libudev with an enumeration of all the hidraw devices present on the host. The first device which happens to be a U2F device is taken to do the passtru. Signed-off-by: César Belley <cesar.belley@lse.epita.fr> Message-id: 20200826114209.28821-13-cesar.belley@lse.epita.fr Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
		
			
				
	
	
		
			77 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
| hw_usb_modules = {}
 | |
| 
 | |
| # usb subsystem core
 | |
| softmmu_ss.add(files(
 | |
|   'bus.c',
 | |
|   'combined-packet.c',
 | |
|   'core.c',
 | |
|   'libhw.c'
 | |
| ))
 | |
| 
 | |
| softmmu_ss.add(when: 'CONFIG_USB', if_true: files(
 | |
|   'desc.c',
 | |
|   'desc-msos.c',
 | |
| ))
 | |
| 
 | |
| # usb host adapters
 | |
| softmmu_ss.add(when: 'CONFIG_USB_UHCI', if_true: files('hcd-uhci.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_OHCI', if_true: files('hcd-ohci.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_OHCI_PCI', if_true: files('hcd-ohci-pci.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_EHCI', if_true: files('hcd-ehci.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_EHCI_PCI', if_true: files('hcd-ehci-pci.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_EHCI_SYSBUS', if_true: files('hcd-ehci.c', 'hcd-ehci-sysbus.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_XHCI', if_true: files('hcd-xhci.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_XHCI_NEC', if_true: files('hcd-xhci-nec.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_MUSB', if_true: files('hcd-musb.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_DWC2', if_true: files('hcd-dwc2.c'))
 | |
| 
 | |
| softmmu_ss.add(when: 'CONFIG_TUSB6010', if_true: files('tusb6010.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_IMX', if_true: files('chipidea.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_IMX_USBPHY', if_true: files('imx-usb-phy.c'))
 | |
| 
 | |
| # emulated usb devices
 | |
| softmmu_ss.add(when: 'CONFIG_USB', if_true: files('dev-hub.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB', if_true: files('dev-hid.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_TABLET_WACOM', if_true: files('dev-wacom.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_STORAGE_BOT', if_true: files('dev-storage.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_STORAGE_UAS', if_true: files('dev-uas.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_AUDIO', if_true: files('dev-audio.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_SERIAL', if_true: files('dev-serial.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_USB_NETWORK', if_true: files('dev-network.c'))
 | |
| softmmu_ss.add(when: ['CONFIG_POSIX', 'CONFIG_USB_STORAGE_MTP'], if_true: files('dev-mtp.c'))
 | |
| 
 | |
| # smartcard
 | |
| softmmu_ss.add(when: 'CONFIG_USB_SMARTCARD', if_true: files('dev-smartcard-reader.c'))
 | |
| 
 | |
| if config_host.has_key('CONFIG_SMARTCARD')
 | |
|   usbsmartcard_ss = ss.source_set()
 | |
|   usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD',
 | |
|                       if_true: [cacard, files('ccid-card-emulated.c', 'ccid-card-passthru.c')])
 | |
|   hw_usb_modules += {'smartcard': usbsmartcard_ss}
 | |
| endif
 | |
| 
 | |
| # U2F
 | |
| softmmu_ss.add(when: 'CONFIG_USB_U2F', if_true: files('u2f.c'))
 | |
| softmmu_ss.add(when: ['CONFIG_LINUX', 'CONFIG_USB_U2F'], if_true: [libudev, files('u2f-passthru.c')])
 | |
| if u2f.found()
 | |
|   softmmu_ss.add(when: 'CONFIG_USB_U2F', if_true: [u2f, files('u2f-emulated.c')])
 | |
| endif
 | |
| 
 | |
| # usb redirect
 | |
| if config_host.has_key('CONFIG_USB_REDIR')
 | |
|   usbredir_ss = ss.source_set()
 | |
|   usbredir_ss.add(when: 'CONFIG_USB',
 | |
|                   if_true: [usbredir, files('redirect.c', 'quirks.c')])
 | |
|   hw_usb_modules += {'redirect': usbredir_ss}
 | |
| endif
 | |
| 
 | |
| # usb pass-through
 | |
| softmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_USB_LIBUSB', libusb],
 | |
|                if_true: files('host-libusb.c'),
 | |
|                if_false: files('host-stub.c'))
 | |
| softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('host-stub.c'))
 | |
| 
 | |
| softmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN', libusb], if_true: files('xen-usb.c'))
 | |
| 
 | |
| modules += { 'hw-usb': hw_usb_modules }
 |