qemu/hw
Alex Williamson 7faa8075d8 acpi_piix4: Fix PCI hotplug race
As Michael Tsirkin demonstrated, current PCI hotplug is vulnerable
to a few races.  The first is a race with other hotplug operations
because we clear the up & down registers at each event.  If a new
event comes before the last is processed, up/down is cleared and
the event is lost.

To fix this for the down register, we create a life cycle for
the event request that starts with the hot unplug request in
piix4_device_hotplug() and ends when the device is ejected.
This allows us to mask and clear individual bits, preserving them
against races.  For the up register, we have no clear end point
for when the event is finished.  We could modify the BIOS to
acknowledge the bit and clear it, but this creates BIOS compatibiliy
issues without offering a complete solution.  Instead we note that
gratuitous ACPI device checks are not harmful, which allows us to
issue a device check for every slot.  We know which slots are present
and we know which slots are hotpluggable, so we can easily reduce
this to a more manageable set for the guest.

The other race Michael noted was that an unplug request followed
by reset may also lose the eject notification, which may also
result in the eject request being lost which a subsequent add
or remove.  Once we're in reset, the device is unused and we can
flush the queue of device removals ourselves.  Previously if a
device_del was issued to a guest without ACPI PCI hotplug support,
it was necessary to shutdown the guest to recover the device.
With this, a guest reboot is sufficient.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2012-04-15 12:17:23 +03:00
..
9pfs
ide Use DMADirection type for dma_bdrv_io 2012-04-05 14:54:40 +02:00
kvm i386 hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
usb qdev: qdev_unplug(): use error_set() 2012-04-09 14:35:25 -03:00
9p.h
a9mpcore.c
a15mpcore.c
ac97.c
acpi_piix4.c acpi_piix4: Fix PCI hotplug race 2012-04-15 12:17:23 +03:00
acpi.c
acpi.h
adb.c
adb.h
adlib.c
ads7846.c
alpha_dp264.c alpha hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
alpha_pci.c
alpha_sys.h alpha hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
alpha_typhoon.c alpha hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
an5206.c m68k hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
apb_pci.c sparc64: implement PCI and ISA irqs 2012-03-17 16:30:06 +00:00
apb_pci.h sparc64: implement PCI and ISA irqs 2012-03-17 16:30:06 +00:00
apic_common.c
apic_internal.h
apic.c
apic.h i386 hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
apm.c
apm.h
applesmc.c
arm11mpcore.c ARM: Remove unnecessary subpage workarounds 2012-03-16 18:09:55 +00:00
arm_boot.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
arm_gic.c ARM: Remove unnecessary subpage workarounds 2012-03-16 18:09:55 +00:00
arm_l2x0.c
arm_mptimer.c ARM: Remove unnecessary subpage workarounds 2012-03-16 18:09:55 +00:00
arm_pic.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
arm_sysctl.c
arm_timer.c
arm-misc.h arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
armv7m_nvic.c
armv7m.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
audiodev.h
axis_dev88.c cris hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
baum.c
baum.h
bitbang_i2c.c
bitbang_i2c.h
blizzard_template.h
blizzard.c fix screendump 2012-03-24 13:06:41 +00:00
boards.h
bonito.c
bt-hci-csr.c
bt-hci.c
bt-hid.c
bt-l2cap.c
bt-sdp.c
bt.c
bt.h
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_rop2.h
cirrus_vga_rop.h
cirrus_vga_template.h
cirrus_vga.c cirrus_vga: do not reset videoram 2012-03-13 14:57:12 +00:00
collie.c
cris_pic_cpu.c cris hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
cris-boot.c cris hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
cris-boot.h cris hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
cs4231.c
cs4231a.c
cuda.c
debugcon.c
dec_pci.c
dec_pci.h
device-hotplug.c
devices.h
dma.c
dp8393x.c
ds1225y.c
ds1338.c ds1338: Add missing break statement 2012-03-19 10:52:52 +00:00
dummy_m68k.c m68k hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
e1000_hw.h
e1000.c
ecc.c
eccmemctl.c
eepro100.c net: move compute_mcast_idx() to net.h 2012-03-16 01:04:51 +02:00
eeprom93xx.c
eeprom93xx.h
elf_ops.h
empty_slot.c
empty_slot.h
es1370.c
escc.c
escc.h
esp.c
esp.h
etraxfs_dma.c
etraxfs_dma.h
etraxfs_eth.c
etraxfs_pic.c
etraxfs_ser.c cris hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
etraxfs_timer.c
etraxfs.h cris hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
exynos4_boards.c
exynos4210_combiner.c
exynos4210_fimd.c
exynos4210_gic.c
exynos4210_mct.c
exynos4210_pmu.c
exynos4210_pwm.c
exynos4210_uart.c
exynos4210.c
exynos4210.h arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
fdc.c
fdc.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_apbuart.c
grlib_gptimer.c
grlib_irqmp.c
grlib.h sparc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
gt64xxx.c
gumstix.c
gus.c
gusemu_hal.c
gusemu_mixer.c
gusemu.h
gustate.h
hda-audio.c
heathrow_pic.c
hid.c
hid.h
highbank.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
hpet_emul.h
hpet.c
hw.h
i2c.c
i2c.h
i8254_common.c
i8254_internal.h
i8254.c
i8254.h
i8259_common.c
i8259_internal.h
i8259.c
i82374.c
i82378.c
ide.h
integratorcp.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
intel-hda-defs.h
intel-hda.c
intel-hda.h
ioapic_common.c
ioapic_internal.h
ioapic.c ioapic: fix build with DEBUG_IOAPIC 2012-03-19 11:30:56 +00:00
ioapic.h
ioh3420.c
ioh3420.h
irq.c qtest: IRQ interception infrastructure 2012-03-30 08:14:11 -05:00
irq.h qtest: IRQ interception infrastructure 2012-03-30 08:14:11 -05:00
isa_mmio.c
isa-bus.c
isa.h
ivshmem.c ivshmem: add missing msix calls 2012-04-11 13:24:59 +03:00
jazz_led.c
kvmvapic.c i386 hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
lan9118.c
lance.c
leon3.c sparc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
lm32_boards.c lm32 hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
lm32_hwsetup.h
lm32_juart.c
lm32_juart.h
lm32_pic.c
lm32_pic.h
lm32_sys.c
lm32_timer.c
lm32_uart.c
lm32.h
lm832x.c
lm4549.c
lm4549.h
loader.c
loader.h
lsi53c895a.c aio: move BlockDriverAIOCB to qemu-aio.h 2012-04-05 14:54:39 +02:00
m48t59.c
mac_dbdma.c
mac_dbdma.h
mac_nvram.c
macio.c
mainstone.c
marvell_88w8618_audio.c
max111x.c
max7310.c
mc146818rtc_regs.h rtc: split out macros into a header file and use in test case 2012-03-30 08:14:12 -05:00
mc146818rtc.c rtc: split out macros into a header file and use in test case 2012-03-30 08:14:12 -05:00
mc146818rtc.h rtc: split out macros into a header file and use in test case 2012-03-30 08:14:12 -05:00
mcf5206.c m68k hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
mcf5208.c m68k hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
mcf_fec.c
mcf_intc.c m68k hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
mcf_uart.c
mcf.h m68k hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
microblaze_boot.c microblaze hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
microblaze_boot.h microblaze hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
microblaze_pic_cpu.c microblaze hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
microblaze_pic_cpu.h microblaze hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
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-sysctl: support for new core version 2012-03-31 20:02:30 +02:00
milkymist-tmu2.c
milkymist-uart.c
milkymist-vgafb_template.h
milkymist-vgafb.c milkymist-vgafb: add missing register 2012-04-01 20:30:24 +02:00
milkymist.c lm32 hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
mips_addr.c
mips_cpudevs.h mips hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
mips_fulong2e.c mips hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
mips_int.c mips hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
mips_jazz.c mips hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
mips_malta.c malta: Fix display for LED array 2012-03-15 20:55:45 +01:00
mips_mipssim.c mips hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
mips_r4k.c mips hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
mips_timer.c mips hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
mips-bios.h
mips.h
mipsnet.c
mpc8544_guts.c ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
msi.c
msi.h
msix.c
msix.h
msmouse.c
msmouse.h
mst_fpga.c
multiboot.c
multiboot.h
musicpal.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
nand.c
ne2000-isa.c
ne2000.c net: move compute_mcast_idx() to net.h 2012-03-16 01:04:51 +02:00
ne2000.h
nseries.c hw/omap_i2c: Convert to qdev 2012-03-15 16:54:21 +00:00
nvram.h
omap1.c arm: switch real-time clocks to rtc_clock 2012-03-30 10:31:22 +00:00
omap2.c hw/omap_i2c: Convert to qdev 2012-03-15 16:54:21 +00:00
omap_clk.c
omap_dma.c
omap_dss.c
omap_gpio.c
omap_gpmc.c
omap_gptimer.c
omap_i2c.c hw/omap_i2c: Convert to qdev 2012-03-15 16:54:21 +00:00
omap_intc.c
omap_l4.c
omap_lcd_template.h
omap_lcdc.c fix screendump 2012-03-24 13:06:41 +00:00
omap_mmc.c
omap_sdrc.c
omap_spi.c
omap_sx1.c
omap_synctimer.c
omap_tap.c
omap_uart.c
omap.h hw/omap_i2c: Convert to qdev 2012-03-15 16:54:21 +00:00
onenand.c
opencores_eth.c net: move compute_mcast_idx() to net.h 2012-03-16 01:04:51 +02:00
openpic.c PPC: Fix openpic with relative memregions 2012-03-15 13:12:12 +01:00
openpic.h
palm.c
parallel.c
pc_piix.c virtio-pci: change virtio balloon PCI class code 2012-04-11 13:24:59 +03:00
pc_sysfw.c
pc.c Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
pc.h
pci_bridge_dev.c pci: add standard bridge device 2012-03-16 00:41:28 +02:00
pci_bridge.c pci_bridge: upper 32 bit are long registers 2012-03-16 00:41:39 +02:00
pci_bridge.h
pci_host.c
pci_host.h
pci_ids.h
pci_internals.h
pci_regs.h pci_regs: Add PCI_EXP_TYPE_PCIE_BRIDGE 2012-03-16 01:04:50 +02:00
pci-hotplug.c qdev: qdev_unplug(): use error_set() 2012-04-09 14:35:25 -03:00
pci-stub.c
pci.c Merge commit 'ff71f2e8cacefae99179993204172bc65e4303df' into staging 2012-04-10 08:21:58 -05:00
pci.h slotid: add slot id capability 2012-03-16 00:41:28 +02:00
pcie_aer.c
pcie_aer.h
pcie_host.c
pcie_host.h
pcie_port.c pcie: drop functionality moved to core 2012-03-16 00:41:39 +02:00
pcie_port.h
pcie_regs.h
pcie.c
pcie.h
pckbd.c
pcmcia.h
pcnet-pci.c
pcnet.c
pcnet.h
pcspk.c
pcspk.h
petalogix_ml605_mmu.c microblaze hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
petalogix_s3adsp1800_mmu.c petalogix_s3adsp1800: deleted bad FIXME comment 2012-04-10 12:35:43 +02:00
pflash_cfi01.c
pflash_cfi02.c
piix4.c
piix_pci.c piix_pci: fix typo in i400FX chipset init code 2012-04-11 13:19:32 +03:00
pixel_ops.h
pl011.c
pl022.c
pl031.c pl031: switch clock base to rtc_clock 2012-03-30 10:31:23 +00:00
pl041.c
pl041.h
pl041.hx
pl050.c
pl061.c
pl080.c
pl110_template.h
pl110.c
pl181.c
pl190.c
pm_smbus.c
pm_smbus.h
ppc4xx_devs.c ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
ppc4xx_pci.c
ppc4xx.h ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
ppc405_boards.c
ppc405_uc.c PPC: 405: Fix ppc405ep initialization 2012-03-15 13:12:10 +01:00
ppc405.h ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
ppc440_bamboo.c Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
ppc_booke.c ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
ppc_mac.h
ppc_newworld.c ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
ppc_oldworld.c ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
ppc_prep.c qdev: put all devices under /machine 2012-04-02 15:04:15 -05:00
ppc-viosrp.h
ppc.c ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
ppc.h ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
ppce500_mpc8544ds.c Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
ppce500_pci.c
ppce500_spin.c ppc: Add missing 'static' to spin_rw_ops 2012-03-15 13:12:10 +01:00
prep_pci.c
primecell.h
ps2.c Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
ps2.h
ptimer.c
ptimer.h
pxa2xx_dma.c hw/pxa2xx_dma.c: drop target_phys_addr_t usage in device state 2012-03-16 18:09:55 +00:00
pxa2xx_gpio.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
pxa2xx_keypad.c
pxa2xx_lcd.c hw/pxa2xx_lcd.c: drop target_phys_addr_t usage in device state 2012-03-16 18:09:55 +00:00
pxa2xx_mmci.c
pxa2xx_pcmcia.c
pxa2xx_pic.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
pxa2xx_template.h
pxa2xx_timer.c
pxa2xx.c arm: switch real-time clocks to rtc_clock 2012-03-30 10:31:22 +00:00
pxa.h arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
qdev-addr.c
qdev-addr.h
qdev-monitor.c qapi: convert device_del 2012-04-09 14:35:25 -03:00
qdev-properties.c qdev: add blocksize property type 2012-04-05 14:54:40 +02:00
qdev.c qdev: qdev_unplug(): use error_set() 2012-04-09 14:35:25 -03:00
qdev.h Merge remote-tracking branch 'qmp/queue/qmp' into staging 2012-04-10 08:17:36 -05:00
qxl-logger.c
qxl-render.c qxl/qxl_render.c: add trace events 2012-03-19 13:12:19 +01:00
qxl.c hw/qxl.c: Fix compilation failures on 32 bit hosts 2012-03-19 13:12:19 +01:00
qxl.h
r2d.c sh4 hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
rc4030.c
realview_gic.c
realview.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
rtl8139.c rtl8139: do the network/host communication only in normal operating mode 2012-03-16 01:04:51 +02:00
s390-virtio-bus.c s390x hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
s390-virtio-bus.h
s390-virtio.c s390x hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
sb16.c
sbi.c
scsi-bus.c scsi: add get_dev_path 2012-03-19 16:35:58 +01:00
scsi-defs.h
scsi-disk.c scsi: copy serial number into VPD page 0x83 2012-03-19 16:35:17 +01:00
scsi-generic.c
scsi.h
sd.c
sd.h
serial.c serial: clear LSR.TEMT when populating the TSR 2012-04-02 09:43:17 -05:00
sga.c
sh7750_regnames.c
sh7750_regnames.h
sh7750_regs.h
sh7750.c
sh_intc.c
sh_intc.h
sh_pci.c
sh_serial.c
sh_timer.c
sh.h sh4 hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
sharpsl.h
shix.c sh4 hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
shpc.c shpc: standard hot plug controller 2012-03-16 00:41:15 +02:00
shpc.h shpc: standard hot plug controller 2012-03-16 00:41:15 +02:00
slavio_intctl.c
slavio_misc.c
slavio_timer.c
slotid_cap.c slotid: add slot id capability 2012-03-16 00:41:28 +02:00
slotid_cap.h slotid: add slot id capability 2012-03-16 00:41:28 +02:00
sm501_template.h
sm501.c
smbios.c
smbios.h
smbus_eeprom.c
smbus.c
smbus.h
smc91c111.c
soc_dma.c
soc_dma.h
spapr_hcall.c ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
spapr_llan.c ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
spapr_pci.c pseries: Configure PCI bridge using properties 2012-03-15 13:12:12 +01:00
spapr_pci.h pseries: Configure PCI bridge using properties 2012-03-15 13:12:12 +01:00
spapr_rtas.c ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
spapr_vio.c pseries: Add support for level interrupts to XICS 2012-03-15 13:12:12 +01:00
spapr_vio.h
spapr_vscsi.c
spapr_vty.c ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
spapr.c pseries: Add support for level interrupts to XICS 2012-03-15 13:12:12 +01:00
spapr.h pseries: Add support for level interrupts to XICS 2012-03-15 13:12:12 +01:00
sparc32_dma.c
sparc32_dma.h
spitz.c
srp.h
ssd0303.c
ssd0323.c
ssi-sd.c
ssi.c
ssi.h
stellaris_enet.c
stellaris_input.c
stellaris.c
strongarm.c arm: switch real-time clocks to rtc_clock 2012-03-30 10:31:22 +00:00
strongarm.h arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
sun4c_intctl.c
sun4m_iommu.c
sun4m.c Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
sun4m.h
sun4u.c Improve interrupt handling priority 2012-04-04 19:20:44 +00:00
sysbus.c
sysbus.h
tc6393xb_template.h
tc6393xb.c
tc58128.c
tcx.c
tmp105.c
tosa.c
tsc210x.c
tsc2005.c
tusb6010.c
twl92230.c arm: switch real-time clocks to rtc_clock 2012-03-30 10:31:22 +00:00
unin_pci.c
usb.h usb: improve packet state sanity checks 2012-03-13 10:15:32 +01:00
versatile_pci.c
versatilepb.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
vexpress.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
vga_int.h
vga_template.h
vga-isa-mm.c
vga-isa.c
vga-pci.c
vga.c fix screendump 2012-03-24 13:06:41 +00:00
vga.h
vhost_net.c
vhost_net.h
vhost.c vhost: readd assert statement 2012-04-11 13:19:32 +03:00
vhost.h
virtex_ml507.c ppc hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
virtio-balloon.c
virtio-balloon.h
virtio-blk.c
virtio-blk.h
virtio-console.c
virtio-net.c
virtio-net.h virtio-net: add DATA_VALID flag 2012-03-16 00:45:23 +02:00
virtio-pci.c virtio-pci: change virtio balloon PCI class code 2012-04-11 13:24:59 +03:00
virtio-pci.h
virtio-scsi.c virtio-scsi: call unregister_savevm properly 2012-03-19 16:35:43 +01:00
virtio-scsi.h
virtio-serial-bus.c
virtio-serial.h
virtio.c
virtio.h
vmmouse.c
vmport.c i386 hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
vmware_vga.c
vmware_vga.h
vt82c686.c
vt82c686.h
watchdog.c
watchdog.h
wdt_i6300esb.c
wdt_ib700.c
wm8750.c
xen_backend.c
xen_backend.h
xen_blkif.h
xen_common.h
xen_console.c xen_console: ignore console disconnect events from console/0 2012-03-27 16:05:15 +00:00
xen_devconfig.c
xen_disk.c Merge remote-tracking branch 'sstabellini/disk_io' into staging 2012-03-28 12:46:39 -05:00
xen_domainbuild.c
xen_domainbuild.h
xen_machine_pv.c i386 hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
xen_nic.c
xen_platform.c qdev: qdev_unplug(): use error_set() 2012-04-09 14:35:25 -03:00
xen.h
xenfb.c
xgmac.c
xics.c pseries: Add support for level interrupts to XICS 2012-03-15 13:12:12 +01:00
xics.h pseries: Add support for level interrupts to XICS 2012-03-15 13:12:12 +01:00
xilinx_axidma.c
xilinx_axidma.h
xilinx_axienet.c
xilinx_ethlite.c
xilinx_intc.c
xilinx_timer.c
xilinx_uartlite.c
xilinx_zynq.c arm hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
xilinx.h
xio3130_downstream.c
xio3130_downstream.h
xio3130_upstream.c
xio3130_upstream.h
xtensa_bootparam.h
xtensa_lx60.c xtensa hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
xtensa_pic.c xtensa hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
xtensa_sim.c xtensa hw/: Don't use CPUState 2012-03-14 22:20:26 +01:00
z2.c
zaurus.c
zynq_slcr.c