qemu-irix/hw
Hans de Goede be41efde3c usb: Don't allow USB_RET_ASYNC for interrupt packets
It is tempting to use USB_RET_ASYNC for interrupt packets, rather then the
current NAK + polling approach, but this causes issues for migration, as
an async completed packet will not getting written back to guest memory until
the next poll time, and if a migration happens in between it will get lost!

Make an exception for host devices, because:
1) host-linux actually uses async completion for interrupt endpoints
2) host devices don't migrate anyways

Ideally we would convert host-linux.c to handle (input) interrupt endpoints in
a buffered manner like it does for isoc endpoints, keeping multiple urbs
submitted to ensure the devices timing requirements are met, as well as making
its interrupt ep handling the same as other usb-devices.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-04 14:41:54 +01:00
..
9pfs
alpha
arm
cris
i386 q35: Introduce q35 pc based chipset emulator 2012-11-26 09:35:36 -06:00
ide atapi: make change media detection for guests easier 2012-11-30 11:33:24 +01:00
kvm pc_piix: Move kvm irq routing functions out of pc_piix.c 2012-11-26 09:35:35 -06:00
lm32
m68k
microblaze
mips
openrisc
ppc
s390x sclp: Fix uninitialized var in handle_write_event_buf(). 2012-11-26 20:16:26 +01:00
sh4
sparc
sparc64
unicore32
usb usb: Don't allow USB_RET_ASYNC for interrupt packets 2012-12-04 14:41:54 +01:00
xtensa
9p.h
Makefile.objs ich9: Add i82801b11 dmi-to-pci bridge 2012-11-26 09:35:37 -06:00
a9mpcore.c
a15mpcore.c
ac97.c
acpi.c
acpi.h
acpi_ich9.c q35: Suppress SMM BIOS initialization under KVM 2012-11-26 09:35:37 -06:00
acpi_ich9.h ich9: Add acpi support and definitions 2012-11-26 09:35:35 -06:00
acpi_piix4.c acpi_piix4: fix migration of gpe fields 2012-11-14 20:15:37 -02:00
adb.c
adb.h
adlib.c
ads7846.c
alpha_dp264.c
alpha_pci.c
alpha_sys.h
alpha_typhoon.c
an5206.c
apb_pci.c
apb_pci.h
apic-msidef.h
apic.c
apic.h
apic_common.c
apic_internal.h
apm.c
apm.h
applesmc.c
arm-misc.h Move qemu_irq typedef out of qemu-common.h 2012-11-15 01:57:02 +01:00
arm11mpcore.c
arm_boot.c
arm_gic.c
arm_gic_common.c
arm_gic_internal.h
arm_l2x0.c
arm_mptimer.c
arm_pic.c
arm_sysctl.c
arm_timer.c
armv7m.c
armv7m_nvic.c
audiodev.h
axis_dev88.c
baum.c
baum.h
bitbang_i2c.c
bitbang_i2c.h
blizzard.c
blizzard_template.h
block-common.c
block-common.h
boards.h
bonito.c
bt-hci-csr.c
bt-hci.c
bt-hid.c
bt-l2cap.c
bt-sdp.c
bt.c
bt.h Move qemu_irq typedef out of qemu-common.h 2012-11-15 01:57:02 +01:00
cadence_gem.c
cadence_ttc.c
cadence_uart.c
cbus.c
ccid-card-emulated.c
ccid-card-passthru.c
ccid.h
cdrom.c
cirrus_vga.c
cirrus_vga_rop.h
cirrus_vga_rop2.h
cirrus_vga_template.h
collie.c
cris-boot.c
cris-boot.h
cris_pic_cpu.c
cs4231.c
cs4231a.c
cuda.c
debugcon.c
dec_pci.c
dec_pci.h
device-hotplug.c
devices.h Move qemu_irq typedef out of qemu-common.h 2012-11-15 01:57:02 +01:00
dma.c
dp8393x.c
ds1225y.c
ds1338.c
dummy_m68k.c
e1000.c e1000: Discard packets that are too long if !SBP and !LPE 2012-12-03 08:14:10 -06:00
e1000_hw.h
ecc.c
eccmemctl.c
eepro100.c
eeprom93xx.c
eeprom93xx.h
elf_ops.h
empty_slot.c
empty_slot.h
es1370.c
escc.c
escc.h
esp-pci.c
esp.c
esp.h
etraxfs.h
etraxfs_dma.c
etraxfs_dma.h
etraxfs_eth.c
etraxfs_pic.c
etraxfs_ser.c
etraxfs_timer.c
exynos4_boards.c
exynos4210.c
exynos4210.h
exynos4210_combiner.c
exynos4210_fimd.c
exynos4210_gic.c
exynos4210_i2c.c
exynos4210_mct.c
exynos4210_pmu.c
exynos4210_pwm.c
exynos4210_rtc.c
exynos4210_uart.c
fdc.c fdc: remove last usage of FD_STATE_SEEK 2012-11-14 18:19:22 +01:00
fdc.h
fifo.c
fifo.h
firmware_abi.h
flash.h
fmopl.c
fmopl.h
framebuffer.c
framebuffer.h
fw_cfg.c
fw_cfg.h
g364fb.c
grackle_pci.c
grlib.h
grlib_apbuart.c
grlib_gptimer.c
grlib_irqmp.c
gt64xxx.c
gumstix.c
gus.c
gusemu.h
gusemu_hal.c
gusemu_mixer.c
gustate.h
hd-geometry.c
hda-audio.c
heathrow_pic.c
hid.c
hid.h
highbank.c
hpet.c
hpet_emul.h
hw.h
i2c.c
i2c.h
i8254.c
i8254.h
i8254_common.c
i8254_internal.h
i8259.c
i8259_common.c
i8259_internal.h i8259: Fix PIC_COMMON() macro 2012-11-26 14:25:42 -06:00
i82374.c
i82378.c
i82801b11.c ich9: Add i82801b11 dmi-to-pci bridge 2012-11-26 09:35:37 -06:00
ich9.h ich9: Add acpi support and definitions 2012-11-26 09:35:35 -06:00
ide.h
imx.h
imx_avic.c
imx_ccm.c
imx_serial.c
imx_timer.c
integratorcp.c
intel-hda-defs.h
intel-hda.c
intel-hda.h
ioapic.c
ioapic.h
ioapic_common.c
ioapic_internal.h
ioh3420.c
ioh3420.h
irq.c
irq.h Move qemu_irq typedef out of qemu-common.h 2012-11-15 01:57:02 +01:00
isa-bus.c
isa.h
isa_mmio.c
ivshmem.c
jazz_led.c
kvmvapic.c kvmvapic: Fix TB invalidation after instruction patching 2012-11-10 12:25:17 +00:00
kzm.c
lan9118.c
lance.c
leon3.c
lm32.h
lm32_boards.c
lm32_hwsetup.h
lm32_juart.c
lm32_juart.h
lm32_pic.c
lm32_pic.h
lm32_sys.c
lm32_timer.c
lm32_uart.c
lm832x.c
lm4549.c
lm4549.h
loader.c
loader.h
lpc_ich9.c q35: Fix non-PCI IRQ processing in ich9_lpc_update_apic 2012-11-26 09:35:37 -06:00
lsi53c895a.c
m25p80.c
m48t59.c m48t59: remove unused m48t59_set_addr 2012-11-10 13:49:20 +00:00
mac_dbdma.c
mac_dbdma.h
mac_nvram.c
macio.c
mainstone.c
marvell_88w8618_audio.c
max111x.c
max7310.c
mc146818rtc.c rtc: Only call rtc_set_cmos when Register B SET flag is disabled. 2012-11-27 11:04:33 -06:00
mc146818rtc.h
mc146818rtc_regs.h
mcf.h
mcf5206.c
mcf5208.c
mcf_fec.c
mcf_intc.c
mcf_uart.c
megasas.c megasas: Use bdrv_drain_all instead of qemu_aio_flush 2012-11-14 18:20:06 +01:00
mfi.h megasas: Correct target/lun mapping 2012-11-12 16:42:56 +01:00
microblaze_boot.c
microblaze_boot.h
microblaze_pic_cpu.c
microblaze_pic_cpu.h
milkymist-ac97.c
milkymist-hpdmc.c
milkymist-hw.h
milkymist-memcard.c
milkymist-minimac2.c
milkymist-pfpu.c
milkymist-softusb.c
milkymist-sysctl.c
milkymist-tmu2.c
milkymist-uart.c
milkymist-vgafb.c
milkymist-vgafb_template.h
milkymist.c
mips-bios.h
mips.h
mips_addr.c
mips_cpudevs.h
mips_fulong2e.c
mips_int.c
mips_jazz.c
mips_malta.c mips/malta: fix CBUS UART interrupt pin 2012-11-15 14:37:55 +01:00
mips_mipssim.c
mips_r4k.c
mips_timer.c
mipsnet.c
mpc8544_guts.c
msi.c
msi.h
msix.c
msix.h
msmouse.c
msmouse.h
mst_fpga.c
multiboot.c
multiboot.h
musicpal.c
nand.c
ne2000-isa.c
ne2000.c
ne2000.h
nseries.c
null-machine.c
nvram.h m48t59: remove unused m48t59_set_addr 2012-11-10 13:49:20 +00:00
omap.h Move qemu_irq typedef out of qemu-common.h 2012-11-15 01:57:02 +01:00
omap1.c
omap2.c
omap_clk.c
omap_dma.c
omap_dss.c
omap_gpio.c
omap_gpmc.c
omap_gptimer.c
omap_i2c.c
omap_intc.c
omap_l4.c
omap_lcd_template.h
omap_lcdc.c
omap_mmc.c
omap_sdrc.c
omap_spi.c
omap_sx1.c
omap_synctimer.c
omap_tap.c
omap_uart.c
onenand.c
opencores_eth.c
openpic.c
openpic.h
openrisc_pic.c
openrisc_sim.c
openrisc_timer.c
palm.c
pam.c pc/piix_pci: factor out smram/pam logic 2012-11-26 09:35:35 -06:00
pam.h pc/piix_pci: factor out smram/pam logic 2012-11-26 09:35:35 -06:00
parallel.c
pc.c pc: Move ioapic_init() from pc_piix.c to pc.c 2012-11-26 09:35:35 -06:00
pc.h pc: Move ioapic_init() from pc_piix.c to pc.c 2012-11-26 09:35:35 -06:00
pc_piix.c add pc-1.4 2012-12-04 14:41:54 +01:00
pc_q35.c q35: Add kvmclock support 2012-11-26 09:35:37 -06:00
pc_sysfw.c
pci-hotplug.c hmp: do not crash on invalid SCSI hotplug 2012-11-26 09:38:54 -06:00
pci-stub.c
pci.c qdev: simplify (de)allocation of buses 2012-11-26 13:41:00 -06:00
pci.h virtio-rng: hardware random number generator device 2012-11-16 08:36:13 -06:00
pci_bridge.c
pci_bridge.h
pci_bridge_dev.c
pci_host.c
pci_host.h
pci_ids.h q35: Introduce q35 pc based chipset emulator 2012-11-26 09:35:36 -06:00
pci_internals.h
pci_regs.h
pcie.c
pcie.h
pcie_aer.c
pcie_aer.h
pcie_host.c
pcie_host.h
pcie_port.c
pcie_port.h
pcie_regs.h
pckbd.c
pcmcia.h
pcnet-pci.c
pcnet.c
pcnet.h
pcspk.c
pcspk.h
petalogix_ml605_mmu.c
petalogix_s3adsp1800_mmu.c
pflash_cfi01.c
pflash_cfi02.c
piix4.c
piix_pci.c pc/piix_pci: factor out smram/pam logic 2012-11-26 09:35:35 -06:00
pixel_ops.h
pl011.c
pl022.c
pl031.c
pl041.c
pl041.h
pl041.hx
pl050.c
pl061.c
pl080.c
pl110.c
pl110_template.h
pl181.c
pl190.c
pm_smbus.c
pm_smbus.h
ppc-viosrp.h
ppc.c
ppc.h
ppc4xx.h
ppc4xx_devs.c
ppc4xx_pci.c
ppc405.h
ppc405_boards.c
ppc405_uc.c
ppc440_bamboo.c
ppc_booke.c
ppc_mac.h
ppc_newworld.c
ppc_oldworld.c
ppc_prep.c
ppce500_pci.c
ppce500_spin.c
prep_pci.c
primecell.h
ps2.c
ps2.h
ptimer.c
ptimer.h
puv3.c
puv3.h
puv3_dma.c
puv3_gpio.c
puv3_intc.c
puv3_ost.c
puv3_pm.c
pxa.h
pxa2xx.c
pxa2xx_dma.c
pxa2xx_gpio.c
pxa2xx_keypad.c
pxa2xx_lcd.c
pxa2xx_mmci.c
pxa2xx_pcmcia.c
pxa2xx_pic.c
pxa2xx_template.h
pxa2xx_timer.c
q35.c q35: Introduce q35 pc based chipset emulator 2012-11-26 09:35:36 -06:00
q35.h q35: Introduce q35 pc based chipset emulator 2012-11-26 09:35:36 -06:00
qdev-addr.c qdev: Split up header so it can be used in cpu.h 2012-11-15 02:18:55 +01:00
qdev-addr.h
qdev-core.h qdev: simplify (de)allocation of buses 2012-11-26 13:41:00 -06:00
qdev-dma.h
qdev-monitor.c qdev: relax bus type check in qdev_device_add() (v2) 2012-11-29 09:11:03 -06:00
qdev-monitor.h qdev: Split up header so it can be used in cpu.h 2012-11-15 02:18:55 +01:00
qdev-properties.c qdev: Split up header so it can be used in cpu.h 2012-11-15 02:18:55 +01:00
qdev-properties.h qdev: Split up header so it can be used in cpu.h 2012-11-15 02:18:55 +01:00
qdev.c qdev: simplify (de)allocation of buses 2012-11-26 13:41:00 -06:00
qdev.h qdev: Split up header so it can be used in cpu.h 2012-11-15 02:18:55 +01:00
qxl-logger.c
qxl-render.c
qxl.c qxl: reload memslots after migration, when qxl is in UNDEFINED mode 2012-11-29 07:58:45 +01:00
qxl.h
r2d.c
rc4030.c
realview.c
realview_gic.c
rtl8139.c
s390-virtio-bus.c virtio-rng: hardware random number generator device 2012-11-16 08:36:13 -06:00
s390-virtio-bus.h virtio-rng: hardware random number generator device 2012-11-16 08:36:13 -06:00
s390-virtio.c s390: Fix ram_size updating in machine init 2012-11-26 20:16:26 +01:00
sb16.c
sbi.c
scsi-bus.c
scsi-defs.h
scsi-disk.c scsi-disk: flush cache after disabling it 2012-11-12 15:00:27 +01:00
scsi-generic.c
scsi.h
sd.c
sd.h
serial-isa.c
serial-pci.c
serial.c
serial.h
sga.c
sh.h
sh7750.c
sh7750_regnames.c
sh7750_regnames.h
sh7750_regs.h
sh_intc.c
sh_intc.h
sh_pci.c
sh_serial.c
sh_timer.c
sharpsl.h
shix.c
shpc.c
shpc.h
slavio_intctl.c
slavio_misc.c
slavio_timer.c
slotid_cap.c
slotid_cap.h
sm501.c
sm501_template.h
smbios.c
smbios.h
smbus.c
smbus.h
smbus_eeprom.c
smbus_ich9.c ich9: Add smbus 2012-11-26 09:35:36 -06:00
smc91c111.c
soc_dma.c
soc_dma.h Move qemu_irq typedef out of qemu-common.h 2012-11-15 01:57:02 +01:00
spapr.c
spapr.h
spapr_events.c
spapr_hcall.c
spapr_iommu.c
spapr_llan.c
spapr_pci.c pseries: Fix bug in PCI MSI allocation 2012-11-26 19:53:26 +01:00
spapr_pci.h
spapr_rtas.c
spapr_vio.c
spapr_vio.h
spapr_vscsi.c
spapr_vty.c
sparc32_dma.c
sparc32_dma.h
spitz.c
srp.h
ssd0303.c
ssd0323.c
ssi-sd.c
ssi.c
ssi.h
stellaris.c
stellaris_enet.c
stellaris_input.c
stream.c
stream.h
strongarm.c
strongarm.h
sun4c_intctl.c sun4c: remove unused functions 2012-11-10 13:49:20 +00:00
sun4m.c
sun4m.h sun4c: remove unused functions 2012-11-10 13:49:20 +00:00
sun4m_iommu.c
sun4u.c
sysbus.c qdev: simplify (de)allocation of buses 2012-11-26 13:41:00 -06:00
sysbus.h
tc6393xb.c
tc6393xb_template.h
tc58128.c
tcx.c
tmp105.c
tosa.c
tsc210x.c
tsc2005.c
tusb6010.c
twl92230.c
unin_pci.c
usb.h usb: Don't allow USB_RET_ASYNC for interrupt packets 2012-12-04 14:41:54 +01:00
versatile_i2c.c
versatile_pci.c
versatilepb.c
vexpress.c
vfio_pci.c vfio-pci: Use common msi_get_message 2012-11-13 12:27:40 -07:00
vga-isa-mm.c
vga-isa.c
vga-pci.c vga: fix mmio vga register mapping 2012-11-16 11:27:07 +01:00
vga.c vga: fix bochs alignment issue 2012-11-16 11:27:06 +01:00
vga.h
vga_int.h
vga_template.h
vhost.c
vhost.h
vhost_net.c
vhost_net.h
virtex_ml507.c
virtio-balloon.c
virtio-balloon.h
virtio-blk.c
virtio-blk.h
virtio-console.c
virtio-net.c
virtio-net.h
virtio-pci.c virtio-rng-pci: create a default backend if none exists 2012-11-16 08:36:14 -06:00
virtio-pci.h virtio-rng: hardware random number generator device 2012-11-16 08:36:13 -06:00
virtio-rng.c virtio: limit avail bytes lookahead 2012-11-29 17:25:02 -06:00
virtio-rng.h virtio-rng-pci: create a default backend if none exists 2012-11-16 08:36:14 -06:00
virtio-scsi.c virtio-scsi: Fix subtle (guest) endian bug 2012-11-28 12:52:00 +01:00
virtio-scsi.h
virtio-serial-bus.c virtio: limit avail bytes lookahead 2012-11-29 17:25:02 -06:00
virtio-serial.h
virtio.c virtio: limit avail bytes lookahead 2012-11-29 17:25:02 -06:00
virtio.h virtio: limit avail bytes lookahead 2012-11-29 17:25:02 -06:00
vmmouse.c
vmport.c
vmware_vga.c vmware_vga: Add back some info in local state partially reverting aa32b38c 2012-11-10 12:26:48 +00:00
vt82c686.c
vt82c686.h
watchdog.c
watchdog.h
wdt_i6300esb.c
wdt_ib700.c
wm8750.c
xen-host-pci-device.c
xen-host-pci-device.h
xen.h Move qemu_irq typedef out of qemu-common.h 2012-11-15 01:57:02 +01:00
xen_apic.c
xen_backend.c
xen_backend.h
xen_blkif.h
xen_common.h
xen_console.c
xen_devconfig.c
xen_disk.c
xen_domainbuild.c
xen_domainbuild.h
xen_machine_pv.c
xen_nic.c
xen_platform.c
xen_pt.c
xen_pt.h
xen_pt_config_init.c
xen_pt_msi.c
xenfb.c
xgmac.c
xics.c
xics.h
xilinx.h
xilinx_axidma.c
xilinx_axienet.c
xilinx_ethlite.c
xilinx_intc.c
xilinx_spi.c
xilinx_spips.c
xilinx_timer.c
xilinx_uartlite.c
xilinx_zynq.c
xio3130_downstream.c
xio3130_downstream.h
xio3130_upstream.c
xio3130_upstream.h
xtensa_bootparam.h
xtensa_lx60.c
xtensa_pic.c
xtensa_sim.c
z2.c
zaurus.c
zynq_slcr.c