]> git.proxmox.com Git - qemu.git/log
qemu.git
12 years agoUpdate version for v1.0-rc1 v1.0-rc1
Anthony Liguori [Mon, 7 Nov 2011 16:57:45 +0000 (10:57 -0600)]
Update version for v1.0-rc1

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoconsole: Fix rendering of VGA underline
Markus Armbruster [Fri, 4 Nov 2011 09:38:29 +0000 (10:38 +0100)]
console: Fix rendering of VGA underline

vga_putcharxy()'s underline code sets font_data to 0xffff instead of
0xff.  vga_putcharxy() then reads dmask16[0xffff >> 4] and
dmask4[0xffff >> 6].  In practice, these out-of-bounds subscripts
"only" put a few crap bits into the display surface.

For 32 bit pixels, there's no array access.  font_data's extra bits go
straight into the display surface.

Broken when commit 6d6f7c28 implemented underline.

Spotted by Coverity.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoqemu_timedate_diff() shouldn't modify its argument.
Gleb Natapov [Sun, 6 Nov 2011 16:00:22 +0000 (18:00 +0200)]
qemu_timedate_diff() shouldn't modify its argument.

The caller of qemu_timedate_diff() does not expect that tm it passes to
the function will be modified, but mktime() is destructive and modifies
its argument. Pass a copy of tm to it and set tm_isdst so that mktime()
will not rely on it since its value may be outdated.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoreenable vm_clock when resuming all vcpus
Wen Congyang [Fri, 4 Nov 2011 02:45:58 +0000 (10:45 +0800)]
reenable vm_clock when resuming all vcpus

We disable vm_clock when pausing all vcpus, but we forget to
reenable it when resuming all vcpus. It will cause that the
guest can not be rebooted.

Tested-by: Zhi Yong Wu <zwu.kernel@gmai.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoqxl: fix vga port initialization.
Gerd Hoffmann [Thu, 3 Nov 2011 17:21:54 +0000 (18:21 +0100)]
qxl: fix vga port initialization.

Commit 0a039dc70096b768d3810afa50ba1d214768aaf4 broke vga modes for
qxl-vga by loosing vga_ioport_read windup.  qxl needs to hook into
vga port writes only and used to realize that by letting vga_init() do
the work for both reads and writes, then overwrite the write function.
That little detail was missed while doing the conversion ...

This patch fixes it.  It also switch qxl vga ioport registration to
portio lists while being at it.

Cc: Hans de Goede <hdegoede@redhat.com>
Acked-by: Alon Levy <alevy@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoac97: don't override the pci subsystem id
Gerd Hoffmann [Mon, 7 Nov 2011 15:33:09 +0000 (16:33 +0100)]
ac97: don't override the pci subsystem id

This patch removes the code lines which set the subsystem id for the
emulated ac97 card to 8086:0000.  Due to the device id being zero the
subsystem id isn't vaild anyway.  With the patch applied the sound card
gets the default qemu subsystem id (1af4:1100) instead.

[ v2: old & broken id is maintained for -M pc-$oldqemuversion ]

Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agopc: add 1.0 machine type
Gerd Hoffmann [Mon, 7 Nov 2011 15:33:08 +0000 (16:33 +0100)]
pc: add 1.0 machine type

This patch adds a pc-1.0 machine type.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agodisable automatic loading of sgabios when -nographic
Paolo Bonzini [Thu, 3 Nov 2011 15:00:22 +0000 (16:00 +0100)]
disable automatic loading of sgabios when -nographic

sgabios hasn't gotten a lot of coverage since it was not shipped.  For 1.0,
let's disable the automatic loading of the option ROM in -nographic
mode.  We can put it back for 1.1.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoadd sgabios blob and submodule
Paolo Bonzini [Thu, 3 Nov 2011 14:14:00 +0000 (15:14 +0100)]
add sgabios blob and submodule

The rom was not added together with the sgabios device and is
not installed.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoMerge remote-tracking branch 'kwolf/for-anthony' into staging
Anthony Liguori [Mon, 7 Nov 2011 16:57:27 +0000 (10:57 -0600)]
Merge remote-tracking branch 'kwolf/for-anthony' into staging

12 years agoMerge remote-tracking branch 'stefanha/trivial-patches' into staging
Anthony Liguori [Mon, 7 Nov 2011 16:56:38 +0000 (10:56 -0600)]
Merge remote-tracking branch 'stefanha/trivial-patches' into staging

12 years agoxen-platform: Fix IO port read/write functions
Anthony PERARD [Fri, 4 Nov 2011 15:35:11 +0000 (15:35 +0000)]
xen-platform: Fix IO port read/write functions

Somehow, the read/write functions handle an offset that does not exist anymore.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoreadline: Fix buffer overrun on re-add to history
Markus Armbruster [Fri, 4 Nov 2011 10:10:01 +0000 (11:10 +0100)]
readline: Fix buffer overrun on re-add to history

readline_hist_add() moves the history entry to the end of history.  It
uses memmove() to move rs->history[idx + 1..] to rs->history[idx..].
However, its size argument is off by two array elements, so it writes
one element beyond rs->history[], and reads two.

On my system, this clobbers rs->hist_entry and the hole right after
it.  Since the function assigns to rs->hist_entry in time, the bug has
no ill effects for me.

