sdk/emulator/qemu.git
12 years agoslavio_misc: convert configuration to memory API
Benoît Canet [Tue, 15 Nov 2011 11:13:52 +0000 (12:13 +0100)]
slavio_misc: convert configuration to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoslavio_misc: convert apc to memory API
Benoît Canet [Tue, 15 Nov 2011 11:13:51 +0000 (12:13 +0100)]
slavio_misc: convert apc to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoxilinx_axienet: convert to memory API
Avi Kivity [Tue, 15 Nov 2011 10:26:54 +0000 (12:26 +0200)]
xilinx_axienet: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoxilinx_axidma: convert to memory API
Avi Kivity [Tue, 15 Nov 2011 10:26:54 +0000 (12:26 +0200)]
xilinx_axidma: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosun4c_intctl: convert to memory API
Avi Kivity [Tue, 15 Nov 2011 09:56:16 +0000 (11:56 +0200)]
sun4c_intctl: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosun4m_iommu: convert to memory API
Avi Kivity [Tue, 15 Nov 2011 09:56:16 +0000 (11:56 +0200)]
sun4m_iommu: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agogrlib_irqmp: convert to memory API
Avi Kivity [Mon, 14 Nov 2011 12:23:17 +0000 (14:23 +0200)]
grlib_irqmp: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agogrlib_gptimer: convert to memory API
Avi Kivity [Mon, 14 Nov 2011 12:23:17 +0000 (14:23 +0200)]
grlib_gptimer: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agogrlib_apbuart: convert to memory API
Avi Kivity [Mon, 14 Nov 2011 11:10:13 +0000 (13:10 +0200)]
grlib_apbuart: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agomusicpal: avoid call to sysbus_init_mmio()
Avi Kivity [Mon, 14 Nov 2011 10:59:29 +0000 (12:59 +0200)]
musicpal: avoid call to sysbus_init_mmio()

Instead of calling sysbus_init_mmio() with a null region,
create a dummy region using the memory API.

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agobitbang_i2c: avoid call to sysbus_init_mmio()
Avi Kivity [Mon, 14 Nov 2011 10:59:29 +0000 (12:59 +0200)]
bitbang_i2c: avoid call to sysbus_init_mmio()

Instead of calling sysbus_init_mmio() with a null region,
create a dummy region using the memory API.

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosparc32_dma: convert to memory API
Avi Kivity [Mon, 14 Nov 2011 09:55:27 +0000 (11:55 +0200)]
sparc32_dma: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopxa2xx_dma: convert to memory API
Avi Kivity [Mon, 14 Nov 2011 09:55:27 +0000 (11:55 +0200)]
pxa2xx_dma: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoaxis_dev88: convert to memory API
Avi Kivity [Mon, 14 Nov 2011 09:17:21 +0000 (11:17 +0200)]
axis_dev88: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoeccmemctl: convert to memory API
Avi Kivity [Mon, 14 Nov 2011 09:17:21 +0000 (11:17 +0200)]
eccmemctl: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoempty_slot: convert to memory API
Avi Kivity [Sun, 13 Nov 2011 13:19:29 +0000 (15:19 +0200)]
empty_slot: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agompc8544_guts: convert to memory API
Avi Kivity [Sun, 13 Nov 2011 13:05:28 +0000 (15:05 +0200)]
mpc8544_guts: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agofw_cfg: convert to memory API
Avi Kivity [Sun, 13 Nov 2011 13:05:28 +0000 (15:05 +0200)]
fw_cfg: convert to memory API

Because the new API doesn't allow overlapping regions with just different
access sizes, we have to create a new "combined" region for both control
and data, when the two share an ioport offset.

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoesp: convert to memory API
Avi Kivity [Sun, 13 Nov 2011 11:07:04 +0000 (13:07 +0200)]
esp: convert to memory API

[benoit: fix]

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agomemory: add MemoryRegionOps::valid.accepts
Avi Kivity [Sun, 13 Nov 2011 11:05:27 +0000 (13:05 +0200)]
memory: add MemoryRegionOps::valid.accepts

