sdk/emulator/qemu.git
12 years agoMerge commit 'quintela/migration-next-v5' into staging
Anthony Liguori [Mon, 30 Jul 2012 14:58:41 +0000 (09:58 -0500)]
Merge commit 'quintela/migration-next-v5' into staging

* commit '6c779f22a93cc6e4565b940ef616e3efc5b50ba5':
  Change ram_save_block to return -1 if there are no more changes
  ram: save_live_setup() we don't need to synchronize the dirty bitmap.
  ram: iterate phase
  ram: save_live_complete() only do one loop
  ram: save_live_setup() don't need to sent pages
  savevm: split save_live into stage2 and stage3
  savevm: split save_live_setup from save_live_state
  savevm: introduce is_active method
  savevm: Refactor cancel operation in its own operation
  savevm: remove SaveLiveStateHandler
  savevm: remove SaveSetParamsHandler
  savevm: Live migration handlers register the struct directly
  savevm: Use a struct to pass all handlers

12 years agox86: Fixed incorrect segment base address addition in 64-bits mode
Vitaly Chipounov [Mon, 2 Jul 2012 22:20:49 +0000 (00:20 +0200)]
x86: Fixed incorrect segment base address addition in 64-bits mode

According to the Intel manual
"Intel® 64 and IA-32 Architectures Software Developer’s Manual
Volume 3", "3.4.4 Segment Loading Instructions in IA-32e Mode":

"When in compatibility mode, FS and GS overrides operate as defined by
32-bit mode behavior regardless of the value loaded into the upper 32
linear-address bits of the hidden descriptor register base field.
Compatibility mode ignores the upper 32 bits when calculating an effective address."

However, the code misses the 64-bit mode case, where an instruction with
address and segment size override would be translated incorrectly. For example,
inc dword ptr gs:260h[ebx*4] gets incorrectly translated to:

(uint32_t)(gs.base + ebx * 4 + 0x260)
instead of
gs.base + (uint32_t)(ebx * 4 + 0x260)

Signed-off-by: Vitaly Chipounov <vitaly.chipounov@epfl.ch>
Reviewed-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agoplace qemu-sockets.c contributions since 2012-01-13 under GPLv2+
Paolo Bonzini [Mon, 9 Jul 2012 09:08:39 +0000 (11:08 +0200)]
place qemu-sockets.c contributions since 2012-01-13 under GPLv2+

Past contributions since 2012-01-13 were only made by Red Hat people,
so they are already available under GPLv2+.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agobuild: Fix linking failure for qemu-ga
Dunrong Huang [Sat, 28 Jul 2012 19:11:24 +0000 (03:11 +0800)]
build: Fix linking failure for qemu-ga

This patch will fix the following linking failed:

  LINK  qemu-ga
gcc: error: qga/../qapi-generated/qga-qapi-types.o: No such file or directory
gcc: error: qga/../qapi-generated/qga-qapi-visit.o: No such file or directory
gcc: error: qga/../qapi-generated/qga-qmp-marshal.o: No such file or directory
make: *** [qemu-ga] Error 1

Commit cdc976b040f2760103ce2fb49f4d504093a7163f changes the
dependencies of qemu-ga to depend "../qapi-generated/qga-qapi-types.o",
which will be expanded to "qga/../qapi-generated/qga-qapi-types.o" when
building qemu-ga.

In top-level Makefile, we defined a target "qapi-generated/qga-qapi-types.o"
which was not equal to "qga/../qapi-generated/qga-qapi-types" in the
Makefile world. So "No such file" error happened when qemu-ga was linking.

The easy approach to fix is to change the target name to
"qga/../qapi-generated/qga-qapi-types.o", but it is weird.

So, in order to solve it more graciously, I move those temporary
files(qga-qapi-*.{c,h}) qemu-ga depends on to qemu-ga/qapi-generated,
this makes dependencies more clearer.

Signed-off-by: Dunrong Huang <riegamaths@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agoAvoid redefining inline
Blue Swirl [Sun, 8 Jul 2012 07:00:50 +0000 (07:00 +0000)]
Avoid redefining inline

System headers (e.g. gutils.h) may define 'inline', #undefine it
before #defining.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agoAvoid returning void
Blue Swirl [Sun, 8 Jul 2012 06:56:53 +0000 (06:56 +0000)]
Avoid returning void

It's silly and non-conforming to standards to return void,
don't do it.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agohw/escc: Drop duplicate definition of 'disabled' property
Peter Maydell [Tue, 24 Jul 2012 14:10:27 +0000 (15:10 +0100)]
hw/escc: Drop duplicate definition of 'disabled' property