Spotted by Coverity.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agocmd: Fix potential memory leak
Pavel Borzenkov [Mon, 31 Oct 2011 18:53:38 +0000 (22:53 +0400)]
cmd: Fix potential memory leak

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agocmd: Fix potential NULL pointer dereference
Pavel Borzenkov [Mon, 31 Oct 2011 18:53:37 +0000 (22:53 +0400)]
cmd: Fix potential NULL pointer dereference

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agocmd: Fix coding style in cmd.c
Pavel Borzenkov [Mon, 31 Oct 2011 18:53:36 +0000 (22:53 +0400)]
cmd: Fix coding style in cmd.c

Before the next patches, fix coding style of the affected functions.

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoarm_gic: handle banked enable bits for per-cpu interrupts
Rabin Vincent [Sun, 6 Nov 2011 16:01:08 +0000 (16:01 +0000)]
arm_gic: handle banked enable bits for per-cpu interrupts

The first enable set/clear register (which controls the PPIs and SGIs)
is supposed to be banked for each processor.  Currently it is just
handled globally and this prevents recent SMP Linux kernels from
booting, because CPU0 stops receiving localtimer interrupts when CPU1
disables them locally.

To fix this, allow the enable bits to be enabled per-cpu.  For SPIs,
always enable/disable ALL_CPU_MASK.

Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12 years agovvfat: reorganize computation of disk geometry
Paolo Bonzini [Fri, 4 Nov 2011 16:21:53 +0000 (17:21 +0100)]
vvfat: reorganize computation of disk geometry

First determine FAT12/16/32, then compute geometry from that for both
FDD and HDD.  For 1.44MB floppies, and 2.88MB floppies using FAT16,
change to 1 sector/cluster.  The default remains 2.88MB with FAT12
and 2 sectors/cluster.  Both DOS and mkdosfs by default format a 2.88MB
floppy as FAT12.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agovvfat: do not hardcode sector counts in error message
Paolo Bonzini [Wed, 5 Oct 2011 07:12:07 +0000 (09:12 +0200)]
vvfat: do not hardcode sector counts in error message

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agovvfat: unify and correct computation of sector count
Paolo Bonzini [Wed, 5 Oct 2011 07:12:06 +0000 (09:12 +0200)]
vvfat: unify and correct computation of sector count

The sector count is stored in the partition and hence must not include the
sectors before its start.  At the same time, remove the useless special
casing for 1.44 MB floppies.  This fixes fsck on VVFAT hard disks,
which otherwise tries to seek past the end of the disk.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agovvfat: need to use first_sectors_number to distinguish fdd/hdd
Paolo Bonzini [Wed, 5 Oct 2011 07:12:05 +0000 (09:12 +0200)]
vvfat: need to use first_sectors_number to distinguish fdd/hdd

This is consistent with what "real" floppies have, so file(1)
now actually recognizes the VVFAT image as a 1.44 MB floppy.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agovvfat: do not fail if the disk has spare sectors
Paolo Bonzini [Wed, 5 Oct 2011 07:12:04 +0000 (09:12 +0200)]
vvfat: do not fail if the disk has spare sectors

If the number of "faked sectors" + the number of sectors that are
part of a cluster does not sum up to the total number of sectors,
qemu-img convert fails.  Read these spare sectors as all zeros.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agovvfat: fix out of bounds array_get usage
Paolo Bonzini [Wed, 5 Oct 2011 07:12:03 +0000 (09:12 +0200)]
vvfat: fix out of bounds array_get usage

When reading the address of the first free entry, you cannot
use array_get without first marking all entries as occupied.

This is visible if you change the sectors per cluster on a
floppy from 2 to 1.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agoblock/cloop: Use g_free instead of free
Dong Xu Wang [Wed, 2 Nov 2011 08:36:21 +0000 (16:36 +0800)]
block/cloop: Use g_free instead of free

Fix mismatching allocation and deallocation: g_free should be used to pair with
g_malloc.

Reviewed-by: Andreas Färber <afaerber@suse.de>
Reviewed_by: Ray Wang <raywang@linux.vnet.ibm.com>
Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agoblock/cloop: Fix coding style
Dong Xu Wang [Wed, 2 Nov 2011 08:36:20 +0000 (16:36 +0800)]
block/cloop: Fix coding style

Fix coding style in block/cloop.c.

Reviewed-by: Andreas Färber <afaerber@suse.de>
Reviewed_by: Ray Wang <raywang@linux.vnet.ibm.com>
Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agodma: Avoid reentrancy in DMA transfer handlers
Kevin Wolf [Fri, 28 Oct 2011 09:28:13 +0000 (05:28 -0400)]
dma: Avoid reentrancy in DMA transfer handlers

With the conversion of the block layer to coroutines, bdrv_read/write
have changed to run a nested event loop that calls qemu_bh_poll.
Consequently a scheduled BH can be called while a DMA transfer handler
runs and this means that DMA_run becomes reentrant.

Devices haven't been designed to cope with that, so instead of running a
nested transfer handler just wait for the next invocation of the BH from the
main loop.