MemoryRegionOps::valid tries to declaratively specify which transactions
are accepted by the device/bus, however it is not completely generic.  Add
a callback for special cases.

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agom48t59: convert to memory API
Avi Kivity [Sun, 13 Nov 2011 10:16:07 +0000 (12:16 +0200)]
m48t59: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agods1225y: convert to memory API
Avi Kivity [Thu, 10 Nov 2011 09:24:24 +0000 (11:24 +0200)]
ds1225y: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agodp8393x: convert to memory API
Avi Kivity [Wed, 9 Nov 2011 16:22:37 +0000 (18:22 +0200)]
dp8393x: convert to memory API

Fixes address space leak on hotunplug.

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agocs4321: convert to memory API
Avi Kivity [Wed, 9 Nov 2011 14:10:07 +0000 (16:10 +0200)]
cs4321: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoide/mmio: convert to memory API
Avi Kivity [Wed, 9 Nov 2011 14:10:07 +0000 (16:10 +0200)]
ide/mmio: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agohpet: convert to memory API
Avi Kivity [Wed, 9 Nov 2011 14:10:07 +0000 (16:10 +0200)]
hpet: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agorc4030: convert to memory API
Avi Kivity [Sun, 6 Nov 2011 17:30:48 +0000 (19:30 +0200)]
rc4030: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopxa2xx_lcd: convert to memory API
Benoît Canet [Sun, 30 Oct 2011 13:50:19 +0000 (14:50 +0100)]
pxa2xx_lcd: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopxa2xx_mmci: convert to memory API
Benoît Canet [Sun, 30 Oct 2011 13:50:18 +0000 (14:50 +0100)]
pxa2xx_mmci: convert to memory API

Convert mechanicaly; the access size of the old_mmio fields
seems odd.

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopxa2xx_pic: convert to memory API
Benoît Canet [Sun, 30 Oct 2011 13:50:17 +0000 (14:50 +0100)]
pxa2xx_pic: convert to memory API

