qemu/hw
Stefan Hajnoczi 25db9ebe15 virtio-pci: Use ioeventfd for virtqueue notify
Virtqueue notify is currently handled synchronously in userspace virtio.  This
prevents the vcpu from executing guest code while hardware emulation code
handles the notify.

On systems that support KVM, the ioeventfd mechanism can be used to make
virtqueue notify a lightweight exit by deferring hardware emulation to the
iothread and allowing the VM to continue execution.  This model is similar to
how vhost receives virtqueue notifies.

The result of this change is improved performance for userspace virtio devices.
Virtio-blk throughput increases especially for multithreaded scenarios and
virtio-net transmit throughput increases substantially.

Some virtio devices are known to have guest drivers which expect a notify to be
processed synchronously and spin waiting for completion.
For virtio-net, this also seems to interact with the guest stack in strange
ways so that TCP throughput for small message sizes (~200bytes)
is harmed. Only enable ioeventfd for virtio-blk for now.

Care must be taken not to interfere with vhost-net, which uses host
notifiers.  If the set_host_notifier() API is used by a device
virtio-pci will disable virtio-ioeventfd and let the device deal with
host notifiers as it wishes.

Finally, there used to be a limit of 6 KVM io bus devices inside the
kernel.  On such a kernel, don't use ioeventfd for virtqueue host
notification since the limit is reached too easily.  This ensures that
existing vhost-net setups (which always use ioeventfd) have ioeventfds
available so they can continue to work.