This fixes some problems with the floppy device.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agoqemu-io: Fix multiwrite_f error handling
Kevin Wolf [Mon, 31 Oct 2011 10:49:21 +0000 (11:49 +0100)]
qemu-io: Fix multiwrite_f error handling

Without this fix, some qiovs can be leaked if an error occurs. Also a semicolon
at the end of the command line would make the code walk beyond the end of argv.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agoqemu-io: Handle create_iovec errors
Kevin Wolf [Mon, 31 Oct 2011 10:36:32 +0000 (11:36 +0100)]
qemu-io: Handle create_iovec errors

Callers of create_iovec() didn't check for failure and continued with
uninitialised data in error cases. This patch adds checks to each call.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agoMerge branch 'xtensa' of git://jcmvbkbc.spb.ru/dumb/qemu-xtensa
Blue Swirl [Wed, 2 Nov 2011 20:52:23 +0000 (20:52 +0000)]
Merge branch 'xtensa' of git://jcmvbkbc.spb.ru/dumb/qemu-xtensa

* 'xtensa' of git://jcmvbkbc.spb.ru/dumb/qemu-xtensa:
  xtensa_lx60: fix build date code and change memory region names
  xtensa_lx60: pass kernel arguments from -append
  xtensa_lx60: add FLASH support
  target-xtensa: raise an exception for invalid and reserved opcodes
  target-xtensa: handle cache options in the overlay tool
  target-xtensa: mask out undefined bits of WINDOWSTART SR

12 years agoMerge branch 'tci' of git://qemu.weilnetz.de/qemu
Blue Swirl [Wed, 2 Nov 2011 20:52:13 +0000 (20:52 +0000)]
Merge branch 'tci' of git://qemu.weilnetz.de/qemu

* 'tci' of git://qemu.weilnetz.de/qemu:
  tcg: Add tcg interpreter to configure / make
  tcg: Add tci disassembler
  tcg: Add interpreter for bytecode
  tcg: Add bytecode generator for tcg interpreter
  tcg: Make ARRAY_SIZE(tcg_op_defs) globally available
  tcg: TCG targets may define tcg_qemu_tb_exec

12 years agoMerge remote-tracking branch 'aneesh/for-upstream-8' into staging
Anthony Liguori [Wed, 2 Nov 2011 17:30:00 +0000 (12:30 -0500)]
Merge remote-tracking branch 'aneesh/for-upstream-8' into staging

12 years agoMerge remote-tracking branch 'qemu-kvm-tmp/memory/int128' into staging
Anthony Liguori [Wed, 2 Nov 2011 17:28:59 +0000 (12:28 -0500)]
Merge remote-tracking branch 'qemu-kvm-tmp/memory/int128' into staging

12 years agoFix X86 CPU topology in KVM mode
Bharata B Rao [Wed, 2 Nov 2011 08:46:08 +0000 (14:16 +0530)]
Fix X86 CPU topology in KVM mode

apic id returned to guest kernel in ebx for cpuid(function=1) depends on
CPUX86State->cpuid_apic_id which gets populated after the cpuid information
is cached in the host kernel. This results in broken CPU topology in guest.

Fix this by setting cpuid_apic_id before cpuid information is passed to
the host kernel. This is done by moving the setting of cpuid_apic_id
to cpu_x86_init() where it will work for both KVM as well as TCG modes.

Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Bharata B Rao <bharata.rao@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agointel-hda: fix stream search
Gerd Hoffmann [Wed, 2 Nov 2011 11:56:14 +0000 (12:56 +0100)]
intel-hda: fix stream search

commit ba43d28916c4f51c19bd7366089155ce81bee058 introduces a bug:
The stream-not-found case doesn't error out any more, instead the
code silently uses the first stream.  Fix it.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agovirtio-blk: pass full status to the guest
Paolo Bonzini [Wed, 2 Nov 2011 12:19:40 +0000 (13:19 +0100)]
virtio-blk: pass full status to the guest

When SCSI passthrough is being used by the guest with virtio-blk, the
guest is not able to detect disk failures.  This is because the status
field is expected by the guest driver to include also the msg_status,
host_status and driver_status fields, but the device is only passing
down the SCSI status.

The patch fixes this, and also makes sure that the guest always sees a
CHECK_CONDITION status when there is valid sense data.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agohw/9pfs: use g_vasprintf() instead of rolling our own
Stefan Hajnoczi [Wed, 2 Nov 2011 07:27:15 +0000 (12:57 +0530)]
hw/9pfs: use g_vasprintf() instead of rolling our own

Markus Armbruster <armbru@redhat.com> sent fixes for va_list vararg
issues in v9fs_string_alloc_printf().  It turns out the function
duplicates g_vasprintf() and can therefore be eliminated entirely.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
12 years agoxtensa_lx60: fix build date code and change memory region names
Max Filippov [Sun, 30 Oct 2011 17:18:27 +0000 (21:18 +0400)]
xtensa_lx60: fix build date code and change memory region names

Fix date code to uses MMDDYYYY notation.
Change memory region names to reflect specification that defines them.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
12 years agoxtensa_lx60: pass kernel arguments from -append
Max Filippov [Sun, 30 Oct 2011 17:24:26 +0000 (21:24 +0400)]
xtensa_lx60: pass kernel arguments from -append