The ARM documentation say transfers between the cpu and the
coprocessor are 32 bits wide.
Use 4 as size for coprocessor read and writes.

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopxa2xx_timer: convert to memory API
Benoît Canet [Sun, 30 Oct 2011 13:50:16 +0000 (14:50 +0100)]
pxa2xx_timer: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopxa2xx_keypad: convert to memory API
Benoît Canet [Sun, 30 Oct 2011 13:50:15 +0000 (14:50 +0100)]
pxa2xx_keypad: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopxa2xx_pcmcia.c: convert io memory space to memory API
Benoît Canet [Sun, 30 Oct 2011 13:50:14 +0000 (14:50 +0100)]
pxa2xx_pcmcia.c: convert io memory space to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopxa2xx_pcmcia.c: convert attribute memory space to memory API
Benoît Canet [Sun, 30 Oct 2011 13:50:13 +0000 (14:50 +0100)]
pxa2xx_pcmcia.c: convert attribute memory space to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopxa2xx_pcmcia.c: convert common memory space to memory API
Benoît Canet [Sun, 30 Oct 2011 13:50:12 +0000 (14:50 +0100)]
pxa2xx_pcmcia.c: convert common memory space to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopxa2xx_gpio: convert to memory API
Benoît Canet [Sun, 30 Oct 2011 13:50:11 +0000 (14:50 +0100)]
pxa2xx_gpio: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosyborg_virtio: convert to memory API
Benoît Canet [Mon, 24 Oct 2011 20:38:28 +0000 (22:38 +0200)]
syborg_virtio: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosyborg_timer: convert to memory API
Benoît Canet [Mon, 24 Oct 2011 20:38:27 +0000 (22:38 +0200)]
syborg_timer: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosyborg_serial: convert to memory API
Benoît Canet [Mon, 24 Oct 2011 20:38:26 +0000 (22:38 +0200)]
syborg_serial: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosyborg_rtc: convert to memory API
Benoît Canet [Mon, 24 Oct 2011 20:38:25 +0000 (22:38 +0200)]
syborg_rtc: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosyborg_pointer: convert to memory API
Benoît Canet [Mon, 24 Oct 2011 20:38:24 +0000 (22:38 +0200)]
syborg_pointer: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosyborg_keyboard: convert to memory API
Benoît Canet [Mon, 24 Oct 2011 20:38:23 +0000 (22:38 +0200)]
syborg_keyboard: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosyborg_interrupt: convert to memory API
Benoît Canet [Mon, 24 Oct 2011 20:38:22 +0000 (22:38 +0200)]
syborg_interrupt: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosyborg_fb: convert to memory API
Benoît Canet [Mon, 24 Oct 2011 20:38:21 +0000 (22:38 +0200)]
syborg_fb: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agomst_fpga: convert to memory API
Benoît Canet [Mon, 24 Oct 2011 20:38:20 +0000 (22:38 +0200)]
mst_fpga: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agomarvell_88x8618_audio: convert to memory API
Benoît Canet [Tue, 25 Oct 2011 10:32:35 +0000 (12:32 +0200)]
marvell_88x8618_audio: convert to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agostellaris: convert gptm to memory API
Benoît Canet [Mon, 17 Oct 2011 15:28:32 +0000 (17:28 +0200)]
stellaris: convert gptm to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agostellaris: convert adc to memory API
Benoît Canet [Mon, 17 Oct 2011 15:28:31 +0000 (17:28 +0200)]
stellaris: convert adc to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agostellaris: convert i2c to memory API
Benoît Canet [Mon, 17 Oct 2011 15:28:30 +0000 (17:28 +0200)]
stellaris: convert i2c to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agostellaris: convert sys to memory API
Benoît Canet [Mon, 17 Oct 2011 15:28:29 +0000 (17:28 +0200)]
stellaris: convert sys to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agointegratorcp: convert control to memory API
Benoît Canet [Mon, 17 Oct 2011 15:28:28 +0000 (17:28 +0200)]
integratorcp: convert control to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agointegratorcp: convert icp pic to memory API
Benoît Canet [Mon, 17 Oct 2011 15:28:27 +0000 (17:28 +0200)]
integratorcp: convert icp pic to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agointegratorcp: convert core to memory API
Benoît Canet [Mon, 17 Oct 2011 15:28:26 +0000 (17:28 +0200)]
integratorcp: convert core to memory API

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoioapic: Convert to memory API
Jan Kiszka [Mon, 17 Oct 2011 11:11:27 +0000 (13:11 +0200)]
ioapic: Convert to memory API

This maintains the old imprecise access size handling.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoioapic: Reject non-dword accesses to IOWIN register
Jan Kiszka [Mon, 17 Oct 2011 11:11:29 +0000 (13:11 +0200)]
ioapic: Reject non-dword accesses to IOWIN register

Aligns the model with the spec.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agosbi: convert to memory API
Avi Kivity [Sun, 16 Oct 2011 14:11:06 +0000 (16:11 +0200)]
sbi: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agofdc: convert to memory API
Avi Kivity [Tue, 11 Oct 2011 13:52:48 +0000 (15:52 +0200)]
fdc: convert to memory API

