qemu-irix/hw
Gerd Hoffmann bcbdc4d354 ide: add IDEBus struct, cleanups
The current IDE code uses an array of two IDEState structs to maintain
the IDE bus.  This patch adds a IDEBus to be used instead and does a
bunch of cleanups:

 * move ide bus state from IDEState to IDEBus.
 * drop a bunch of ugly pointer arithmetics to figure the active
   interface, explicitly save the interface number instead.
 * add helper functions to save/restore idebus state.

It also fixes a save/restore bug: loadvm allways stores the command in
the master's IDEState, even when it was saved from the slave.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-27 20:43:33 -05:00
..
ac97.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
acpi.c Port ACPI to VMState 2009-08-27 20:30:22 -05:00
adb.c
adlib.c
ads7846.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
alpha_palcode.c
an5206.c
apb_pci.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
apic.c kvm: Simplify cpu_synchronize_state() 2009-08-27 20:35:30 -05:00
arm-misc.h
arm_boot.c
arm_gic.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
arm_pic.c
arm_sysctl.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
arm_timer.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
armv7m.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
armv7m_nvic.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
audiodev.h
axis_dev88.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
baum.c
baum.h
bitbang_i2c.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
blizzard.c
blizzard_template.h
boards.h
bt-hci-csr.c
bt-hci.c
bt-hid.c
bt-l2cap.c
bt-sdp.c
bt.c
bt.h
cbus.c
cdrom.c
cirrus_vga.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
cirrus_vga_rop.h
cirrus_vga_rop2.h
cris_pic_cpu.c
cs4231.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
cs4231a.c Add isa_reserve_irq(). 2009-08-27 20:30:20 -05:00
cuda.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
device-hotplug.c
devices.h
dma.c
dp8393x.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
ds1225y.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
dummy_m68k.c
e1000.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
e1000_hw.h
ecc.c
eccmemctl.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
eepro100.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
eeprom93xx.c
eeprom93xx.h
es1370.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
escc.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
escc.h
esp.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
etraxfs.c
etraxfs.h
etraxfs_dma.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
etraxfs_dma.h
etraxfs_eth.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
etraxfs_pic.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
etraxfs_ser.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
etraxfs_timer.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
fdc.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
fdc.h isa bus irq changes and fixes. 2009-08-27 20:30:11 -05:00
firmware_abi.h
flash.h
fmopl.c
fmopl.h
framebuffer.c
framebuffer.h
fw_cfg.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
fw_cfg.h
g364fb.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
grackle_pci.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
gt64xxx.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
gumstix.c
gus.c
gusemu.h
gusemu_hal.c
gusemu_mixer.c
gustate.h
heathrow_pic.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
hpet.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
hpet_emul.h
hw.h Add VMState support to run a function after load 2009-08-27 20:30:22 -05:00
i2c.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
i2c.h qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
i8254.c Port i8254 to new VMState design 2009-08-27 20:30:21 -05:00
i8259.c Route IOAPIC interrupts via ISA bus 2009-08-24 08:01:42 -05:00
ide.c ide: add IDEBus struct, cleanups 2009-08-27 20:43:33 -05:00
integratorcp.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
ioapic.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
iommu.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
irq.c
irq.h
isa-bus.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
isa.h qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
isa_mmio.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
jazz_led.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
lm832x.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
lsi53c895a.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
m48t59.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
mac_dbdma.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
mac_dbdma.h
mac_nvram.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
macio.c
mainstone.c
mainstone.h
marvell_88w8618_audio.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
max111x.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
max7310.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
mc146818rtc.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
mcf.h
mcf5206.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
mcf5208.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
mcf_fec.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
mcf_intc.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
mcf_uart.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
microblaze_pic_cpu.c
mips-bios.h
mips.h
mips_int.c
mips_jazz.c isa bus irq changes and fixes. 2009-08-27 20:30:11 -05:00
mips_malta.c isa bus irq changes and fixes. 2009-08-27 20:30:11 -05:00
mips_mipssim.c
mips_r4k.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
mips_timer.c
mipsnet.c
mpcore.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
msix.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
msix.h
msmouse.c
msmouse.h
mst_fpga.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
musicpal.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
nand.c
ne2000.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
nseries.c
nvram.h
omap.h Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
omap1.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
omap2.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
omap_clk.c
omap_dma.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
omap_dss.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
omap_i2c.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
omap_lcd_template.h
omap_lcdc.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
omap_mmc.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
omap_sx1.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
onenand.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
openpic.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
openpic.h
palm.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
parallel.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
pc.c qdev: convert watchdogs 2009-08-27 20:35:24 -05:00
pc.h Route IOAPIC interrupts via ISA bus 2009-08-24 08:01:42 -05:00
pci-hotplug.c pci-hotplug: initialize dinfo to NULL in pci_device_hot_add 2009-08-27 19:33:15 -05:00
pci.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pci.h qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pci_host.h
pci_ids.h pci ids: remove redundant defines 2009-08-27 20:30:22 -05:00
pckbd.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pcmcia.h
pcnet.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pcspk.c
petalogix_s3adsp1800_mmu.c
pflash_cfi01.c Check block driver read error in pflash_cfi0x 2009-08-27 20:35:30 -05:00
pflash_cfi02.c Check block driver read error in pflash_cfi0x 2009-08-27 20:35:30 -05:00
piix_pci.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pixel_ops.h
pl011.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pl022.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pl031.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pl050.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pl061.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pl080.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pl110.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pl110_template.h
pl181.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pl190.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
poison.h
ppc.c Replace local ADDRX/PADDRX macros with TARGET_FMT_lx/plx 2009-08-16 11:13:18 +00:00
ppc.h Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
ppc4xx.h PPC: clean up ppc405 2009-08-15 14:27:05 +00:00
ppc4xx_devs.c Replace local ADDRX/PADDRX macros with TARGET_FMT_lx/plx 2009-08-16 11:13:18 +00:00
ppc4xx_pci.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
ppc405.h PPC: clean up ppc405 2009-08-15 14:27:05 +00:00
ppc405_boards.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
ppc405_uc.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
ppc440.c PPC: clean up ppc405 2009-08-15 14:27:05 +00:00
ppc440.h
ppc440_bamboo.c
ppc_mac.h
ppc_newworld.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
ppc_oldworld.c Replace REGX with PRIx64 2009-08-16 11:54:37 +00:00
ppc_prep.c isa bus irq changes and fixes. 2009-08-27 20:30:11 -05:00
ppce500.h
ppce500_mpc8544ds.c
ppce500_pci.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
prep_pci.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
primecell.h
ps2.c Port PS2 devices to VMState design 2009-08-27 20:30:22 -05:00
ps2.h
ptimer.c
pxa.h
pxa2xx.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
pxa2xx_dma.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
pxa2xx_gpio.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
pxa2xx_keypad.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
pxa2xx_lcd.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
pxa2xx_mmci.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
pxa2xx_pcmcia.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
pxa2xx_pic.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
pxa2xx_template.h
pxa2xx_timer.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
qdev-addr.c
qdev-addr.h
qdev-properties.c Unbreak Sparc32 and PPC 2009-08-13 16:26:52 +00:00
qdev.c qdev error logging 2009-08-27 20:43:33 -05:00
qdev.h qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
r2d.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
rc4030.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
realview.c
realview_gic.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
rtl8139.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
sb16.c Add isa_reserve_irq(). 2009-08-27 20:30:20 -05:00
sbi.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
scsi-disk.c
scsi-disk.h
scsi-generic.c
scsi.h
sd.c
sd.h
serial.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
sh.h
sh7750.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
sh7750_regnames.c
sh7750_regnames.h
sh7750_regs.h
sh_intc.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
sh_intc.h
sh_pci.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
sh_serial.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
sh_timer.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
sharpsl.h
shix.c
slavio_intctl.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
slavio_misc.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
slavio_timer.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
sm501.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
sm501_template.h
smbios.c
smbios.h
smbus.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
smbus.h qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
smbus_eeprom.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
smc91c111.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
soc_dma.c
soc_dma.h
sparc32_dma.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
sparc32_dma.h
spitz.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
ssd0303.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
ssd0323.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
ssi-sd.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
ssi.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
ssi.h qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
stellaris.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
stellaris_enet.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
stellaris_input.c
sun4c_intctl.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
sun4m.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
sun4m.h Sparc32: fix monitor commands 'info pic' and 'info irq' 2009-08-23 12:23:30 +00:00
sun4u.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
syborg.c
syborg.h
syborg_fb.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
syborg_interrupt.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
syborg_keyboard.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
syborg_pointer.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
syborg_rtc.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
syborg_serial.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
syborg_timer.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
syborg_virtio.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
sysbus.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
sysbus.h qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
tc6393xb.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
tc6393xb_template.h
tc58128.c
tcx.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
tmp105.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
tosa.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
tsc210x.c
tsc2005.c
tusb6010.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
twl92230.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
unin_pci.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
usb-bt.c
usb-hid.c
usb-hub.c
usb-msd.c
usb-musb.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
usb-net.c
usb-ohci.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00
usb-serial.c
usb-uhci.c
usb-wacom.c
usb.c
usb.h
versatile_pci.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
versatilepb.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
vga.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
vga_int.h qdev/prop: convert vga.c to helper macros. 2009-08-10 13:11:26 -05:00
vga_template.h
virtio-balloon.c
virtio-balloon.h
virtio-blk.c virtio-blk: handle NULL returns from bdrv_aio_{read, write} 2009-08-27 20:30:23 -05:00
virtio-blk.h
virtio-console.c virtio-console: rename dvq to ovq 2009-08-27 20:30:22 -05:00
virtio-console.h
virtio-net.c
virtio-net.h
virtio-pci.c virtio-pci error logging 2009-08-27 20:43:33 -05:00
virtio.c
virtio.h
vmmouse.c
vmport.c
vmware_vga.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
watchdog.c qdev: convert watchdogs 2009-08-27 20:35:24 -05:00
watchdog.h qdev: convert watchdogs 2009-08-27 20:35:24 -05:00
wdt_i6300esb.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
wdt_ib700.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
wm8750.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
xen.h
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
xenfb.c
xilinx.h
xilinx_ethlite.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
xilinx_intc.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
xilinx_timer.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
xilinx_uartlite.c qdev: add return value to init() callbacks. 2009-08-27 20:43:28 -05:00
zaurus.c Make CPURead/WriteFunc structure 'const' 2009-08-25 18:29:31 +00:00