Create boot parameters in the end of SRAM region, insert kernel
arguments specified in -append there.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
12 years agoxtensa_lx60: add FLASH support
Max Filippov [Sun, 30 Oct 2011 17:21:15 +0000 (21:21 +0400)]
xtensa_lx60: add FLASH support

LX60 carry 4 Mbyte FLASH and 128 Kbyte SRAM, LX200 carry 16 Mbyte FLASH
and 32 Mbyte SRAM. Either of these memories may be mapped to the system
ROM region.

Select boot from FLASH if -kernel option is not specified, otherwise
boot from SRAM.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
12 years agotarget-xtensa: raise an exception for invalid and reserved opcodes
Max Filippov [Tue, 25 Oct 2011 14:24:09 +0000 (18:24 +0400)]
target-xtensa: raise an exception for invalid and reserved opcodes

This includes opcodes from disabled features and those marked reserved in the ISA.
Also end TB on opcodes that definitely generate an exception: illegal
instructions, syscall and privileged instructions.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
12 years agotarget-xtensa: handle cache options in the overlay tool
Max Filippov [Mon, 24 Oct 2011 00:22:47 +0000 (04:22 +0400)]
target-xtensa: handle cache options in the overlay tool

Cache options must be enabled for the cores that have cache to avoid
illegal instruction exceptions.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
12 years agotarget-xtensa: mask out undefined bits of WINDOWSTART SR
Max Filippov [Mon, 31 Oct 2011 21:51:02 +0000 (01:51 +0400)]
target-xtensa: mask out undefined bits of WINDOWSTART SR

According to ISA, table 5-156, bits 32:NAREG/4 of the WINDOWSTART SR
must be zero.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
12 years agoBump version to 1.0-rc0 v1.0-rc0
Anthony Liguori [Wed, 2 Nov 2011 00:37:01 +0000 (19:37 -0500)]
Bump version to 1.0-rc0

Look out 1.0, here we come!

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoRevert "virtio: Add PCI memory BAR in addition to PIO BAR"
Anthony Liguori [Wed, 2 Nov 2011 00:32:21 +0000 (19:32 -0500)]
Revert "virtio: Add PCI memory BAR in addition to PIO BAR"

This reverts commit 46d95bfec7f9429d5228078219413d7e33496d65.

12 years agoMerge remote-tracking branch 'afaerber/cocoa-for-upstream' into staging
Anthony Liguori [Tue, 1 Nov 2011 22:29:24 +0000 (17:29 -0500)]
Merge remote-tracking branch 'afaerber/cocoa-for-upstream' into staging

12 years agoMerge branch 'master' of git://git.qemu.org/qemu
malc [Tue, 1 Nov 2011 22:16:34 +0000 (02:16 +0400)]
Merge branch 'master' of git://git.qemu.org/qemu

12 years agoMerge branch 'master' of git://git.qemu.org/qemu
malc [Tue, 1 Nov 2011 22:14:19 +0000 (02:14 +0400)]
Merge branch 'master' of git://git.qemu.org/qemu

12 years agotcg: Fix whitespace in tcg-op.h.
Richard Henderson [Tue, 1 Nov 2011 22:06:43 +0000 (15:06 -0700)]
tcg: Fix whitespace in tcg-op.h.

Removing the only tabs in the file.

Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: malc <av1474@comtv.ru>
12 years agotcg: Fix regression in tcg_gen_deposit_i64.
Richard Henderson [Tue, 1 Nov 2011 22:06:42 +0000 (15:06 -0700)]
tcg: Fix regression in tcg_gen_deposit_i64.

The error being caused by the failure to copy the other half of
the input to the output after having narrowed the deposit operation.

Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: malc <av1474@comtv.ru>
12 years agopcnet: Add link state support
Jan Kiszka [Fri, 7 Oct 2011 10:27:25 +0000 (12:27 +0200)]
pcnet: Add link state support

Update lnkst on link state changes so that guests can obtain this
information via reading back the LED output pin. Works for Linux but
not for guests that depend on the missing PHY.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agopcnet-pci: Fix PIO word access to PROM
Jan Kiszka [Mon, 26 Sep 2011 17:01:45 +0000 (19:01 +0200)]
pcnet-pci: Fix PIO word access to PROM

Implement the various IO access widths according to the spec. This
specifically unbreaks word and dword access to the PROM area that is
mapped into IO space. It also drops redundant upper limit checks and
spurious "return void".

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agopcnet: Move BCR defines to header
Jan Kiszka [Mon, 26 Sep 2011 17:01:44 +0000 (19:01 +0200)]
pcnet: Move BCR defines to header

This moves BCR defines to the common header and immediately makes use of
them to add BCR_APROMWE, replacing the open-coded write check in
pcnet_aprom_writeb.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoSort the help info shown in monitor at runtime
Wayne Xia [Wed, 12 Oct 2011 03:32:41 +0000 (11:32 +0800)]
Sort the help info shown in monitor at runtime

This patch would try sort the command list in monitor at runtime. As a result,
command help and help info would show a more friendly sorted command list.
For eg:
(qemu)help
acl_add
acl_policy
acl_remove
acl_reset
acl_show
balloon
block_passwd
...
the command list is sorted.

v3: using qsort function to sort the command list.