FIXME: instance ID for migration

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopl190: convert to memory API
Avi Kivity [Tue, 11 Oct 2011 11:54:48 +0000 (13:54 +0200)]
pl190: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopl181: convert to memory API
Avi Kivity [Tue, 11 Oct 2011 11:54:48 +0000 (13:54 +0200)]
pl181: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopl110: convert to memory API
Avi Kivity [Mon, 10 Oct 2011 15:18:44 +0000 (17:18 +0200)]
pl110: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopl080: convert to memory API
Avi Kivity [Mon, 10 Oct 2011 15:18:44 +0000 (17:18 +0200)]
pl080: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopl061: convert to memory API
Avi Kivity [Mon, 10 Oct 2011 15:18:44 +0000 (17:18 +0200)]
pl061: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopl050: convert to memory API
Avi Kivity [Mon, 10 Oct 2011 15:18:44 +0000 (17:18 +0200)]
pl050: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopl031: convert to memory API
Avi Kivity [Mon, 10 Oct 2011 15:18:44 +0000 (17:18 +0200)]
pl031: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopl022: convert to memory API
Avi Kivity [Mon, 10 Oct 2011 15:15:47 +0000 (17:15 +0200)]
pl022: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agopl011: convert to memory API
Avi Kivity [Mon, 10 Oct 2011 15:08:49 +0000 (17:08 +0200)]
pl011: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agozaurus: convert to memory API
Avi Kivity [Thu, 6 Oct 2011 15:37:49 +0000 (17:37 +0200)]
zaurus: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoparallel: convert to memory API
Avi Kivity [Thu, 6 Oct 2011 14:44:26 +0000 (16:44 +0200)]
parallel: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agojazz_led: convert to memory API
Avi Kivity [Thu, 6 Oct 2011 14:34:39 +0000 (16:34 +0200)]
jazz_led: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoshix: convert to memory API
Avi Kivity [Thu, 6 Oct 2011 10:52:27 +0000 (12:52 +0200)]
shix: convert to memory API

RAM wasn't actually allocated, only used, so fix that as well.

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agovirtex_ml507: convert to memory API
Avi Kivity [Wed, 5 Oct 2011 16:51:29 +0000 (18:51 +0200)]
virtex_ml507: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agovexpress: convert to memory API
Avi Kivity [Wed, 5 Oct 2011 16:49:54 +0000 (18:49 +0200)]
vexpress: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoversatilepb: convert to memory API
Avi Kivity [Wed, 5 Oct 2011 16:41:32 +0000 (18:41 +0200)]
versatilepb: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agotosa: convert to memory API
Avi Kivity [Wed, 5 Oct 2011 16:29:06 +0000 (18:29 +0200)]
tosa: convert to memory API

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoUpdate version for 1.0-rc3 release
Anthony Liguori [Mon, 21 Nov 2011 20:59:11 +0000 (14:59 -0600)]
Update version for 1.0-rc3 release

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoconfigure: check for EFD_NONBLOCK | EFD_CLOEXEC flags
Max Filippov [Mon, 21 Nov 2011 00:54:58 +0000 (04:54 +0400)]
configure: check for EFD_NONBLOCK | EFD_CLOEXEC flags