After migration and on VM change state (running/paused) virtio-ioeventfd
will enable/disable itself.

 * VIRTIO_CONFIG_S_DRIVER_OK -> enable virtio-ioeventfd
 * !VIRTIO_CONFIG_S_DRIVER_OK -> disable virtio-ioeventfd
 * virtio_pci_set_host_notifier() -> disable virtio-ioeventfd
 * vm_change_state(running=0) -> disable virtio-ioeventfd
 * vm_change_state(running=1) -> enable virtio-ioeventfd

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2011-01-10 14:44:16 +02:00
..
ide piix: tag as not hotpluggable. 2011-01-10 13:29:25 +02:00
9p.h Move stdbool.h 2010-06-13 19:00:50 +01:00
a9mpcore.c ARM PBX-A9 board support 2009-11-19 16:45:21 +00:00
ac97.c pci: don't overwrite multi functio bit in pci header type. 2010-07-11 20:00:56 +03:00
acpi_piix4.c piix: tag as not hotpluggable. 2011-01-10 13:29:25 +02:00
acpi.c acpi: Fix an infinite loop in acpi_table_add 2010-10-09 08:19:16 +00:00
acpi.h Update to a hopefully more future proof FSF address 2010-05-15 17:52:49 +00:00
adb.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
adlib.c Unexport ticks_per_sec variable. Create get_ticks_per_sec() function 2009-09-11 10:19:52 -05:00
ads7846.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
alpha_palcode.c alpha: remove dead assignments, spotted by clang analyzer 2010-04-25 20:30:17 +00:00
an5206.c qemu_ram_alloc: Add DeviceState and name parameters 2010-07-06 10:36:28 -05:00
apb_pci.c Make simple io mem handler endian aware 2010-12-11 15:24:25 +00:00
apb_pci.h pci: pci.h cleanup: move out stuff not in pci.c 2009-12-01 17:51:04 +02:00
apic.c apic: Fix accidental use of SoftFloat uint32 type 2010-12-20 21:02:57 +00:00
apic.h apic: qdev conversion cleanup 2010-06-19 07:47:42 +00:00
apm.c Trim unnecessary includes 2010-05-15 17:36:13 +00:00
apm.h acpi: split out apm register emulation from acpi.c 2010-05-15 15:27:19 +00:00
applesmc.c AppleSMC device emulation 2010-07-11 20:33:10 +03:00
arm11mpcore.c ARM PBX-A9 board support 2009-11-19 16:45:21 +00:00
arm_boot.c arm: fix arm kernel boot for non zero start addr 2010-05-31 19:40:41 +02:00
arm_gic.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
arm_pic.c Replace cpu_abort with hw_error 2009-05-08 02:35:15 +01:00
arm_sysctl.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
arm_timer.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
arm-misc.h ARM PBX-A9 board support 2009-11-19 16:45:21 +00:00
armv7m_nvic.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
armv7m.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
audiodev.h Add Intel HD Audio support to qemu. 2010-11-01 17:57:22 +03:00
axis_dev88.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
baum.c baum: add destroy hook 2010-04-08 21:17:10 +02:00
baum.h usb-serial and braille: use qdev for -usbdevice 2009-10-30 08:39:31 -05:00
bitbang_i2c.c GPIO I2C rework 2009-11-22 21:27:40 +00:00
bitbang_i2c.h GPIO I2C rework 2009-11-22 21:27:40 +00:00
blizzard_template.h rename WORDS_BIGENDIAN to HOST_WORDS_BIGENDIAN 2009-07-27 14:09:21 -05:00
blizzard.c Update to a hopefully more future proof FSF address 2009-07-16 20:47:01 +00:00
boards.h Fix Sparse error: dubious one-bit signed bitfield 2009-12-25 16:12:26 +00:00
bonito.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
bt-hci-csr.c bt: remove dead assignments, spotted by clang analyzer 2010-04-25 18:20:28 +00:00
bt-hci.c bt: remove dead assignments, spotted by clang analyzer 2010-04-25 18:20:28 +00:00
bt-hid.c qdev: Replace device names containing whitespace 2009-12-12 07:59:38 -06:00
bt-l2cap.c bt-l2cap: fix if statement with empty body, spotted by clang 2010-04-22 03:41:24 +02:00
bt-sdp.c Do not redefine reserved key-words TRUE/FALSE 2010-10-30 08:02:38 +00:00
bt.c Update to a hopefully more future proof FSF address 2009-07-16 20:47:01 +00:00
bt.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
cbus.c Update to a hopefully more future proof FSF address 2009-07-16 20:47:01 +00:00
cdrom.c scsi: move scsi-disk.h -> scsi.h 2009-11-09 08:43:03 -06:00
cirrus_vga_rop2.h cirrus: avoid write only variables 2010-10-13 18:38:07 +00:00
cirrus_vga_rop.h cirrus: avoid write only variables 2010-10-13 18:38:07 +00:00
cirrus_vga.c Merge remote branch 'origin/master' into pci 2011-01-10 13:43:48 +02:00
cris_pic_cpu.c cris: First shot at qdev for CRIS interrupts. 2009-05-18 22:24:22 +02:00
cris-boot.c cris: Break out image loading to hw/cris-boot.c. 2010-06-10 14:45:46 +02:00
cris-boot.h cris: Break out image loading to hw/cris-boot.c. 2010-06-10 14:45:46 +02:00
cs4231.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
cs4231a.c Keep track of ISA ports ISA device is using in qdev. 2010-12-11 21:27:46 +00:00
cuda.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
debugcon.c Debugcon: Fix debugging printf 2010-04-08 21:44:38 +02:00
dec_pci.c pci-host: Delegate bswap to mmio layer 2010-12-11 15:24:25 +00:00
dec_pci.h dec: actually implement PCI bridging 2010-02-07 19:28:32 +00:00
device-hotplug.c Rearrange block headers 2010-08-24 15:22:24 +00:00
devices.h OHCI qdev conversion 2010-04-05 19:57:40 +01:00
dma.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
dp8393x.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
ds1225y.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
ds1338.c DS1338 RTC 2009-11-22 21:27:40 +00:00
dummy_m68k.c qemu_ram_alloc: Add DeviceState and name parameters 2010-07-06 10:36:28 -05:00
e1000_hw.h Update to a hopefully more future proof FSF address 2009-07-16 20:47:01 +00:00
e1000.c Add bootindex parameter to net/block/fd device 2010-12-11 21:32:46 +00:00
ecc.c Follow coding conventions 2009-05-10 01:44:56 +01:00
eccmemctl.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
eepro100.c Add bootindex parameter to net/block/fd device 2010-12-11 21:32:46 +00:00
eeprom93xx.c eepro100: Add a dev field to eeprom new/free functions 2010-07-06 10:36:28 -05:00
eeprom93xx.h eepro100: Add a dev field to eeprom new/free functions 2010-07-06 10:36:28 -05:00
elf_ops.h elf: Calculate symbol size if needed 2010-09-09 19:37:16 +00:00
empty_slot.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
empty_slot.h create empty_slot device 2010-04-18 08:55:12 +00:00
es1370.c es1370: symbolic names for pci registers 2009-12-23 16:35:00 +02:00
escc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
escc.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
esp.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
esp.h ESP: fix ESP DMA access when DMA is not enabled 2010-09-11 16:38:33 +00:00
etraxfs_dma.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
etraxfs_dma.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
etraxfs_eth.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
etraxfs_pic.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
etraxfs_ser.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
etraxfs_timer.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
etraxfs.c Rearrange block headers 2010-08-24 15:22:24 +00:00
etraxfs.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
event_notifier.c notifier: event notifier implementation 2010-04-01 13:56:43 -05:00
event_notifier.h notifier: event notifier implementation 2010-04-01 13:56:43 -05:00
fdc.c Add bootindex parameter to net/block/fd device 2010-12-11 21:32:46 +00:00
fdc.h Rearrange block headers 2010-08-24 15:22:24 +00:00
file-op-9p.h [virtio-9p] Add datasync to server side TFSYNC/RFSYNC for dotl 2010-12-02 16:06:47 -08:00
firmware_abi.h Document sun ID PROM contents 2009-03-28 16:17:50 +00:00
flash.h Compile pflash_cfi01 only once 2010-03-29 19:23:56 +00:00
fmopl.c fmopl: workaround for -Wempty-body 2010-09-24 04:09:01 +04:00
fmopl.h
framebuffer.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
framebuffer.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
fw_cfg.c Pass boot device list to firmware. 2010-12-11 21:32:48 +00:00
fw_cfg.h Change fw_cfg_add_file() to get full file path as a parameter. 2010-12-11 21:32:46 +00:00
g364fb.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
grackle_pci.c pci-host: Delegate bswap to mmio layer 2010-12-11 15:24:25 +00:00
gt64xxx.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
gumstix.c Rearrange block headers 2010-08-24 15:22:24 +00:00
gus.c Keep track of ISA ports ISA device is using in qdev. 2010-12-11 21:27:46 +00:00
gusemu_hal.c
gusemu_mixer.c
gusemu.h qdev/isa: convert gravis ultrasound 2009-09-10 19:48:00 +04:00
gustate.h
hda-audio.c hda-audio: exit cleanup 2010-11-09 16:51:12 +03:00
heathrow_pic.c heathrow_pic: Declare as little endian 2010-12-11 15:24:26 +00:00
hpet_emul.h pass info about hpets to seabios.] 2010-06-14 11:12:53 -05:00
hpet.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
hw.h spice: add qxl device 2010-12-09 14:23:24 +01:00
i2c.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
i2c.h vmstate: remove i2c_slave_load/save 2009-10-05 09:32:39 -05:00
i8254.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
i8259.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
ide.h pc: Fix CMOS info for drives defined with -device 2010-07-02 13:18:02 +02:00
integratorcp.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
intel-hda-defs.h Add Intel HD Audio support to qemu. 2010-11-01 17:57:22 +03:00
intel-hda.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
intel-hda.h intel-hda: exit cleanup 2010-11-09 16:51:11 +03:00
ioapic.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
ioh3420.c ioh3420: support aer 2010-11-22 10:00:06 +02:00
ioh3420.h ioh3420: pcie root port in X58 ioh 2010-10-20 12:06:43 +02:00
irq.c
irq.h
isa_mmio.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
isa-bus.c Add get_fw_dev_path callback to ISA bus in qdev. 2010-12-11 21:27:47 +00:00
isa.h Keep track of ISA ports ISA device is using in qdev. 2010-12-11 21:27:46 +00:00
ivshmem.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
jazz_led.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
lan9118.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
lance.c Introduce fw_name field to DeviceInfo structure. 2010-12-11 21:27:44 +00:00
lm832x.c savevm: Port to qdev.vmsd all devices that have qdev 2009-12-03 10:05:58 -06:00
loader.c Add bootindex for option roms. 2010-12-11 21:32:47 +00:00
loader.h Add bootindex for option roms. 2010-12-11 21:32:47 +00:00
lsi53c895a.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
m48t59.c Keep track of ISA ports ISA device is using in qdev. 2010-12-11 21:27:46 +00:00
mac_dbdma.c dbdma: Make little endian 2010-12-11 15:24:25 +00:00
mac_dbdma.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
mac_nvram.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
macio.c pci: don't overwrite multi functio bit in pci header type. 2010-07-11 20:00:56 +03:00
mainstone.c Rearrange block headers 2010-08-24 15:22:24 +00:00
mainstone.h Follow coding conventions 2009-05-10 01:44:56 +01:00
marvell_88w8618_audio.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
max111x.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
max7310.c savevm: Port to qdev.vmsd all devices that have qdev 2009-12-03 10:05:58 -06:00
mc146818rtc.c Keep track of ISA ports ISA device is using in qdev. 2010-12-11 21:27:46 +00:00
mc146818rtc.h hpet/rtc: Rework RTC IRQ replacement by HPET 2010-06-13 15:33:00 +03:00
mcf5206.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
mcf5208.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
mcf_fec.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
mcf_intc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
mcf_uart.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
mcf.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
microblaze_pic_cpu.c microblaze: Add CPU interrupt wrapper logic. 2009-05-26 21:10:38 +02:00
mips_addr.c Compile some MIPS devices only once 2010-03-27 07:26:16 +00:00
mips_cpudevs.h Compile some MIPS devices only once 2010-03-27 07:26:16 +00:00
mips_fulong2e.c mips_fulong2e: fix ram allocation 2010-10-22 18:26:08 +00:00
mips_int.c mips: more fixes to the MIPS interrupt glue logic 2010-07-25 16:54:02 +02:00
mips_jazz.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
mips_malta.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
mips_mipssim.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
mips_r4k.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
mips_timer.c Compile some MIPS devices only once 2010-03-27 07:26:16 +00:00
mips-bios.h Remove obsolete BIOS_SIZE from sysemu.h 2009-05-19 14:52:42 +01:00
mips.h MIPS: Initial support of bonito north bridge used by fulong mini pc 2010-06-29 23:07:51 +02:00
mipsnet.c mipsnet: Fix compiler warning in debug code 2010-10-03 06:40:58 +00:00
mpcore.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
msi.c msi: minor cleanups 2010-10-27 19:01:59 +02:00
msi.h msi: implements msi 2010-10-19 14:09:06 +02:00
msix.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
msix.h msix: add helper to unuse all msix entries 2009-12-01 17:58:27 +02:00
msmouse.c convert msmouse chardev to QemuOpts. 2009-09-11 10:19:48 -05:00
msmouse.h convert msmouse chardev to QemuOpts. 2009-09-11 10:19:48 -05:00
mst_fpga.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
multiboot.c Add bootindex for option roms. 2010-12-11 21:32:47 +00:00
multiboot.h multiboot: Separate multiboot loading into separate file 2010-01-08 09:58:41 -06:00
musicpal.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
nand.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
ne2000-isa.c Keep track of ISA ports ISA device is using in qdev. 2010-12-11 21:27:46 +00:00
ne2000.c Add bootindex for option roms. 2010-12-11 21:32:47 +00:00
ne2000.h net: convert ne2000 to NICState 2009-12-03 09:41:31 -06:00
nseries.c Add bootindex for option roms. 2010-12-11 21:32:47 +00:00
nvram.h m48t59: don't use reserved _t suffix 2010-02-07 08:05:03 +00:00
omap1.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap2.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_clk.c Mov muldiv64 to qemu-common.h (Thus unbreaking gus) 2010-10-30 01:41:01 +04:00
omap_dma.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_dss.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_gpio.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_gpmc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_gptimer.c hw/omap2.c : separate gptimer module 2010-06-30 20:41:36 +02:00
omap_i2c.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_intc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_l4.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_lcd_template.h rename WORDS_BIGENDIAN to HOST_WORDS_BIGENDIAN 2009-07-27 14:09:21 -05:00
omap_lcdc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_mmc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_sdrc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_spi.c hw/omap2.c : separate spi module 2010-06-30 20:41:37 +02:00
omap_sx1.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap_synctimer.c hw/omap2.c : separate synctimer module 2010-06-30 20:41:36 +02:00
omap_tap.c hw/omap2.c : separate tap module(Test-Chip-level) 2010-06-30 20:41:37 +02:00
omap_uart.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
omap.h Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
onenand.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
openpic.c openpic: Replace explicit byte swap with endian hints 2010-12-11 15:24:26 +00:00
openpic.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
palm.c Add bootindex for option roms. 2010-12-11 21:32:47 +00:00
parallel.c Keep track of ISA ports ISA device is using in qdev. 2010-12-11 21:27:46 +00:00
pc_piix.c pc/piix: fix mismerge of b1aeb92666 2010-12-22 09:00:07 +02:00
pc.c pc: move port 92 stuff back to pc.c from pckbd.c 2011-01-06 18:24:35 +00:00
pc.h more stdvga cleanups. 2010-11-16 08:40:07 -06:00
pci_bridge.c pci bridge: implement secondary bus reset 2010-11-22 10:00:07 +02:00
pci_bridge.h pci/bridge: fix pci_bridge_reset() 2010-10-20 12:05:10 +02:00
pci_host.c Add get_fw_dev_path callback for system bus. 2010-12-11 21:32:41 +00:00
pci_host.h pci-host: Delegate bswap to mmio layer 2010-12-11 15:24:25 +00:00
pci_ids.h pci: add storage class for sata 2010-12-17 16:11:02 +01:00
pci_internals.h pci_bridge: introduce pci bridge library. 2010-09-07 20:01:27 +03:00
pci_regs.h pci: import Linux pci_regs.h 2009-12-23 16:35:00 +02:00
pci-hotplug.c Rearrange block headers 2010-08-24 15:22:24 +00:00
pci-stub.c pcie/aer: glue aer error injection into qemu monitor 2010-12-24 10:35:34 +02:00
pci.c pci: allow devices being tagged as not hotpluggable. 2011-01-10 13:29:16 +02:00
pci.h pci: allow devices being tagged as not hotpluggable. 2011-01-10 13:29:16 +02:00
pcie_aer.c pcie/aer: glue aer error injection into qemu monitor 2010-12-24 10:35:34 +02:00
pcie_aer.h pcie/aer: helper functions for pcie aer capability 2010-11-22 10:00:06 +02:00
pcie_host.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pcie_host.h Update to a hopefully more future proof FSF address 2010-03-07 15:48:43 +00:00
pcie_port.c pcie/port: fix bridge control register wmask 2010-11-22 10:00:06 +02:00
pcie_port.h pcie port: define struct PCIEPort/PCIESlot and helper functions 2010-10-20 12:05:45 +02:00
pcie_regs.h pcie_regs.h: more constants 2010-11-22 10:00:06 +02:00
pcie.c pcie: add flr support 2010-12-22 09:01:53 +02:00
pcie.h pcie: add flr support 2010-12-22 09:01:53 +02:00
pckbd.c pc: move port 92 stuff back to pc.c from pckbd.c 2011-01-06 18:24:35 +00:00
pcmcia.h Rearrange block headers 2010-08-24 15:22:24 +00:00
pcnet-pci.c Add bootindex for option roms. 2010-12-11 21:32:47 +00:00
pcnet.c Add bootindex parameter to net/block/fd device 2010-12-11 21:32:46 +00:00
pcnet.h Split out common pcnet code 2010-11-27 11:23:34 +00:00
pcspk.c Remove any pretense that there can be more than one AudioState 2009-05-14 03:20:43 +04:00
petalogix_s3adsp1800_mmu.c Rearrange block headers 2010-08-24 15:22:24 +00:00
pflash_cfi01.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pflash_cfi02.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
piix4.c piix: tag as not hotpluggable. 2011-01-10 13:29:25 +02:00
piix_pci.c piix: tag as not hotpluggable. 2011-01-10 13:29:25 +02:00
pixel_ops.h
pl011.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pl022.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pl031.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pl050.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pl061.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pl080.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pl110_template.h rename WORDS_BIGENDIAN to HOST_WORDS_BIGENDIAN 2009-07-27 14:09:21 -05:00
pl110.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pl181.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pl190.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pm_smbus.c Update to a hopefully more future proof FSF address 2010-05-15 17:52:49 +00:00
pm_smbus.h acpi: split out piix4 smbus routines from acpi.c into pm_smbus.c 2010-05-15 15:25:31 +00:00
ppc4xx_devs.c powerpc: Make the decr interrupt type overridable 2010-09-24 22:01:24 +02:00
ppc4xx_pci.c ppc4xx_pci: Declare as little endian 2010-12-11 15:24:26 +00:00
ppc4xx.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
ppc405_boards.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
ppc405_uc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
ppc405.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
ppc440_bamboo.c ppc4xx: load Bamboo kernel, initrd, and fdt at fixed addresses 2010-08-26 18:18:26 +02:00
ppc440.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
ppc440.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
ppc_mac.h ppc: remove video.x 2010-10-13 18:38:07 +00:00
ppc_newworld.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
ppc_oldworld.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
ppc_prep.c prep: Declare as little endian 2010-12-11 15:24:26 +00:00
ppc.c powerpc: Make the decr interrupt type overridable 2010-09-24 22:01:24 +02:00
ppc.h powerpc: Make the decr interrupt type overridable 2010-09-24 22:01:24 +02:00
ppce500_mpc8544ds.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
ppce500_pci.c pci-host: Delegate bswap to mmio layer 2010-12-11 15:24:25 +00:00
ppce500.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
prep_pci.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
prep_pci.h pci: pci.h cleanup: move out stuff not in pci.c 2009-12-01 17:51:04 +02:00
primecell.h Realview/EB procid hacks 2009-11-13 04:04:18 +00:00
ps2.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
ps2.h
ptimer.c vmstate: remove const for put operations 2009-10-05 09:32:36 -05:00
pxa2xx_dma.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pxa2xx_gpio.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pxa2xx_keypad.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pxa2xx_lcd.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pxa2xx_mmci.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pxa2xx_pcmcia.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pxa2xx_pic.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pxa2xx_template.h Fix Sparse warnings about using plain integer as NULL pointer 2009-09-21 18:11:34 +00:00
pxa2xx_timer.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pxa2xx.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
pxa.h OHCI qdev conversion 2010-04-05 19:57:40 +01:00
qdev-addr.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
qdev-addr.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
qdev-properties.c Rearrange block headers 2010-08-24 15:22:24 +00:00
qdev.c qdev: Track runtime machine modifications 2011-01-05 12:14:00 +02:00
qdev.h qdev: Track runtime machine modifications 2011-01-05 12:14:00 +02:00
qxl-logger.c spice: add qxl device 2010-12-09 14:23:24 +01:00
qxl-render.c spice: add qxl device 2010-12-09 14:23:24 +01:00
qxl.c qxl: tag as not hotpluggable 2011-01-10 13:43:55 +02:00
qxl.h spice: add qxl device 2010-12-09 14:23:24 +01:00
r2d.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
rc4030.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
realview_gic.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
realview.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
rtl8139.c rtl8139: Use subsection to restrict migration after hotplug 2011-01-05 12:14:02 +02:00
s390-virtio-bus.c virtio-net: Introduce a new bottom half packet TX 2010-09-07 20:29:29 +03:00
s390-virtio-bus.h s390: compile fixes 2010-12-26 00:29:49 +01:00
s390-virtio.c s390: compile fixes 2010-12-26 00:29:49 +01:00
sb16.c Keep track of ISA ports ISA device is using in qdev. 2010-12-11 21:27:46 +00:00
sbi.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
scsi-bus.c Add get_fw_dev_path callback to scsi bus. 2010-12-11 21:32:45 +00:00
scsi-defs.h scsi-disk: support WRITE SAME (16) with unmap bit 2010-12-17 16:11:03 +01:00
scsi-disk.c scsi-disk: support WRITE SAME (16) with unmap bit 2010-12-17 16:11:03 +01:00
scsi-generic.c scsi: Return SAM status codes 2010-11-25 12:00:10 +01:00
scsi.h scsi: Move sense handling into the driver 2010-11-25 12:19:28 +01:00
sd.c Fix compilation error (missing include statement) 2010-09-22 14:02:33 -05:00
sd.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
serial.c Keep track of ISA ports ISA device is using in qdev. 2010-12-11 21:27:46 +00:00
sh7750_regnames.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
sh7750_regnames.h
sh7750_regs.h
sh7750.c target-sh4: implement writes to mmaped ITLB 2011-01-09 23:59:12 +01:00
sh_intc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
sh_intc.h Replace gcc variadic macro extension with C99 version 2009-05-13 17:53:17 +00:00
sh_pci.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
sh_pci.h pci: pci.h cleanup: move out stuff not in pci.c 2009-12-01 17:51:04 +02:00
sh_serial.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
sh_timer.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
sh.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
sharpsl.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
shix.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
slavio_intctl.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
slavio_misc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
slavio_timer.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
sm501_template.h sh: sm501: Add hardware cursor feature 2010-01-14 16:15:50 +01:00
sm501.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
smbios.c Compile loader only once 2009-09-20 14:58:02 +00:00
smbios.h qemu: Add support for SMBIOS command line otions (Alex Williamson) 2009-04-17 18:59:56 +00:00
smbus_eeprom.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
smbus.c i2c: addresses are load/save as uint8_t values, change types to reflect this 2009-10-05 09:32:37 -05:00
smbus.h i2c: addresses are load/save as uint8_t values, change types to reflect this 2009-10-05 09:32:37 -05:00
smc91c111.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
soc_dma.c Use gcc warning flag -Wempty-body 2010-09-18 07:01:48 +00:00
soc_dma.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
sparc32_dma.c sparc32: ledma extra registers need tracing too 2010-12-20 21:08:07 +00:00
sparc32_dma.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
spitz.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
ssd0303.c savevm: Port to qdev.vmsd all devices that have qdev 2009-12-03 10:05:58 -06:00
ssd0323.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
ssi-sd.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
ssi.c New qdev_init_nofail() 2009-10-07 08:54:54 -05:00
ssi.h qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
stellaris_enet.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
stellaris_input.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
stellaris.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
sun4c_intctl.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
sun4m_iommu.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
sun4m.c sparc32: ledma extra registers 2010-12-18 18:31:22 +00:00
sun4m.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
sun4u.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
syborg_fb.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
syborg_interrupt.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
syborg_keyboard.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
syborg_pointer.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
syborg_rtc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
syborg_serial.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
syborg_timer.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
syborg_virtio.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
syborg.c qemu_ram_alloc: Add DeviceState and name parameters 2010-07-06 10:36:28 -05:00
syborg.h Syborg (Symbian Virtual Platform) board 2009-05-14 23:11:09 +01:00
sysbus.c Add get_fw_dev_path callback for system bus. 2010-12-11 21:32:41 +00:00
sysbus.h Add get_fw_dev_path callback for system bus. 2010-12-11 21:32:41 +00:00
tc6393xb_template.h Delete write only variables 2010-10-13 18:41:29 +00:00
tc6393xb.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
tc58128.c Replace assert(0) with abort() or cpu_abort() 2010-03-18 18:41:57 +00:00
tcx.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
tmp105.c tmp105: update the register in post_load where it needs updating. 2010-05-15 14:31:27 +02:00
tosa.c Rearrange block headers 2010-08-24 15:22:24 +00:00
tsc210x.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
tsc2005.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
tusb6010.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
twl92230.c Add "static" to please Sparse 2009-12-04 20:44:44 +00:00
unin_pci.c uninorth: Get rid of bswap 2010-12-11 15:24:26 +00:00
usb-bt.c qdev: Replace device names containing whitespace 2009-12-12 07:59:38 -06:00
usb-bus.c Add get_fw_dev_path callback for usb bus. 2010-12-11 21:32:44 +00:00
usb-hid.c un-register kbd driver in case of USB kbd unplug. 2010-06-14 15:46:28 -05:00
usb-hub.c Record which USBDevice USBPort belongs too. 2010-12-11 21:32:44 +00:00
usb-msd.c Rearrange block headers 2010-08-24 15:22:24 +00:00
usb-musb.c Record which USBDevice USBPort belongs too. 2010-12-11 21:32:44 +00:00
usb-net.c Add bootindex parameter to net/block/fd device 2010-12-11 21:32:46 +00:00
usb-ohci.c Record which USBDevice USBPort belongs too. 2010-12-11 21:32:44 +00:00
usb-ohci.h Revert "Compile usb-ohci only once" 2010-04-04 21:18:26 +01:00
usb-serial.c usb-serial: Fail instead of crash when chardev is missing 2010-06-30 20:35:46 +02:00
usb-uhci.c Record which USBDevice USBPort belongs too. 2010-12-11 21:32:44 +00:00
usb-uhci.h MIPS: Initial support of VIA USB controller used by fulong mini pc 2010-06-29 23:07:52 +02:00
usb-wacom.c wacom tablet: activate event handlers. 2010-10-20 12:10:59 -05:00
usb.c qdev/usb: add usb bus support to qdev, convert drivers. 2009-09-09 14:55:17 -05:00
usb.h Record which USBDevice USBPort belongs too. 2010-12-11 21:32:44 +00:00
versatile_pci.c isa_mmio: Always use little endian 2010-12-11 15:24:26 +00:00
versatilepb.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
vga_int.h spice: add qxl device 2010-12-09 14:23:24 +01:00
vga_template.h vga: Rename last VGAState occurrences to VGACommonState 2009-09-09 14:55:14 -05:00
vga-isa-mm.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
vga-isa.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
vga-pci.c vga: tag as not hotplugable. 2011-01-10 13:29:42 +02:00
vga.c Fix curses on big endian hosts 2011-01-04 21:58:24 +01:00
vhost_net.c vhost: fix infinite loop on error path 2010-09-14 16:02:23 +02:00
vhost_net.h vhost: vhost net support 2010-04-01 13:56:43 -05:00
vhost.c vhost: Fix address calculation in vhost_dev_sync_region() 2010-12-02 21:13:39 +02:00
vhost.h vhost: vhost net support 2010-04-01 13:56:43 -05:00
virtex_ml507.c Delete write only variables 2010-10-13 18:41:29 +00:00
virtio-9p-debug.c hw/virtio9p: Use appropriate debug print functions in TLINK path 2010-12-02 16:07:49 -08:00
virtio-9p-debug.h [virtio-9p] Remove all instances of unnecessary dotu variable. 2010-09-08 22:58:40 +05:30
virtio-9p-local.c virtio-9p: fix build on !CONFIG_UTIMENSAT 2010-12-02 16:08:40 -08:00
virtio-9p-posix-acl.c virtio-9p: Support mapped posix acl 2010-10-20 12:10:58 -05:00
virtio-9p-xattr-user.c virtio-9p: Support mapped posix acl 2010-10-20 12:10:58 -05:00
virtio-9p-xattr.c virtio-9p: Check the return value of llistxattr. 2010-12-02 16:08:27 -08:00
virtio-9p-xattr.h virtio-9p: Support mapped posix acl 2010-10-20 12:10:58 -05:00
virtio-9p.c [virtio-9p] Add datasync to server side TFSYNC/RFSYNC for dotl 2010-12-02 16:06:47 -08:00
virtio-9p.h qemu-virtio-9p: Implement TREADLINK operation for 9p2000.L 2010-10-20 12:10:58 -05:00
virtio-balloon.c disable guest-provided stats on "info balloon" command 2010-10-01 10:20:06 -03:00
virtio-balloon.h virtio: Add memory statistics reporting to the balloon driver 2010-01-26 17:08:03 -06:00
virtio-blk.c Add bootindex parameter to net/block/fd device 2010-12-11 21:32:46 +00:00
virtio-blk.h Add virtio disk identification support 2010-07-06 17:05:49 +02:00
virtio-console.c virtio-serial: Apps should consume all data that guest sends out / Fix virtio api abuse 2010-04-28 08:58:22 -05:00
virtio-net.c virtio: move vmstate change tracking to core 2011-01-10 14:44:07 +02:00
virtio-net.h virtio-net: Introduce a new bottom half packet TX 2010-09-07 20:29:29 +03:00
virtio-pci.c virtio-pci: Use ioeventfd for virtqueue notify 2011-01-10 14:44:16 +02:00
virtio-serial-bus.c virtio-serial: Cleanup on device hot-unplug 2010-08-22 16:19:00 -05:00
virtio-serial.h Move stdbool.h 2010-06-13 19:00:50 +01:00
virtio.c virtio-pci: Use ioeventfd for virtqueue notify 2011-01-10 14:44:16 +02:00
virtio.h virtio-pci: Use ioeventfd for virtqueue notify 2011-01-10 14:44:16 +02:00
vmmouse.c vmmouse: adapt to mouse handler changes. 2010-10-20 12:10:59 -05:00
vmport.c KVM: Make vmport KVM-compatible 2010-02-03 19:47:34 -02:00
vmware_vga.c vga: tag as not hotplugable. 2011-01-10 13:29:42 +02:00
vmware_vga.h pci: pci.h cleanup: move out stuff not in pci.c 2009-12-01 17:51:04 +02:00
vt82c686.c pci/multi function bit: fix vt82c686.c. 2010-07-12 18:36:02 +02:00
vt82c686.h Initial support of vt82686b south bridge used by fulong mini pc 2010-06-29 23:07:51 +02:00
watchdog.c QemuOpts: make most qemu_*_opts static 2010-08-22 17:11:06 -05:00
watchdog.h Compile wdt_i6300esb only once 2009-09-20 08:02:28 +00:00
wdt_i6300esb.c Watchdog: disable watchdog timer when hard-rebooting a guest. 2010-12-12 13:10:55 +00:00
wdt_ib700.c wdt_ib700: Fix accidental use of SoftFloat int64 type 2010-12-20 21:03:01 +00:00
wm8750.c Delete write only variables 2010-10-13 18:41:29 +00:00
xen_backend.c Fix free use in xen_backend.c 2009-12-02 08:57:43 -06:00
xen_backend.h Replace most gcc format attributes by macro GCC_FMT_ATTR (format checking) 2010-10-03 06:34:36 +00:00
xen_blkif.h static and inline should came before the type of the functions 2009-09-25 19:51:45 +00:00
xen_common.h Fix xen build after sys-queue renaming 2009-09-12 15:00:28 +00:00
xen_console.c Update to a hopefully more future proof FSF address 2009-07-16 20:47:01 +00:00
xen_devconfig.c Rearrange block headers 2010-08-24 15:22:24 +00:00
xen_disk.c Remove NULL checks for bdrv_new return value 2010-12-17 16:11:03 +01:00
xen_domainbuild.c remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
xen_domainbuild.h xen: pv domain builder. (Gerd Hoffmann) 2009-04-22 15:19:44 +00:00
xen_machine_pv.c Rearrange block headers 2010-08-24 15:22:24 +00:00
xen_nic.c net: convert xen to NICState 2009-12-03 09:41:34 -06:00
xen.h include inttypes.h in xen.h 2009-06-13 16:18:31 +03:00
xenfb.c Move stdbool.h 2010-06-13 19:00:50 +01:00
xilinx_ethlite.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
xilinx_intc.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
xilinx_timer.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
xilinx_uartlite.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00
xilinx.h xilinx_ethlite: use qdev properties for configuration. 2009-10-27 12:28:41 -05:00
xio3130_downstream.c pcie: add flr support 2010-12-22 09:01:53 +02:00
xio3130_downstream.h x3130: pcie downstream port 2010-10-20 12:06:53 +02:00
xio3130_upstream.c pcie: add flr support 2010-12-22 09:01:53 +02:00
xio3130_upstream.h x3130: pcie upstream port 2010-10-20 12:06:50 +02:00
zaurus.c Add endianness as io mem parameter 2010-12-11 15:24:25 +00:00