Tested-by: Wenyi Gao <wenyi@linux.vnet.ibm.com>
Signed-off-by: Wayne Xia <xiawenc@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoevent_notifier: move to top-level directory
Avi Kivity [Tue, 27 Sep 2011 14:26:23 +0000 (17:26 +0300)]
event_notifier: move to top-level directory

Has no business in hw/.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoMove filedescriptor parsing code from net.c into qemu_parse_fd()
Stefan Berger [Wed, 28 Sep 2011 10:41:32 +0000 (06:41 -0400)]
Move filedescriptor parsing code from net.c into qemu_parse_fd()

Move the parsing of a filedescriptor into a common function
qemu_parse_fd() so others can use it as well. Have net.c call this
function.

v2:
 - moving qemu_parse_fd into cutils.c

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoconfigure: Suppress messages from pkg_config probe for check
Peter Maydell [Tue, 1 Nov 2011 18:32:55 +0000 (18:32 +0000)]
configure: Suppress messages from pkg_config probe for check

Suppress confusing messages from pkg_config when probing for
'check' by sending them to /dev/null as we do with other
similar probes.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agovirtio: Add PCI memory BAR in addition to PIO BAR
David Gibson [Fri, 30 Sep 2011 05:26:16 +0000 (15:26 +1000)]
virtio: Add PCI memory BAR in addition to PIO BAR

Currently, virtio devices are usually presented to the guest as an
emulated PCI device, virtio_pci.  Although the actual IO operations
are done through system memory, the configuration of the virtio device
is done through the one PCI IO space BAR that virtio_pci presents.

But PCI IO space (aka PIO) is deprecated for modern PCI devices, and
on some systems with many PCI domains accessing PIO space can be
problematic.  For example on the existing PowerVM implementation of
the PAPR spec, PCI PIO access is not supported at all.  We're hoping
that our KVM implementation will support PCI PIO (once we support PCI
at all), but it will probably have some irritating limitations.

This patch, therefore, extends the virtio_pci device to have a PCI
memory space (MMIO) BAR as well as the IO BAR.  The MMIO BAR contains
exactly the same registers, in exactly the same layout as the existing
PIO BAR.

Because the PIO BAR is still present, existing guest drivers should
still work fine.  With this change in place, future guest drivers can
check for an MMIO BAR and use that if present (falling back to PIO
when possible to support older qemu versions).

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agousb-uhci: Use PCI DMA stub functions
David Gibson [Mon, 31 Oct 2011 06:06:58 +0000 (17:06 +1100)]
usb-uhci: Use PCI DMA stub functions

This updates the usb-uhci device emulation to use the explicit PCI DMA
wrapper to initialize its scatter/gathjer structure.  This means this
driver should not need further changes when the sglist interface is
extended to support IOMMUs.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agousb-ehci: Use PCI DMA stub functions
David Gibson [Mon, 31 Oct 2011 06:06:57 +0000 (17:06 +1100)]
usb-ehci: Use PCI DMA stub functions

This updates the usb-ehci device emulation to use the explicit PCI DMA
wrapper to initialize its scatter/gathjer structure.  This means this
driver should not need further changes when the sglist interface is
extended to support IOMMUs.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoPCI IDE: Use PCI DMA stub functions
David Gibson [Mon, 31 Oct 2011 06:06:56 +0000 (17:06 +1100)]
PCI IDE: Use PCI DMA stub functions

This updates the PCI IDE device emulation to use the explicit PCI DMA
wrapper to initialize its scatter/gathjer structure.  This means this
driver should not need further changes when the sglist interface is
extended to support IOMMUs.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agointel-hda: Use PCI DMA stub functions
David Gibson [Mon, 31 Oct 2011 06:06:55 +0000 (17:06 +1100)]
intel-hda: Use PCI DMA stub functions

This updates the intel-hda device emulation to use the explicit PCI DMA
functions, instead of directly calling physical memory access functions.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agopcnet-pci: Use PCI DMA stub functions
Eduard - Gabriel Munteanu [Mon, 31 Oct 2011 06:06:54 +0000 (17:06 +1100)]
pcnet-pci: Use PCI DMA stub functions

This updates the pcnet-pci device emulation to use the explicit PCI DMA
functions, instead of directly calling physical memory access functions.

Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agolsi53c895a: Use PCI DMA stub functions
Eduard - Gabriel Munteanu [Mon, 31 Oct 2011 06:06:53 +0000 (17:06 +1100)]
lsi53c895a: Use PCI DMA stub functions

This updates the lsi53c895a device emulation to use the explicit PCI DMA
functions, instead of directly calling physical memory access functions.

Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoe1000: Use PCI DMA stub functions
Eduard - Gabriel Munteanu [Mon, 31 Oct 2011 06:06:52 +0000 (17:06 +1100)]
e1000: Use PCI DMA stub functions

This updates the e1000 device emulation to use the explicit PCI DMA
functions, instead of directly calling physical memory access functions.

Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoes1370: Use PCI DMA stub functions
Eduard - Gabriel Munteanu [Mon, 31 Oct 2011 06:06:51 +0000 (17:06 +1100)]
es1370: Use PCI DMA stub functions