Drop a duplicate definition of the 'disabled' property from
the escc qdev property list: this redefinition is currently
effectively ignored but will become an error. (The duplication
was inadvertently introduced in 2009 in commit ec02f7dec2.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agobuild: get dependency file directories from object file names
Paolo Bonzini [Wed, 11 Jul 2012 14:40:21 +0000 (16:40 +0200)]
build: get dependency file directories from object file names

After commit dcff25f2cd8c11a9368cc2369aeb0319c32d9e26, Dependency file
are taken from the directories that have a Makefile.objs file.  This is
not enough, since files can be included from other directories.
So, pick them from directories that have an object file in them.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agobuild: include qapi-generated/ files in qga/Makefile.objs
Paolo Bonzini [Wed, 11 Jul 2012 14:40:20 +0000 (16:40 +0200)]
build: include qapi-generated/ files in qga/Makefile.objs

No reason to leave them out, and it will ensure that the dependencies
are picked up.  Later we can perhaps move the files to another
directory to avoid ../ usage.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotests: Makefile: include dependency files
Eduardo Habkost [Wed, 18 Jul 2012 17:22:27 +0000 (14:22 -0300)]
tests: Makefile: include dependency files

Otherwise 'make check' won't recompile files that need to be recompiled
because of header changes.

To reproduce the bug, run:

 $ make check  # succeeds
 $ echo B0RKED > hw/mc146818rtc_regs.h
 $ make check  # is supposed to try to rebuild tests/rtc-test.o and fail

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agovl.c: Don't print errno after failed qemu_chr_new()
Peter Maydell [Mon, 9 Jul 2012 04:28:30 +0000 (04:28 +0000)]
vl.c: Don't print errno after failed qemu_chr_new()

The qemu_chr_new() function doesn't set errno on failure, so
don't print strerror(errno) on the error handling path when
dealing with the -serial, -parallel and -virtioconsole arguments.
This avoids nonsensical error messages like:
  $ ./arm-softmmu/qemu-system-arm -serial wombat
  qemu: could not open serial device 'wombat': Success

We also rephrase the message slightly to make it a little clearer
that we're expecting the name of a QEMU chr backend rather than
a host or guest serial/parallel/etc device.

Reported-by: Christian Müller <christian.mueller@heig-vd.ch>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-xtensa: fix big-endian BBS/BBC implementation
Max Filippov [Tue, 17 Jul 2012 19:45:23 +0000 (23:45 +0400)]
target-xtensa: fix big-endian BBS/BBC implementation

Quote from ISA, 2.1:

For most Xtensa instructions, bit numbering is irrelevant; only the BBC
and BBS instructions assign bit numbers to values on which the processor
operates. The BBC/BBS instructions use big-endian bit ordering (0 is the
most-significant bit) on a big-endian processor configuration.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add testcases
Jia Liu [Fri, 20 Jul 2012 07:50:53 +0000 (15:50 +0800)]
target-or32: Add testcases

Add testcases for OpenRISC.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add linux user support
Jia Liu [Fri, 20 Jul 2012 07:50:52 +0000 (15:50 +0800)]
target-or32: Add linux user support

Add QEMU OpenRISC linux user support.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add linux syscall, signal and termbits
Jia Liu [Fri, 20 Jul 2012 07:50:51 +0000 (15:50 +0800)]
target-or32: Add linux syscall, signal and termbits

Add OpenRISC linux syscall, signal and termbits.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add gdb stub support
Jia Liu [Fri, 20 Jul 2012 07:50:50 +0000 (15:50 +0800)]
target-or32: Add gdb stub support

Add OpenRISC gdb stub support.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add system instructions
Jia Liu [Fri, 20 Jul 2012 07:50:49 +0000 (15:50 +0800)]
target-or32: Add system instructions

Add OpenRISC system instructions.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add a IIS dummy board
Jia Liu [Fri, 20 Jul 2012 07:50:48 +0000 (15:50 +0800)]
target-or32: Add a IIS dummy board

Add a IIS dummy board.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add timer support
Jia Liu [Fri, 20 Jul 2012 07:50:47 +0000 (15:50 +0800)]
target-or32: Add timer support

Add OpenRISC timer support.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add PIC support
Jia Liu [Fri, 20 Jul 2012 07:50:46 +0000 (15:50 +0800)]
target-or32: Add PIC support

Add OpenRISC Programmable Interrupt Controller support.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add instruction translation
Jia Liu [Fri, 20 Jul 2012 07:50:45 +0000 (15:50 +0800)]
target-or32: Add instruction translation

Add OpenRISC instruction tanslation routines.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add float instruction helpers
Jia Liu [Fri, 20 Jul 2012 07:50:44 +0000 (15:50 +0800)]
target-or32: Add float instruction helpers

Add OpenRISC float instruction helpers.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add int instruction helpers
Jia Liu [Fri, 20 Jul 2012 07:50:43 +0000 (15:50 +0800)]
target-or32: Add int instruction helpers

Add OpenRISC int instruction helpers.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add exception support
Jia Liu [Fri, 20 Jul 2012 07:50:42 +0000 (15:50 +0800)]
target-or32: Add exception support

Add OpenRISC exception support.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add interrupt support
Jia Liu [Fri, 20 Jul 2012 07:50:41 +0000 (15:50 +0800)]
target-or32: Add interrupt support

Add OpenRISC interrupt support.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add MMU support
Jia Liu [Fri, 20 Jul 2012 07:50:40 +0000 (15:50 +0800)]
target-or32: Add MMU support

Add OpenRISC MMU support.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agotarget-or32: Add target stubs and QOM cpu
Jia Liu [Fri, 20 Jul 2012 07:50:39 +0000 (15:50 +0800)]
target-or32: Add target stubs and QOM cpu

Add OpenRISC target stubs, QOM cpu and basic machine.

Signed-off-by: Jia Liu <proljc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
12 years agoMerge remote-tracking branch 'stefanha/net' into staging
Anthony Liguori [Mon, 23 Jul 2012 18:15:34 +0000 (13:15 -0500)]
Merge remote-tracking branch 'stefanha/net' into staging

* stefanha/net:
  remove unused QemuOpts parameter from net init functions
  convert net_init_bridge() to NetClientOptions
  convert net_init_tap() to NetClientOptions
  convert net_init_vde() to NetClientOptions
  convert net_init_socket() to NetClientOptions
  convert net_init_slirp() to NetClientOptions
  convert net_init_dump() to NetClientOptions
  convert net_init_nic() to NetClientOptions
  convert net_client_init() to OptsVisitor
  hw, net: "net_client_type" -> "NetClientOptionsKind" (qapi-generated)
  qapi schema: add Netdev types
  qapi schema: remove trailing whitespace
  qapi: introduce OptsVisitor
  expose QemuOpt and QemuOpts struct definitions to interested parties
  qapi: introduce "size" type
  qapi: generate C types for fixed-width integers
  qapi: add test case for deallocating traversal of incomplete structure
  qapi: fix error propagation
  MAINTAINERS: Replace net maintainer Mark McLoughlin with Stefan Hajnoczi

12 years agoMerge remote-tracking branch 'stefanha/trivial-patches' into staging
Anthony Liguori [Mon, 23 Jul 2012 18:15:34 +0000 (13:15 -0500)]
Merge remote-tracking branch 'stefanha/trivial-patches' into staging

* stefanha/trivial-patches:
  Fix some more Qemus in documentation and help text
  qdev: Fix Open Firmware comment
  cpus.c: Make all_cpu_threads_idle() static
  Use macro QEMU_PACKED for new packed structures
  Recognize PCID feature
  powerpc pci: fixed packing of ranges[]

12 years agoMerge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into staging
Anthony Liguori [Mon, 23 Jul 2012 18:15:34 +0000 (13:15 -0500)]
Merge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into staging

* pmaydell/arm-devs.for-upstream:
  exynos4210: add Exynos4210 i2c implementation
  hw/exynos4210_rtc.c: remove unnecessary code
  hw/exynos4210_rtc.c: Fix calculating for value of year
  hw/vexpress.c: Allow >4GB of RAM for Cortex-A15 daughterboard
  hw/arm_boot.c: Support DTBs which use 64 bit addresses
  device_tree: Add support for reading device tree properties
  hw/arm_boot.c: Check for RAM sizes exceeding ATAGS capacity
  hw/arm_boot.c: Consistently use ram_size from arm_boot_info struct
  hw/arm_boot.c: Make ram_size a uint64_t
  hw/pl011.c: Avoid crash on read when no chr backend present

12 years agoMerge remote-tracking branch 'stefanha/tracing' into staging
Anthony Liguori [Mon, 23 Jul 2012 18:15:34 +0000 (13:15 -0500)]
Merge remote-tracking branch 'stefanha/tracing' into staging

* stefanha/tracing:
  Update simpletrace.py for new log format
  Simpletrace v2: Support multiple arguments, strings.
  monitor: remove unused do_info_trace
  trace: added ability to comment out events in the list

12 years agoChange ram_save_block to return -1 if there are no more changes
Orit Wasserman [Tue, 10 Jul 2012 09:37:13 +0000 (12:37 +0300)]
Change ram_save_block to return -1 if there are no more changes

It will return 0 if the page is unmodifed.

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
12 years agoremove unused QemuOpts parameter from net init functions
Laszlo Ersek [Tue, 17 Jul 2012 14:17:21 +0000 (16:17 +0200)]
remove unused QemuOpts parameter from net init functions

v1->v2:
- unchanged

v2->v3:
- keep "qemu-option.h" included in "net/slirp.h"

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoconvert net_init_bridge() to NetClientOptions
Laszlo Ersek [Tue, 17 Jul 2012 14:17:20 +0000 (16:17 +0200)]
convert net_init_bridge() to NetClientOptions

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoconvert net_init_tap() to NetClientOptions
Laszlo Ersek [Tue, 17 Jul 2012 14:17:19 +0000 (16:17 +0200)]
convert net_init_tap() to NetClientOptions

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoconvert net_init_vde() to NetClientOptions
Laszlo Ersek [Tue, 17 Jul 2012 14:17:18 +0000 (16:17 +0200)]
convert net_init_vde() to NetClientOptions

v1->v2:
- NetdevVdeOptions::port and ::mode are of type uint16. Remove superfluous
  range checks.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoconvert net_init_socket() to NetClientOptions
Laszlo Ersek [Tue, 17 Jul 2012 14:17:17 +0000 (16:17 +0200)]
convert net_init_socket() to NetClientOptions

I "reverse engineered" the following permissions between the -socket
sub-options:

             fd  listen  connect  mcast  udp | localaddr
  fd         x   .       .        .      .   | .
  listen     .   x       .        .      .   | .
  connect    .   .       x        .      .   | .
  mcast      .   .       .        x      .   | x
  udp        .   .       .        .      x   | x
  -------------------------------------------+
  localaddr  .   .       .        x      x     x

I transformed the code accordingly. The real fix would be to embed "fd",
"listen", "connect", "mcast" and "udp" in a separate union. However
OptsVisitor's enum parser only supports the type=XXX QemuOpt instance as
union discriminator.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoconvert net_init_slirp() to NetClientOptions
Laszlo Ersek [Tue, 17 Jul 2012 14:17:16 +0000 (16:17 +0200)]
convert net_init_slirp() to NetClientOptions

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoconvert net_init_dump() to NetClientOptions
Laszlo Ersek [Tue, 17 Jul 2012 14:17:15 +0000 (16:17 +0200)]
convert net_init_dump() to NetClientOptions

v1->v2:
- NetdevDumpOptions::len is of type 'size', whose C type was changed to
  uint64_t. Adapt the printf() format specifier macro.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoconvert net_init_nic() to NetClientOptions
Laszlo Ersek [Tue, 17 Jul 2012 14:17:14 +0000 (16:17 +0200)]
convert net_init_nic() to NetClientOptions

v1->v2:
- NetLegacyNicOptions::vectors is of type uint32

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoconvert net_client_init() to OptsVisitor
Laszlo Ersek [Tue, 17 Jul 2012 14:17:13 +0000 (16:17 +0200)]
convert net_client_init() to OptsVisitor

The net_client_init() prototype is kept intact.

Based on "is_netdev", the QemuOpts-rooted QemuOpt-list is parsed as a
Netdev or a NetLegacy. The original meat of net_client_init() is moved to
and simplified in net_client_init1():

Fields not common between -net and -netdev are clearly separated. Getting
the name for the init functions is cleaner: Netdev::id is mandatory, and
all init functions handle a NULL NetLegacy::name. NetLegacy::vlan
explicitly depends on -net (see below).

Verifying the "type=" option for -netdev can be turned into a switch.

Format validation with qemu_opts_validate() can be removed because the
visitor covers it. Relatedly, the "net_client_types" array is reduced to
an array of init functions that can be directly indexed by opts->kind.
(Help text is available in the schema JSON.)

The outermost negation in the condition around qemu_find_vlan() was
flattened, because it expresses the dependent code's requirements more
clearly.

VLAN lookup is avoided if there's no init function to pass the VLAN to.

Whenever the value of type=... is needed, we substitute
NetClientOptionsKind_lookup[kind].

The individual init functions are not converted yet, thus the original
QemuOpts instance is passed transparently.

v1->v2:
- NetLegacy::name is optional. Tracked it through all init functions: they
  all handle a NULL name. Updated commit message accordingly.

v2->v3:
- NetLegacy::id is allowed and takes precedence over NetLegacy::name.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agohw, net: "net_client_type" -> "NetClientOptionsKind" (qapi-generated)
Laszlo Ersek [Tue, 17 Jul 2012 14:17:12 +0000 (16:17 +0200)]
hw, net: "net_client_type" -> "NetClientOptionsKind" (qapi-generated)

NET_CLIENT_TYPE_ -> NET_CLIENT_OPTIONS_KIND_

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoqapi schema: add Netdev types
Laszlo Ersek [Tue, 17 Jul 2012 14:17:11 +0000 (16:17 +0200)]
qapi schema: add Netdev types

NetdevTapOptions::sndbuf and NetdevDumpOptions::len use the new "size"
type.

v1->v2:
- NetLegacy::name is optional
- NetLegacyNicOptions::vectors is of type uint32
- NetdevVdeOptions::port and ::mode are of type uint16
- NetLegacy::vlan has type int32

v2->v3:
- NetLegacy::id is allowed and takes precedence over NetLegacy::name
- replace "@traits" with "@opts" in NetLegacy & Netdev descriptions

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoqapi schema: remove trailing whitespace
Laszlo Ersek [Tue, 17 Jul 2012 14:17:10 +0000 (16:17 +0200)]
qapi schema: remove trailing whitespace

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoqapi: introduce OptsVisitor
Laszlo Ersek [Tue, 17 Jul 2012 14:17:09 +0000 (16:17 +0200)]
qapi: introduce OptsVisitor

This visitor supports parsing

  -option [type=]discriminator[,optarg1=val1][,optarg2=val2][,...]

style QemuOpts objects into "native" C structures. After defining the type
tree in the qapi schema (see below), a root type traversal with this
visitor linked to the underlying QemuOpts object will build the "native" C
representation of the option.

The type tree in the schema, corresponding to an option with a
discriminator, must have the following structure:

  struct
    scalar member for non-discriminated optarg 1 [*]
    list for repeating non-discriminated optarg 2 [*]
      wrapper struct
        single scalar member
    union
      struct for discriminator case 1
        scalar member for optarg 3 [*]
        list for repeating optarg 4 [*]
          wrapper struct
            single scalar member
        scalar member for optarg 5 [*]
      struct for discriminator case 2
        ...

The "type" optarg name is fixed for the discriminator role. Its schema
representation is "union of structures", and each discriminator value must
correspond to a member name in the union.

If the option takes no "type" descriminator, then the type subtree rooted
at the union must be absent from the schema (including the union itself).

Optarg values can be of scalar types str / bool / integers / size.

Members marked with [*] may be defined as optional in the schema,
describing an optional optarg.

Repeating an optarg is supported; its schema representation must be "list
of structure with single mandatory scalar member". If an optarg is not
described as repeating in the schema (ie. it is defined as a scalar field
instead of a list), its last occurrence will take effect. Ordering between
differently named optargs is not preserved.

A mandatory list (or an optional one which is reported to be available),
corresponding to a repeating optarg, has at least one element after
successful parsing.

v1->v2:
- Update opts_type_size() prototype to uint64_t.
- Add opts_type_uint64() for options needing the full uint64_t range.
  (Internals could be extracted to "cutils.c".)
- Allow negative values in opts_type_int().
- Rebase to nested Makefiles.

v2->v3:
- Factor opts_visitor_insert() out of opts_start_struct() and call it
  separately for opts_root->id if there's any.
- Don't require non-negative values in opts_type_int()'s error message.
- g_malloc0() may return NULL for zero-sized requests. Support empty
  structures by requesting 1 byte for them instead.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoexpose QemuOpt and QemuOpts struct definitions to interested parties
Laszlo Ersek [Tue, 17 Jul 2012 14:17:08 +0000 (16:17 +0200)]
expose QemuOpt and QemuOpts struct definitions to interested parties

The only clients should be the existent "qemu-option.c", and the upcoming
"qapi/opts-visitor.c".

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoqapi: introduce "size" type
Laszlo Ersek [Tue, 17 Jul 2012 14:17:07 +0000 (16:17 +0200)]
qapi: introduce "size" type

v1->v2:
- fall back to uint64 rather than int

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoqapi: generate C types for fixed-width integers
Laszlo Ersek [Tue, 17 Jul 2012 14:17:06 +0000 (16:17 +0200)]
qapi: generate C types for fixed-width integers

(Long line folded using parens:
<http://www.python.org/dev/peps/pep-0008/#maximum-line-length>.)

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoqapi: add test case for deallocating traversal of incomplete structure
Laszlo Ersek [Tue, 17 Jul 2012 14:17:05 +0000 (16:17 +0200)]
qapi: add test case for deallocating traversal of incomplete structure

v3:
- new patch

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoqapi: fix error propagation
Paolo Bonzini [Tue, 17 Jul 2012 14:17:04 +0000 (16:17 +0200)]
qapi: fix error propagation

Don't overwrite / leak previously set errors.
Make traversal cope with missing mandatory sub-structs.
Don't try to end a container that could not be started.

v1->v2:
- unchanged

v2->v3:
- instead of examining, assert that we never overwrite errors with
  error_set()
- allow visitors to set a NULL struct pointer successfully, so traversal
  of incomplete objects can continue
- check for a NULL "obj" before accessing "(*obj)->has_XXX" (this is not a
  typo, "obj != NULL" implies "*obj != NULL" here)
- fix start_struct / end_struct balance for unions as well

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoMAINTAINERS: Replace net maintainer Mark McLoughlin with Stefan Hajnoczi
Stefan Hajnoczi [Fri, 20 Jul 2012 13:29:24 +0000 (14:29 +0100)]
MAINTAINERS: Replace net maintainer Mark McLoughlin with Stefan Hajnoczi

The net subsystem has lacked an active maintainer since 2009.  I have
built and tested a net-next tree to get the ball rolling again.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoFix some more Qemus in documentation and help text
Stefan Weil [Fri, 20 Jul 2012 21:26:02 +0000 (23:26 +0200)]
Fix some more Qemus in documentation and help text

Hopefully they will be eliminated one day.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoqdev: Fix Open Firmware comment
Stefan Weil [Fri, 20 Jul 2012 21:04:49 +0000 (23:04 +0200)]
qdev: Fix Open Firmware comment

Commit 0d936928ef87ca1bb7b41b5b89c400c699a7691c removed code,
but left the related comment at a location where it no longer
belongs to.

The patch moves the comment to the correct callback and improves the text.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agocpus.c: Make all_cpu_threads_idle() static
Peter Maydell [Thu, 19 Jul 2012 15:52:27 +0000 (16:52 +0100)]
cpus.c: Make all_cpu_threads_idle() static

Commit 946fb27c1 moved all the uses of all_cpu_threads_idle()
into cpus.c. This means we can mark the function 'static'
(again), if we shuffle it a bit earlier in the source file.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoUse macro QEMU_PACKED for new packed structures
Stefan Weil [Wed, 18 Jul 2012 16:12:37 +0000 (18:12 +0200)]
Use macro QEMU_PACKED for new packed structures

Since commit 541dc0d47f10973c241e9955afc2aefc96adec51,
some new packed structures were added without using QEMU_PACKED.

QEMU_PACKED is needed for compilations with MinGW.
For other platforms nothing changes.

The code was fixed using this command:

    git grep -la '__attribute__ ((packed))'|xargs perl -pi -e 's/__attribute__ \(\(packed\)\)/QEMU_PACKED/'

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoRecognize PCID feature
Mao, Junjie [Fri, 20 Jul 2012 07:08:21 +0000 (07:08 +0000)]
Recognize PCID feature

This patch makes Qemu recognize the PCID feature specified from configuration or command line options.

Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agopowerpc pci: fixed packing of ranges[]
Alexey Kardashevskiy [Wed, 18 Jul 2012 08:22:51 +0000 (18:22 +1000)]
powerpc pci: fixed packing of ranges[]

By default mingw-gcc is trying to pack structures the way to
preserve binary compatibility with MS Visual C what leads to
incorrect and unexpected padding in the PCI bus ranges property of
the sPAPR PHB.

The patch replaces __attribute__((packed)) with more strict QEMU_PACKED
which actually is __attribute__((gcc_struct, packed)) on Windows.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Tested-by: Stefan Weil <sw@weilnetz.de>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
Acked-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoexynos4210: add Exynos4210 i2c implementation
Mitsyanko Igor [Wed, 18 Jul 2012 08:18:34 +0000 (08:18 +0000)]
exynos4210: add Exynos4210 i2c implementation

Create 9 exynos4210 i2c interfaces.

Signed-off-by: Igor Mitsyanko <i.mitsyanko@samsung.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12 years agohw/exynos4210_rtc.c: remove unnecessary code
Oleg Ogurtsov [Wed, 11 Jul 2012 00:03:28 +0000 (00:03 +0000)]
hw/exynos4210_rtc.c: remove unnecessary code

Signed-off-by: Oleg Ogurtsov <o.ogurtsov@samsung.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12 years agohw/exynos4210_rtc.c: Fix calculating for value of year
Oleg Ogurtsov [Wed, 11 Jul 2012 00:03:27 +0000 (00:03 +0000)]
hw/exynos4210_rtc.c: Fix calculating for value of year

Signed-off-by: Oleg Ogurtsov <o.ogurtsov@samsung.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12 years agohw/vexpress.c: Allow >4GB of RAM for Cortex-A15 daughterboard
Peter Maydell [Fri, 20 Jul 2012 12:34:50 +0000 (13:34 +0100)]
hw/vexpress.c: Allow >4GB of RAM for Cortex-A15 daughterboard

Now that we have LPAE support and can handle passing 64 bit
RAM sizes to Linux via the device tree, we can lift the
restriction in the Versatile Express A15 daughterboard model
on not having more than 2GB of RAM. Allow up to 30GB, which
is the maximum that can fit in the address map before running
into the (unmodelled) aliases of the first 2GB.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12 years agohw/arm_boot.c: Support DTBs which use 64 bit addresses
Peter Maydell [Fri, 20 Jul 2012 12:34:50 +0000 (13:34 +0100)]
hw/arm_boot.c: Support DTBs which use 64 bit addresses

Support the case where the device tree blob specifies that
#address-cells and #size-cells are greater than 1. (This
is needed for device trees which can handle 64 bit physical
addresses and thus total RAM sizes over 4GB.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
12 years agodevice_tree: Add support for reading device tree properties
Peter Maydell [Fri, 20 Jul 2012 12:34:50 +0000 (13:34 +0100)]
device_tree: Add support for reading device tree properties

Add support for reading device tree properties (both generic
and single-cell ones) to QEMU's convenience wrapper layer.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
12 years agohw/arm_boot.c: Check for RAM sizes exceeding ATAGS capacity
Peter Maydell [Fri, 20 Jul 2012 12:34:50 +0000 (13:34 +0100)]
hw/arm_boot.c: Check for RAM sizes exceeding ATAGS capacity

The legacy ATAGS format for passing information to the kernel only
allows RAM sizes which fit in 32 bits; enforce this restriction
rather than silently doing something weird.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
12 years agohw/arm_boot.c: Consistently use ram_size from arm_boot_info struct
Peter Maydell [Fri, 20 Jul 2012 12:34:50 +0000 (13:34 +0100)]
hw/arm_boot.c: Consistently use ram_size from arm_boot_info struct

Clean up the mix of getting the RAM size from the global ram_size
and from the ram_size field in the arm_boot_info structure, so
that we always use the structure field.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
12 years agohw/arm_boot.c: Make ram_size a uint64_t
Peter Maydell [Fri, 20 Jul 2012 12:34:49 +0000 (13:34 +0100)]
hw/arm_boot.c: Make ram_size a uint64_t

Make the RAM size in arm_boot_info a uint64_t so it can express
the larger RAM sizes that may be seen in LPAE systems.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
12 years agohw/pl011.c: Avoid crash on read when no chr backend present
Peter Maydell [Fri, 20 Jul 2012 12:34:49 +0000 (13:34 +0100)]
hw/pl011.c: Avoid crash on read when no chr backend present

Add a missing guard that meant we would segfault if the guest read
UARTDR on a PL011 serial device which had no chr backend connected.
(This didn't happen for Linux guests because Linux reads the flags
register and doesn't try to read the UART if it's empty.)

Reported-by: Christian Müller <christian.mueller@heig-vd.ch>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12 years agoram: save_live_setup() we don't need to synchronize the dirty bitmap.
Juan Quintela [Thu, 28 Jun 2012 17:58:47 +0000 (19:58 +0200)]
ram: save_live_setup() we don't need to synchronize the dirty bitmap.

1st: we were synchonizing the dirty bitmap before calling
      memory_global_dirty_log_start().

2nd: We are marking all pages as dirty anywhere, no reason to go
     through all the bitmap to "mark" dirty same pages twice.

So, call removed.

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agoram: iterate phase
Juan Quintela [Thu, 28 Jun 2012 17:51:17 +0000 (19:51 +0200)]
ram: iterate phase

We only need to synchronize the bitmap when the number of dirty pages is low.
Not every time that we call the function.

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agoram: save_live_complete() only do one loop
Juan Quintela [Thu, 28 Jun 2012 17:48:09 +0000 (19:48 +0200)]
ram: save_live_complete() only do one loop

We were doing the same loop that stage2, and a new one for stage3.  We
only need the one for stage3.

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agoram: save_live_setup() don't need to sent pages
Juan Quintela [Thu, 28 Jun 2012 17:41:52 +0000 (19:41 +0200)]
ram: save_live_setup() don't need to sent pages

We should send pages on interate phase, not in setup one.  This was a
"bug".  Just removing the loop does what we want.  Tested that it
works with current ram_load().

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agosavevm: split save_live into stage2 and stage3
Juan Quintela [Thu, 28 Jun 2012 13:31:37 +0000 (15:31 +0200)]
savevm: split save_live into stage2 and stage3

We split it into 2 functions, foo_live_iterate, and foo_live_complete.
At this point, we only remove the bits that are for the other stage,
functionally this is equivalent to previous code.

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agosavevm: split save_live_setup from save_live_state
Juan Quintela [Thu, 28 Jun 2012 13:11:57 +0000 (15:11 +0200)]
savevm: split save_live_setup from save_live_state

This patch splits stage 1 to its own function for both save_live
users, ram and block.  It is just a copy of the function, removing the
parts of the other stages.  Optimizations would came later.

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agosavevm: introduce is_active method
Juan Quintela [Wed, 27 Jun 2012 08:59:15 +0000 (10:59 +0200)]
savevm: introduce is_active method

Enable the creation of a method to tell migration if that section is
active and should be migrate.  We use it for blk-migration, that is
normally not active.  We don't create the method for RAM, as setups
without RAM are very strange O:-)

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agosavevm: Refactor cancel operation in its own operation
Juan Quintela [Tue, 26 Jun 2012 17:26:41 +0000 (19:26 +0200)]
savevm: Refactor cancel operation in its own operation

Intead of abusing stage with value -1.

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agosavevm: remove SaveLiveStateHandler
Juan Quintela [Tue, 26 Jun 2012 16:53:29 +0000 (18:53 +0200)]
savevm: remove SaveLiveStateHandler

It was used only once, just unfold.

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agosavevm: remove SaveSetParamsHandler
Juan Quintela [Tue, 26 Jun 2012 16:51:00 +0000 (18:51 +0200)]
savevm: remove SaveSetParamsHandler

It was used only once, just unfold.

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agosavevm: Live migration handlers register the struct directly
Juan Quintela [Tue, 26 Jun 2012 16:46:10 +0000 (18:46 +0200)]
savevm: Live migration handlers register the struct directly

Notice that the live migration users never unregister, so no problem
about freeing the ops structure.

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agosavevm: Use a struct to pass all handlers
Juan Quintela [Tue, 26 Jun 2012 15:19:10 +0000 (17:19 +0200)]
savevm: Use a struct to pass all handlers

This would make easier to add more operations in the next patches.

Signed-off-by: Juan Quintela <quintela@redhat.com>
12 years agoRevert "audio: Make PC speaker audio card available by default"
Anthony Liguori [Thu, 19 Jul 2012 23:25:52 +0000 (18:25 -0500)]
Revert "audio: Make PC speaker audio card available by default"

This reverts commit 504972922da9b562f15e13544d3efca84b46b8fd which broke the
build for ARM.

I don't think this change is necessary.  If I'm wrong, please recommit this
changeset with an appropriate fix for ARM.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoaudio: Make PC speaker audio card available by default
Jan Kiszka [Thu, 19 Jul 2012 15:57:51 +0000 (17:57 +0200)]
audio: Make PC speaker audio card available by default

    [ The following text is in the "ISO-8859-1" character set. ]
    [ Your display is set for the "KOI8-R" character set.  ]
    [ Some special characters may be displayed incorrectly. ]

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: malc <av1474@comtv.ru>
12 years agoUpdate simpletrace.py for new log format
Harsh Prateek Bora [Wed, 18 Jul 2012 09:46:00 +0000 (15:16 +0530)]
Update simpletrace.py for new log format

Support new tracelog format for multiple arguments and strings.

Signed-off-by: Harsh Prateek Bora <harsh@linux.vnet.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoSimpletrace v2: Support multiple arguments, strings.
Harsh Prateek Bora [Wed, 18 Jul 2012 09:45:59 +0000 (15:15 +0530)]
Simpletrace v2: Support multiple arguments, strings.

Existing simpletrace backend allows to trace at max 6 args and does not
support strings. This newer tracelog format gets rid of fixed size records
and therefore allows to trace variable number of args including strings.

Sample trace with strings:
v9fs_version 0.000 tag=0xffff id=0x64 msize=0x2000 version=9P2000.L
v9fs_version_return 6.705 tag=0xffff id=0x64 msize=0x2000 version=9P2000.L

Signed-off-by: Harsh Prateek Bora <harsh@linux.vnet.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agomonitor: remove unused do_info_trace
Harsh Prateek Bora [Wed, 18 Jul 2012 09:45:58 +0000 (15:15 +0530)]
monitor: remove unused do_info_trace

Going forward with simpletrace v2 variable size trace records, we cannot
have a generic function to print trace event info and therefore this
interface becomes invalid.

As per Stefan Hajnoczi:

"This command is only available from the human monitor.  It's not very
useful because it historically hasn't been able to pretty-print events
or show them in the right order (we use a ringbuffer but it prints
them out from index 0).

Therefore, I don't think we're under any obligation to keep this
command around.  No one has complained about it's limitations - I
think this is a sign that no one has used it.  I'd be okay with a
patch that removes it."

Ref: http://lists.gnu.org/archive/html/qemu-devel/2012-01/msg01268.html

Signed-off-by: Harsh Prateek Bora <harsh@linux.vnet.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agotrace: added ability to comment out events in the list
Alexey Kardashevskiy [Thu, 14 Jun 2012 04:41:40 +0000 (14:41 +1000)]
trace: added ability to comment out events in the list

It is convenient for debug to be able to switch on/off some events easily.
The only possibility now is to remove event name from the file completely
and type it again when we want it back.

The patch adds '#' symbol handling as a comment specifier.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoMerge remote-tracking branch 'kwolf/for-anthony' into staging
Anthony Liguori [Wed, 18 Jul 2012 19:44:50 +0000 (14:44 -0500)]
Merge remote-tracking branch 'kwolf/for-anthony' into staging

* kwolf/for-anthony: (41 commits)
  fdc-test: Clean up a bit
  fdc-test: introduce test_relative_seek
  fdc: fix relative seek
  qemu-iotests: Valgrind support
  coroutine-ucontext: Help valgrind understand coroutines
  qemu-io: Fix memory leaks
  hw/block-common: Factor out fall back to legacy -drive cyls=...
  blockdev: Don't limit DriveInfo serial to 20 characters
  hw/block-common: Factor out fall back to legacy -drive serial=...
  hw/block-common: Move BlockConf & friends from block.h
  Relax IDE CHS limits from 16383,16,63 to 65535,16,255
  blockdev: Drop redundant CHS validation for if=ide
  hd-geometry: Compute BIOS CHS translation in one place
  qtest: Test we don't put hard disk info into CMOS for a CD-ROM
  ide pc: Put hard disk info into CMOS only for hard disks
  block: Geometry and translation hints are now useless, purge them
  qtest: Cover qdev property for BIOS CHS translation
  ide: qdev property for BIOS CHS translation
  qdev: New property type chs-translation
  qdev: Collect private helpers in one place
  ...

12 years agoMerge remote-tracking branch 'qemu-kvm/uq/master' into staging
Anthony Liguori [Wed, 18 Jul 2012 19:44:43 +0000 (14:44 -0500)]
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging

* qemu-kvm/uq/master:
  virtio: move common irqfd handling out of virtio-pci
  virtio: move common ioeventfd handling out of virtio-pci
  event_notifier: add event_notifier_set_handler
  memory: pass EventNotifier, not eventfd
  ivshmem: wrap ivshmem_del_eventfd loops with transaction
  ivshmem: use EventNotifier and memory API
  event_notifier: add event_notifier_init_fd
  event_notifier: remove event_notifier_test
  event_notifier: add event_notifier_set
  apic: Defer interrupt updates to VCPU thread
  apic: Reevaluate pending interrupts on LVT_LINT0 changes
  apic: Resolve potential endless loop around apic_update_irq
  kvm: expose tsc deadline timer feature to guest
  kvm_pv_eoi: add flag support
  kvm: Don't abort on kvm_irqchip_add_msi_route()

12 years agoMerge remote-tracking branch 'qmp/queue/qmp' into staging
Anthony Liguori [Wed, 18 Jul 2012 19:44:37 +0000 (14:44 -0500)]
Merge remote-tracking branch 'qmp/queue/qmp' into staging

* qmp/queue/qmp:
  qapi: Convert getfd and closefd
  qapi: input_type_enum(): fix error message
  qmp: dump-guest-memory: improve schema doc

12 years agoMerge remote-tracking branch 'kraxel/bios.2' into staging
Anthony Liguori [Wed, 18 Jul 2012 19:44:32 +0000 (14:44 -0500)]
Merge remote-tracking branch 'kraxel/bios.2' into staging

* kraxel/bios.2:
  Add vgabios build rules to roms/Makefile

12 years agoMerge remote-tracking branch 'kraxel/usb.57' into staging
Anthony Liguori [Wed, 18 Jul 2012 19:44:27 +0000 (14:44 -0500)]
Merge remote-tracking branch 'kraxel/usb.57' into staging

* kraxel/usb.57:
  ehci: improve expire time calculation
  ehci: implement Interrupt Threshold Control support
  ehci: raise irq in the frame timer
  uhci: initialize expire_time when loading v1 vmstate
  usb: add usb attached scsi emulation
  scsi: add free_request callback

12 years agobuild: fix build breakage due to bad merge
Anthony Liguori [Tue, 17 Jul 2012 23:58:20 +0000 (18:58 -0500)]
build: fix build breakage due to bad merge

34bb443ee74df3780d86044dbf6492eb798c5807 broke the build but in a subtle way.
The patch on the ML was actually based on the 1.1.1 stable branch
(accidentally).  When I merged it from the ML, the fuzzing got resolved in a
such a way that the newly introduced Makefile dependency on GENERATED_HEADERS
got lost (that was not in 1.1.1).

The dist bits also got duplicated (but this is just cosmetic).

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agobuild: add make dist target (v2)
Anthony Liguori [Tue, 17 Jul 2012 18:33:32 +0000 (13:33 -0500)]
build: add make dist target (v2)

Let's stop screwing up releases by having a script do the work that Anthony's
fat fingers can't seem to get right.

Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Tested-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoqemu-options.hx: Fix set_password and expire_password description
Michal Novotny [Mon, 16 Jul 2012 13:54:38 +0000 (15:54 +0200)]
qemu-options.hx: Fix set_password and expire_password description

The description for set_password and expire_password commands is
incomplete. This patch fixes the man page that is being generated
to match the real behaviour of these functions.

Signed-off-by: Michal Novotny <minovotn@redhat.com>
Signed-off-by: Michal Novotny <minovotn@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoqemu-options.hx: Improve -nodefaults description
Michal Novotny [Mon, 16 Jul 2012 12:35:10 +0000 (14:35 +0200)]
qemu-options.hx: Improve -nodefaults description

This patch improves the description of -nodefaults QEMU command line
option by adding more information what is being disabled using this
command.

Signed-off-by: Michal Novotny <minovotn@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoqemu-options.hx: Improve -{read|write}config options description
Michal Novotny [Mon, 16 Jul 2012 12:28:32 +0000 (14:28 +0200)]
qemu-options.hx: Improve -{read|write}config options description

This is the patch to improve description for -{read|write}config
functions.

Signed-off-by: Michal Novotny <minovotn@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoconstify value pointer for qdev_prop_set_string
Christian Borntraeger [Tue, 17 Jul 2012 13:26:17 +0000 (15:26 +0200)]
constify value pointer for qdev_prop_set_string

qdev_prop_set_string uses object_property_set_str, which takes
a const char * for the value. Lets propagate the constness
into qdev_prop_set_string.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agodoc: Fix indefinite article an -> a before nouns that begin with 'h'
Stefan Weil [Mon, 16 Jul 2012 21:37:07 +0000 (23:37 +0200)]
doc: Fix indefinite article an -> a before nouns that begin with 'h'

Although the rule also allows 'an' for historical reasons,
'a' is more common because 'h' is pronounced.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agofdc-test: Clean up a bit
Kevin Wolf [Mon, 16 Jul 2012 14:06:56 +0000 (16:06 +0200)]
fdc-test: Clean up a bit

Readability of the test code has suffered as the test case evolved. This
should improve it a bit again.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agofdc-test: introduce test_relative_seek
Pavel Hrdina [Mon, 16 Jul 2012 13:48:27 +0000 (15:48 +0200)]
fdc-test: introduce test_relative_seek

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 years agofdc: fix relative seek
Pavel Hrdina [Mon, 16 Jul 2012 13:48:26 +0000 (15:48 +0200)]
fdc: fix relative seek

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>