Add check for the EFD_NONBLOCK and EFD_CLOEXEC flags to the
CONFIG_EVENTFD test.
This fixes the following build failure on Fedora 9:

      CC    event_notifier.o
    event_notifier.c: In function `event_notifier_init':
    event_notifier.c:21: error: `EFD_NONBLOCK' undeclared (first use in this function)
    event_notifier.c:21: error: (Each undeclared identifier is reported only once
    event_notifier.c:21: error: for each function it appears in.)
    event_notifier.c:21: error: `EFD_CLOEXEC' undeclared (first use in this function)
    make: *** [event_notifier.o] Error 1

Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoconfigure: build position independent executables on x86-Linux hosts
Avi Kivity [Tue, 15 Nov 2011 18:12:17 +0000 (20:12 +0200)]
configure: build position independent executables on x86-Linux hosts

Change the default on x86 Linux hosts to building PIE (position
independent executables); instead of restricting the option to
user-only targets, apply it to all targets.

In addition, set the relocation sections to read-only (relro) when
available; this reduces the attack surface by disallowing changes to
relocation tables at runtime.

While PIE reduces performance and relro increases load time, it
greatly improves security, with the potential to reduce a code
execution vulnerability to a self denial of service.

Non-x86 are not changed, as they require TCG changes; neither are
non-Linux, due to lack of test coverage.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoivshmem: fix PCI BAR2 registration during initialization
Hongyong Zang [Mon, 21 Nov 2011 10:56:18 +0000 (18:56 +0800)]
ivshmem: fix PCI BAR2 registration during initialization

Ivshmem cannot work, and the command lspci cannot show ivshmem BAR2 in the guest.
As for pci_register_bar(), parameter MemoryRegion should be s->bar instead of s->ivshmem.

Reviewed-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Hongyong Zang <zanghongyong@huawei.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agomsix: avoid mask updates if mask is unchanged
Michael S. Tsirkin [Mon, 21 Nov 2011 16:57:50 +0000 (18:57 +0200)]
msix: avoid mask updates if mask is unchanged

Check pending bit only if vector mask status changed.
This is not really important for qemu.git but helps
fix a bug in qemu-kvm.git.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agomsix: Prevent bogus mask updates on MMIO accesses
Michael S. Tsirkin [Mon, 21 Nov 2011 16:57:31 +0000 (18:57 +0200)]
msix: Prevent bogus mask updates on MMIO accesses

>From: Jan Kiszka <jan.kiszka@siemens.com>

Only accesses to the MSI-X table must trigger a call to
msix_handle_mask_update, otherwise the vector
value might be out of range.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agomsix: track function masked in pci device state
Michael S. Tsirkin [Mon, 21 Nov 2011 16:57:21 +0000 (18:57 +0200)]
msix: track function masked in pci device state

Only go over the table when function is masked.
This is not really important for qemu.git but helps
fix a bug in qemu-kvm.git.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoInclude zlib.h using #include <>
Stefan Weil [Sun, 20 Nov 2011 11:34:30 +0000 (12:34 +0100)]
Include zlib.h using #include <>

zlib.h is not a local include file, therefore it should be included
using <> instead of "".

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years ago9p: pass dotl flags to the unlinkat method
Paolo Bonzini [Fri, 18 Nov 2011 16:35:38 +0000 (17:35 +0100)]
9p: pass dotl flags to the unlinkat method

AT_REMOVEDIR is not defined on all systems.  Pass the raw flags from the
9p protocol, which are always there.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years ago9p: allow compiling the dummy virtio-9p-handle.c code on Linux
Paolo Bonzini [Fri, 18 Nov 2011 16:35:37 +0000 (17:35 +0100)]
9p: allow compiling the dummy virtio-9p-handle.c code on Linux

Avoid a conflict on the definition of struct file_handle by
using a replacement name.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoqed: add migration blocker (v2)
Anthony Liguori [Mon, 14 Nov 2011 21:09:47 +0000 (15:09 -0600)]
qed: add migration blocker (v2)

Now when you try to migrate with qed, you get:

(qemu) migrate tcp:localhost:1025
Block format 'qed' used by device 'ide0-hd0' does not support feature 'live migration'
(qemu)

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoqcow2: implement bdrv_invalidate_cache (v2)
Anthony Liguori [Mon, 14 Nov 2011 21:09:46 +0000 (15:09 -0600)]
qcow2: implement bdrv_invalidate_cache (v2)

We don't reopen the actual file, but instead invoke the close and open routines.
We specifically ignore the backing file since it's contents are read-only and
therefore immutable.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoblock: allow migration to work with image files (v3)
Anthony Liguori [Mon, 14 Nov 2011 21:09:45 +0000 (15:09 -0600)]
block: allow migration to work with image files (v3)

Image files have two types of data: immutable data that describes things like
image size, backing files, etc. and mutable data that includes offset and
reference count tables.

Today, image formats aggressively cache mutable data to improve performance.  In
some cases, this happens before a guest even starts.  When dealing with live
migration, since a file is open on two machines, the caching of meta data can
lead to data corruption.

This patch addresses this by introducing a mechanism to invalidate any cached
mutable data a block driver may have which is then used by the live migration
code.

NB, this still requires coherent shared storage.  Addressing migration without
coherent shared storage (i.e. NFS) requires additional work.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoivshmem: use migration blockers to prevent live migration in peer mode (v2)
Anthony Liguori [Mon, 14 Nov 2011 21:09:44 +0000 (15:09 -0600)]
ivshmem: use migration blockers to prevent live migration in peer mode (v2)

Now when you try to migrate with ivshmem, you get a proper QMP error:

(qemu) migrate tcp:localhost:1025
Migration is disabled when using feature 'peer mode' in device 'ivshmem'
(qemu)

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agomigrate: add migration blockers
Anthony Liguori [Mon, 14 Nov 2011 21:09:43 +0000 (15:09 -0600)]
migrate: add migration blockers

This lets different subsystems register an Error that is thrown whenever
migration is attempted.  This works nicely because it gracefully supports
things like hotplug.

Right now, if multiple errors are registered, only one of them is reported.
I expect that for 1.1, we'll extend query-migrate to return all of the reasons
why migration is disabled at any given point in time.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoMerge remote-tracking branch 'kraxel/usb.31' into staging
Anthony Liguori [Mon, 21 Nov 2011 20:44:04 +0000 (14:44 -0600)]
Merge remote-tracking branch 'kraxel/usb.31' into staging

12 years agoMerge remote-tracking branch 'origin/master' into staging
Anthony Liguori [Mon, 21 Nov 2011 20:36:55 +0000 (14:36 -0600)]
Merge remote-tracking branch 'origin/master' into staging

12 years agousb-linux: fix /proc/bus/usb/devices scan
Gerd Hoffmann [Fri, 11 Nov 2011 16:14:15 +0000 (17:14 +0100)]
usb-linux: fix /proc/bus/usb/devices scan

Commit 0c402e5abb8c2755390eee864b43a98280fc2453 is incomplete
and misses one of the two function pointer calls in
usb_host_scan_dev().  Add the additional port handling logic
to the other call too.

Spotted by Coverity.

Cc: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agoehci: add assert
Gerd Hoffmann [Wed, 9 Nov 2011 11:20:20 +0000 (12:20 +0100)]
ehci: add assert

Coverity thinks q could be NULL there and warns.
I believe it can't be NULL there.
Add assert to prove it.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb-storage: don't try to send the status early.
Gerd Hoffmann [Mon, 21 Nov 2011 13:01:26 +0000 (14:01 +0100)]
usb-storage: don't try to send the status early.

Until recently all scsi commands sent to scsi-disk did either transfer
data or finished instantly.  The correct implementation of
SYNCRONIZE_CACHE changed the picture though, and usb-storage needs
a fix to handle that case correctly.

12 years agousb-storage: drop result from device state.
Gerd Hoffmann [Mon, 21 Nov 2011 10:41:30 +0000 (11:41 +0100)]
usb-storage: drop result from device state.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb-storage: drop tag from device state.
Gerd Hoffmann [Mon, 21 Nov 2011 10:36:17 +0000 (11:36 +0100)]
usb-storage: drop tag from device state.

scsi keeps track of the tag in SCSIRequest,
no need to store a separate copy.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb-storage: fill status in complete callback.
Gerd Hoffmann [Mon, 21 Nov 2011 10:29:27 +0000 (11:29 +0100)]
usb-storage: fill status in complete callback.

Put status word into device state, fill it in command_complete, have
usb_msd_send_status just send it out.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb-storage: move status debug message to usb_msd_send_status.
Gerd Hoffmann [Mon, 21 Nov 2011 10:17:59 +0000 (11:17 +0100)]
usb-storage: move status debug message to usb_msd_send_status.

usb_msd_send_status can be called from different code paths, move the
debug message into the function to make sure it is printed
unconditionally.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agox86: fix pcmpestrm and pcmpistrm
Blue Swirl [Sun, 13 Nov 2011 11:11:52 +0000 (11:11 +0000)]
x86: fix pcmpestrm and pcmpistrm

Fix obvious typos (decrement and off-by-one error) in pcmpestrm and pcmpistrm
which resulted in infinite loop. Reported by Frank Mehnert,
spotted also by Coverity (bug 84752853).

Reported-by: Frank Mehnert <frank.mehnert@oracle.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agoloader: Fix read_targphys() to behave when read() fails
Markus Armbruster [Wed, 16 Nov 2011 18:41:56 +0000 (19:41 +0100)]
loader: Fix read_targphys() to behave when read() fails

Happily passes (size_t)-1 to rom_add_blob_fixed(), which promptly dies
attempting to malloc that much.  Spotted by Coverity.

Bonus fix for ROMs larger than INT_MAX bytes: return ssize_t instead
of int.  Bug can't bite, because the only user load_aout() limits ROM
size to an int value.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>