This updates the es1370 device emulation to use the explicit PCI DMA
functions, instead of directly calling physical memory access functions.

Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoac97: Use PCI DMA stub functions
Eduard - Gabriel Munteanu [Mon, 31 Oct 2011 06:06:50 +0000 (17:06 +1100)]
ac97: Use PCI DMA stub functions

This updates the ac97 device emulation to use the explicit PCI DMA
functions, instead of directly calling physical memory access functions.

Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoeepro100: Use PCI DMA stub functions
Eduard - Gabriel Munteanu [Mon, 31 Oct 2011 06:06:49 +0000 (17:06 +1100)]
eepro100: Use PCI DMA stub functions

This updates the eepro100 device emulation to use the explicit PCI DMA
functions, instead of directly calling physical memory access functions.

Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agortl8139: Use PCI DMA stub functions
Eduard - Gabriel Munteanu [Mon, 31 Oct 2011 06:06:48 +0000 (17:06 +1100)]
rtl8139: Use PCI DMA stub functions

This updates the rtl8139 device emulation to use the explicit PCI DMA
functions, instead of directly calling physical memory access functions.

Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoAdd stub functions for PCI device models to do PCI DMA
David Gibson [Mon, 31 Oct 2011 06:06:47 +0000 (17:06 +1100)]
Add stub functions for PCI device models to do PCI DMA

This patch adds functions to pci.[ch] to perform PCI DMA operations.
At present, these are just stubs which perform directly cpu physical
memory accesses.  Stubs are included which are analogous to
cpu_physical_memory_{read,write}(), the stX_phys() and ldX_phys()
functions and cpu_physical_memory_{map,unmap}().

In addition, a wrapper around qemu_sglist_init() is provided, which
also takes a PCIDevice *.  It's assumed that _init() is the only
sglist function which will need wrapping, the idea being that once we
have IOMMU support whatever IOMMU context handle the wrapper derives
from the PCI device will be stored within the sglist structure for
later use.

Using these stubs, however, distinguishes PCI device DMA transactions from
other accesses to physical memory, which will allow PCI IOMMU support to
be added in one place, rather than updating every PCI driver at that time.

That is, it allows us to update individual PCI drivers to support an IOMMU
without having yet determined the details of how the IOMMU emulation will
operate.  This will let us remove the most bitrot-sensitive part of an
IOMMU patch in advance.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoUse dma_addr_t type for scatter/gather code
David Gibson [Mon, 31 Oct 2011 06:06:46 +0000 (17:06 +1100)]
Use dma_addr_t type for scatter/gather code

This patch uses the newly created dma_addr_t type throughout the
scatter/gather handling code in dma-helpers.c whenever we need to
represent a dma bus address.  This makes a better distinction as to
what is a bus address and what is a cpu physical address.  Since we
don't support IOMMUs yet, they can't be very different for now, but
that will change in future, and this preliminary helps clarify what's
going on.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoDefine DMA address and direction types
David Gibson [Mon, 31 Oct 2011 06:06:45 +0000 (17:06 +1100)]
Define DMA address and direction types

As a preliminary to adding more extensive DMA and IOMMU infrastructure
support into qemu, this patch defines a dma_addr_t for storing DMA bus
addresses and a DMADirection enum which describes whether a DMA is
from an external device to main memory or from main memory to an
external device.

For now dma_addr_t is just defined to be target_phys_addr_t, but in
future, we can change this to support machines where we have bus
addresses which don't necessarily have the same format as CPU physical
addresses.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agops2: migrate ledstate
Christophe Fergeau [Mon, 17 Oct 2011 11:37:34 +0000 (13:37 +0200)]
ps2: migrate ledstate

Make the ps2 device track its ledstate so that we can migrate it.
Otherwise it gets lost across migration, and spice-server gets
confused about the actual keyboard state and sends bogus
caps/scroll/num key events. This fixes RH bug #729294

We only need to migrate the state when it is different of the default
one (0).

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoui/vnc: Fix use of free() instead of g_free()
Stefan Weil [Fri, 7 Oct 2011 19:15:20 +0000 (21:15 +0200)]
ui/vnc: Fix use of free() instead of g_free()

Please note that mechlist still uses malloc / strdup / free.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agocheckpatch: remove rule on non-indented labels
Paolo Bonzini [Fri, 7 Oct 2011 13:59:01 +0000 (15:59 +0200)]
checkpatch: remove rule on non-indented labels

There are 508 non-indented (non-default) labels, and 511 that are
indented.  So the rule is debatable at least.  Actually, in the
common case of labels at the outermost scope, there is really just
one place where to put the label, so the rule is just wrong IMHO.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agosavevm: qemu_fille_buffer() used to return one error for reads of size 0.
Juan Quintela [Tue, 25 Oct 2011 17:18:58 +0000 (19:18 +0200)]
savevm: qemu_fille_buffer() used to return one error for reads of size 0.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agokvm_init didn't set return value after create vm failed
Xu He Jie [Thu, 27 Oct 2011 02:15:13 +0000 (10:15 +0800)]
kvm_init didn't set return value after create vm failed

And kvm_ioctl(s, KVM_CREATE_VM, 0)'s return value can be < -1,
so change the check of vmfd at label 'err'.

Signed-off-by: Xu He Jie <xuhj@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agospapr: fix build
Anthony Liguori [Tue, 1 Nov 2011 21:49:17 +0000 (16:49 -0500)]
spapr: fix build

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoRevert "PPC: Fail configure when libfdt is not available"
Blue Swirl [Tue, 1 Nov 2011 20:59:32 +0000 (20:59 +0000)]
Revert "PPC: Fail configure when libfdt is not available"

This reverts commit f90a9d02401eeeec18a122b61ccccb91244f321c.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agoMerge branch 'ppc-next' of git://repo.or.cz/qemu/agraf
Blue Swirl [Tue, 1 Nov 2011 20:57:01 +0000 (20:57 +0000)]
Merge branch 'ppc-next' of git://repo.or.cz/qemu/agraf

* 'ppc-next' of git://repo.or.cz/qemu/agraf: (24 commits)
  pseries: Add partial support for PCI
  ppc: Alter CPU state to mask out TCG unimplemented instructions as appropriate
  pseries: Allow writes to KVM accelerated TCE table
  KVM: PPC: Override host vmx/vsx/dfp only when information known
  ppc: Fix up usermode only builds
  pseries: Correct vmx/dfp handling in both KVM and TCG cases
  PPC: Fail configure when libfdt is not available
  ppc: Avoid decrementer related kvm exits
  PPC: Disable non-440 CPUs for ppcemb target
  PPC: Bump qemu-system-ppc to 64-bit physical address space
  pseries: Under kvm use guest cpu = host cpu by default
  ppc: Add cpu defs for POWER7 revisions 2.1 and 2.3
  ppc: First cut implementation of -cpu host
  ppc: Remove broken partial PVR matching
  pseries: Update SLOF firmware image
  pseries: Add device tree properties for VMX/VSX and DFP under kvm
  ppc: Generalize the kvmppc_get_clockfreq() function
  Set an invalid-bits mask for each SPE instructions
  pseries: Update SLOF firmware image
  pseries: Use Book3S-HV TCE acceleration capabilities
  ...

12 years agococoa: Close sheet after image file selection
Andreas Färber [Sun, 30 Oct 2011 22:19:54 +0000 (23:19 +0100)]
cocoa: Close sheet after image file selection

If no disk image is specified, the Cocoa frontend displays a modal sheet
to let the user select an image file to boot from.

This sheet is never closed and it permanently obscures the emulator window.

Close it after obtaining the file name in case the user did select a file.
Otherwise we exit immediately, so no need to close then.

Signed-off-by: Juan Pineda <juan@logician.com>
Signed-off-by: Andreas Färber <andreas.faerber@web.de>
12 years agovl.c: Guard against GThread double-initialization
Andreas Färber [Mon, 31 Oct 2011 18:14:56 +0000 (19:14 +0100)]
vl.c: Guard against GThread double-initialization

GThread-ERROR **: GThread system may only be initialized once.
aborting...

Making the g_thread_init() call in vl.c conditional resolves an abort on
Mac OS X, where coroutine-gthread.c seems to call it before vl.c.

Reported-by: Juan Pineda <juan@logician.com>
Signed-off-by: Andreas Färber <andreas.faerber@web.de>
Cc: Daniel P. Berrange <berrange@redhat.com>
12 years agoMAINTAINERS: Add Cocoa maintainer
Andreas Färber [Sun, 30 Oct 2011 17:08:01 +0000 (18:08 +0100)]
MAINTAINERS: Add Cocoa maintainer

Degrade cocoa.m from Maintained to Odd Fixes.

Signed-off-by: Andreas Färber <andreas.faerber@web.de>
Cc: Anthony Liguori <aliguori@us.ibm.com>
12 years agoMerge remote-tracking branch 'kraxel/usb.29' into staging
Anthony Liguori [Tue, 1 Nov 2011 18:09:31 +0000 (13:09 -0500)]
Merge remote-tracking branch 'kraxel/usb.29' into staging

12 years agoMerge remote-tracking branch 'stefanha/tracing' into staging
Anthony Liguori [Tue, 1 Nov 2011 18:08:33 +0000 (13:08 -0500)]
Merge remote-tracking branch 'stefanha/tracing' into staging

12 years agoMerge remote-tracking branch 'spice/spice.v46' into staging
Anthony Liguori [Tue, 1 Nov 2011 18:06:46 +0000 (13:06 -0500)]
Merge remote-tracking branch 'spice/spice.v46' into staging

12 years agoMerge remote-tracking branch 'stefanha/trivial-patches' into staging
Anthony Liguori [Tue, 1 Nov 2011 18:06:17 +0000 (13:06 -0500)]
Merge remote-tracking branch 'stefanha/trivial-patches' into staging

12 years agoopencores_eth: fix RX path: FCS, padding and TL
Max Filippov [Thu, 27 Oct 2011 22:10:27 +0000 (02:10 +0400)]
opencores_eth: fix RX path: FCS, padding and TL

OpenCores 10/100 Mbps Ethernet MAC specification doesn't clearly state
whether FCS is counted in the RX frame length or not. Looks like it is.
Append zero FCS to the received frames.

Get rid of big static buffer for RX frame padding, optimize it for the
most common MINFL value range.

Set RXD_TL for the long frames only when HUGEN bit is set.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agomigration: flush migration data to disk.
Gerd Hoffmann [Thu, 27 Oct 2011 07:12:04 +0000 (09:12 +0200)]
migration: flush migration data to disk.

This patch increases robustness when migrating to a file with
two little changes:

 (1) Before closing the migration file handle checks if it happens to be
     a regular file and if so it issues a fsync.  This way the data is
     flushed to disk before qemu sends the migration completed event.
 (2) It adds error checking.  In case either fsync or close syscall
     fails pass up the error (and fail migration).

[ v2: return -errno instead of -1 ]

Cc: Juan Quintela <quintela@redhat.com>
Cc: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoadd test-coroutine to checks
Gerd Hoffmann [Thu, 1 Sep 2011 15:42:19 +0000 (17:42 +0200)]
add test-coroutine to checks

There is a "test-coroutine" which isn't in the list.
Add it so "make check" runs it too.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoadd "make check" target
Gerd Hoffmann [Thu, 1 Sep 2011 15:42:18 +0000 (17:42 +0200)]
add "make check" target

Add some Makefile glue so we have a simple "make check"
to run the unit tests.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agomove checks to separate variable
Gerd Hoffmann [Thu, 1 Sep 2011 15:42:17 +0000 (17:42 +0200)]
move checks to separate variable

Create a new CHECKS variable.  Put the checks there instead
of adding them to the TOOLS variable.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoProbe for libcheck by default.
Gerd Hoffmann [Thu, 1 Sep 2011 15:42:16 +0000 (17:42 +0200)]
Probe for libcheck by default.

Probe for libcheck and build checks (if found) by default.
Can be explicitly disabled using --disable-check-utests.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoia64-dis.c: Undefine ABS to avoid clash with glib
Peter Maydell [Sat, 29 Oct 2011 11:58:26 +0000 (12:58 +0100)]
ia64-dis.c: Undefine ABS to avoid clash with glib

Undefine ABS to avoid a clash with the macro that glib.h
helpfully defines for us (and a resulting build failure
on ia64 hosts).

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoFix segfault on migration completion
Luiz Capitulino [Fri, 28 Oct 2011 16:59:52 +0000 (14:59 -0200)]
Fix segfault on migration completion

A simple migration reproduces it:

1. Start the source VM with:

   # qemu [...] -S

2. Start the destination VM with:

   # qemu <source VM cmd-line> -incoming tcp:0:4444

3. In the source VM:

   (qemu) migrate -d tcp:0:4444

4. The source VM will segfault as soon as migration completes (might not
   happen in the first try)

What is happening here is that qemu_file_put_notify() can end up closing
's->file' (in which case it's also set to NULL). The call stack is rather
complex, but Eduardo helped tracking it to:

select loop -> migrate_fd_put_notify() -> qemu_file_put_notify() ->
buffered_put_buffer() -> migrate_fd_put_ready() ->
migrate_fd_completed() -> migrate_fd_cleanup().

To be honest, it's not completely clear to me in which cases 's->file'
is not closed (on error maybe)? But I doubt this fix will make anything
worse.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoAdd qapi related generated files to .gitignore
David Gibson [Fri, 28 Oct 2011 04:26:18 +0000 (15:26 +1100)]
Add qapi related generated files to .gitignore

.gitignore already lists the qapi-generated subdirectory which includes a
number of files generated during build.  However, there are some additional
files generated by the qapi build which go in the top level directory.

This patch adds them to .gitignore, removing the irritating noise from
diffs and the like.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoqemu-barrier: Fix build failure on PowerPC Mac OS X
Eric Sunshine [Tue, 1 Nov 2011 09:39:49 +0000 (05:39 -0400)]
qemu-barrier: Fix build failure on PowerPC Mac OS X

qemu-barrier.h tests if macro __powerpc__ is defined, however, the
preprocessor on PowerPC Mac OS X defines only __POWERPC__, not
__powerpc__.  Resolve by testing instead for qemu-provided _ARCH_PPC.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agofw_cfg: Use g_file_get_contents instead of multiple fread() calls
Pavel Borzenkov [Mon, 24 Oct 2011 11:31:30 +0000 (07:31 -0400)]
fw_cfg: Use g_file_get_contents instead of multiple fread() calls

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoSimplify cpu_exec_all to tcg_exec_all
Jan Kiszka [Mon, 26 Sep 2011 07:40:39 +0000 (09:40 +0200)]
Simplify cpu_exec_all to tcg_exec_all

After the removal of the non-threaded mode cpu_exec_all is now only used
by TCG. Refactor it accordingly, also dropping its unused return value.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoMake cpu_single_env thread-local
Paolo Bonzini [Fri, 28 Oct 2011 09:52:42 +0000 (10:52 +0100)]
Make cpu_single_env thread-local

Make cpu_single_env thread-local. This fixes a regression
in handling of multi-threaded programs in linux-user mode
(bug 823902).

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[Peter Maydell: rename tls_cpu_single_env to cpu_single_env]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agodarwin-user/main.c: Drop unused cpu_single_env definition
Paolo Bonzini [Fri, 28 Oct 2011 09:52:41 +0000 (10:52 +0100)]
darwin-user/main.c: Drop unused cpu_single_env definition

Drop the cpu_single_env definition as it is unused.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>