sdk/emulator/qemu.git
14 years agoMerge branch 'pci' into for_anthony
Michael S. Tsirkin [Wed, 27 Oct 2010 17:07:10 +0000 (19:07 +0200)]
Merge branch 'pci' into for_anthony

14 years agopcie: update satus on reset
Michael S. Tsirkin [Wed, 27 Oct 2010 15:48:42 +0000 (17:48 +0200)]
pcie: update satus on reset

Reset never triggers a new event, so it's enough to
update status.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agomsi: minor cleanups
Michael S. Tsirkin [Wed, 27 Oct 2010 14:28:22 +0000 (16:28 +0200)]
msi: minor cleanups

Comment fixup (tell what it does not what it does not do),
typo fix, whitespace fix.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agomsi: simplify range checks
Michael S. Tsirkin [Wed, 27 Oct 2010 14:14:56 +0000 (16:14 +0200)]
msi: simplify range checks

config write handlers should be idempotent.
So no need for complex range checks: a simple
one checking that we are touching the relevant capability
will do.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agopci: improve w1c mask handling
Michael S. Tsirkin [Wed, 27 Oct 2010 14:01:25 +0000 (16:01 +0200)]
pci: improve w1c mask handling

- save/restore must not check w1c bits
  since they are in fact guest controlled
- clear w1c bits on reset

Note: for express there are different kinds of
reset, some leave part of config space alone.
We will likely need a sticky bit mask to implement this.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agopcie: clean up hot plug notification
Michael S. Tsirkin [Mon, 25 Oct 2010 05:46:47 +0000 (07:46 +0200)]
pcie: clean up hot plug notification

Simplify logic for hotplug notification, by tracking state of the
logical interrupt condition.  We then simply use this variable to make
the interrupt decision, according to spec.

API is made cleaner as we no longer force users to pass in
old slot control value.

Includes fixes by Isaku Yamahata.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
14 years agopcie: simplify range check
Michael S. Tsirkin [Mon, 25 Oct 2010 05:03:24 +0000 (07:03 +0200)]
pcie: simplify range check

Simplify code slighly by reversing the polarity
for the range check

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
14 years agoIntroduce range.h
Blue Swirl [Sat, 18 Sep 2010 05:53:14 +0000 (05:53 +0000)]
Introduce range.h

Extract range functions from pci.h. These will be used by later patches
by non-PCI devices. Adjust current users.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
(cherry picked from commit bf1b00712375bea65f2254dea8281fa646eebbd5)

14 years agoqemu-options.def: add to generated header list
Michael S. Tsirkin [Tue, 26 Oct 2010 15:53:41 +0000 (17:53 +0200)]
qemu-options.def: add to generated header list

All files include qemu-options.h which pulls in qemu-options.def from
the root directory.  Thus generating qemu-options.def from Makefile.objs
under the target directory is not effective.

Further, people expect .def file to get cleaned with make clean:
it does not have state so no reason to defer removing it
until distclean. Also add a rule to remove old files that might
be around.

This fixes the error: ‘QEMU_OPTION_spice’ undeclared
(first use in this function) error that some people reported
which is really down to an out of date .def file.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agonet: properly handle illegal fd/vhostfd from command line
Jason Wang [Mon, 25 Oct 2010 05:39:59 +0000 (13:39 +0800)]
net: properly handle illegal fd/vhostfd from command line

When hanlding fd/vhostfd form command line through net_handle_fd_param(),
we need to check mon and return value of strtol() otherwise we could
get segmentation fault or invalid fd when user type an illegal fd/vhostfd.

This patch is based on the suggestions from
Luiz Capitulino <lcapitulino@redhat.com>.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agovirtio: sanity-check available index
Michael S. Tsirkin [Sun, 17 Oct 2010 18:23:48 +0000 (20:23 +0200)]
virtio: sanity-check available index

Checking available index upon load instead of
only when vm is running makes is easier to
debug failures.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agomigration: don't segfault on invalid input
Michael S. Tsirkin [Sun, 17 Oct 2010 18:43:40 +0000 (20:43 +0200)]
migration: don't segfault on invalid input

host_from_stream_offset returns NULL on error,
return error instead of trying to use that address,
to avoid segfault on invalid stream.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agoqemu-timer: move commonly used timer code to qemu-timer-common
Blue Swirl [Sat, 23 Oct 2010 15:24:07 +0000 (15:24 +0000)]
qemu-timer: move commonly used timer code to qemu-timer-common

Move timer init functions to a new file, qemu-timer-common.c. Make other
critical timer functions inlined to preserve performance in
qemu-timer.c, also move muldiv64() (used by the inline functions)
to qemu-timer.h.

Adjust block/raw-posix.c and simpletrace.c to use get_clock() directly.
Remove a similar/duplicate definition in qemu-tool.c.

Adjust hw/omap_clk.c to include qemu-timer.h because muldiv64() is used
there.

After this change, tracing can be used also for user code and
simpletrace on Win32.

Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Acked-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agorewrite i386 tests Makefile
Paolo Bonzini [Thu, 21 Oct 2010 08:18:40 +0000 (10:18 +0200)]
rewrite i386 tests Makefile

1) compute path to i386 compiler from configure.  If it is found, run
the i386 tests.  I use macros so that this approach could be applied
for other arches as well.

2) provide an easily extensible way to add tests

Most tests fail, but at least "make test" does something meaningful.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agofix test_path
Paolo Bonzini [Thu, 21 Oct 2010 08:18:39 +0000 (10:18 +0200)]
fix test_path

path.c grew quite a few new dependencies (mostly via cutils.c),
include them.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agomake runcom compile on recent distributions
Paolo Bonzini [Thu, 21 Oct 2010 08:18:38 +0000 (10:18 +0200)]
make runcom compile on recent distributions

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agodisable test_enter on i386, it is broken
Paolo Bonzini [Thu, 21 Oct 2010 08:18:37 +0000 (10:18 +0200)]
disable test_enter on i386, it is broken

Many other tests fail, but this has an infinite loop with both
qemu-i386 and native execution (albeit on x86_64), so there is
something more going on.  I'm not going to debug it now, so just
disable the test.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agounbreak "make" from vpath-built tests directory
Paolo Bonzini [Thu, 21 Oct 2010 08:18:36 +0000 (10:18 +0200)]
unbreak "make" from vpath-built tests directory

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agounbreak "make" from tests directory
Paolo Bonzini [Thu, 21 Oct 2010 08:18:35 +0000 (10:18 +0200)]
unbreak "make" from tests directory

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agomips_fulong2e: fix ram allocation
Blue Swirl [Fri, 22 Oct 2010 18:26:08 +0000 (18:26 +0000)]
mips_fulong2e: fix ram allocation

RAM registration used incorrect offset.

Fix by using the offset obtained previously for this purpose.

Spotted by GCC 4.6.0 20100925 warning, which is also avoided.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoReplace remaining gcc format attributes by macro GCC_FMT_ATTR (format checking)
Stefan Weil [Wed, 13 Oct 2010 18:54:27 +0000 (20:54 +0200)]
Replace remaining gcc format attributes by macro GCC_FMT_ATTR (format checking)

Replace the remaining format attribute printf by macro
GCC_FMT_ATTR which uses gnu_printf (if supported).

v2
* Removal of dyngen specific code is now done in a separate patch.
* Handle attribute in new ui/spice-display.c, too.

Cc: Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoRemove special handling of system include files (no longer needed)
Stefan Weil [Wed, 13 Oct 2010 18:54:26 +0000 (20:54 +0200)]
Remove special handling of system include files (no longer needed)

The formerly used dyngen code did not work with
system include files like stdio.h.

Tests with Linux, OSX and Win32 show that this
restriction is no longer needed.

So we hopefully can remove that special piece of code.
This results in cleaner code and allows better use of
the new GCC_FMT_ATTR macro.

Cc: Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoMerge remote branch 'qemu-kvm/uq/master' into staging
Anthony Liguori [Fri, 22 Oct 2010 13:02:14 +0000 (08:02 -0500)]
Merge remote branch 'qemu-kvm/uq/master' into staging

14 years agocurses: Fix control-{@[\]^_} and ESC
Samuel Thibault [Tue, 19 Oct 2010 17:48:20 +0000 (19:48 +0200)]
curses: Fix control-{@[\]^_} and ESC

control-{@[\]^_} shouldn't get the 'a' - 'A' offset for correct
translation. ESC is better simulated as escape key.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Andrew Zaborowski <balrogg@gmail.com>
14 years agokvm: save/restore x86-64 MSRs on x86-64 kernels
Marcelo Tosatti [Thu, 21 Oct 2010 15:35:04 +0000 (13:35 -0200)]
kvm: save/restore x86-64 MSRs on x86-64 kernels

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
14 years agokvm: writeback SMP TSCs on migration only
Marcelo Tosatti [Thu, 21 Oct 2010 15:35:03 +0000 (13:35 -0200)]
kvm: writeback SMP TSCs on migration only

commit 6389c45441269baa2873e6feafebd17105ddeaf6
Author: Jan Kiszka <jan.kiszka@siemens.com>
Date:   Mon Mar 1 18:17:26 2010 +0100

    qemu-kvm: Cleanup/fix TSC and PV clock writeback

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
14 years agokvm: factor out kvm_has_msr_star
Marcelo Tosatti [Thu, 21 Oct 2010 15:35:02 +0000 (13:35 -0200)]
kvm: factor out kvm_has_msr_star

And add kvm_has_msr_hsave_pa(), to avoid warnings on older
kernels without support.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
14 years agokvm: add save/restore of MSR_VM_HSAVE_PA
Marcelo Tosatti [Thu, 21 Oct 2010 15:35:01 +0000 (13:35 -0200)]
kvm: add save/restore of MSR_VM_HSAVE_PA

commit 2bba4446746add456ceeb0e8359a43032a2ea333
Author: Alexander Graf <agraf@suse.de>
Date:   Thu Dec 18 15:38:32 2008 +0100

    Enable nested SVM support in userspace

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
14 years agoFix build on !KVM_CAP_MCE
Hidetoshi Seto [Thu, 21 Oct 2010 08:23:14 +0000 (17:23 +0900)]
Fix build on !KVM_CAP_MCE

This patch removes following warnings:

target-i386/kvm.c: In function 'kvm_put_msrs':
target-i386/kvm.c:782: error: unused variable 'i'
target-i386/kvm.c: In function 'kvm_get_msrs':
target-i386/kvm.c:1083: error: label at end of compound statement

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
14 years agox86, mce: broadcast mce depending on the cpu version
Hidetoshi Seto [Thu, 21 Oct 2010 08:47:06 +0000 (17:47 +0900)]
x86, mce: broadcast mce depending on the cpu version

There is no reason why SRAO event received by the main thread
is the only one that being broadcasted.

According to the x86 ASDM vol.3A 15.10.4.1,
MCE signal is broadcast on processor version 06H_EH or later.

This change is required to handle SRAR in smp guests.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
14 years agox86, mce: ignore SRAO only when MCG_SER_P is available
Hidetoshi Seto [Thu, 21 Oct 2010 08:46:49 +0000 (17:46 +0900)]
x86, mce: ignore SRAO only when MCG_SER_P is available

And restruct this block to call kvm_mce_in_exception() only when it is
required.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
14 years agoFix pci hotplug to generate level triggered interrupt.
Gleb Natapov [Sun, 17 Oct 2010 09:45:25 +0000 (11:45 +0200)]
Fix pci hotplug to generate level triggered interrupt.

SCI is level triggered. pci hotplug should behave appropriately.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
14 years agoUse defines instead of numbers for pci hotplug sts bit
Gleb Natapov [Sun, 17 Oct 2010 09:45:24 +0000 (11:45 +0200)]
Use defines instead of numbers for pci hotplug sts bit

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
14 years agoFix memory leak in register save load due to xsave support
Marcelo Tosatti [Tue, 19 Oct 2010 11:00:34 +0000 (09:00 -0200)]
Fix memory leak in register save load due to xsave support

From: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
14 years agoAdd savevm/loadvm support for MCE
Marcelo Tosatti [Mon, 11 Oct 2010 18:31:22 +0000 (15:31 -0300)]
Add savevm/loadvm support for MCE

Port qemu-kvm's

commit 1bab5d11545d8de5facf46c28630085a2f9651ae
Author: Huang Ying <ying.huang@intel.com>
Date:   Wed Mar 3 16:52:46 2010 +0800

    Add savevm/loadvm support for MCE

    MCE registers are saved/load into/from CPUState in
    kvm_arch_save/load_regs. To simulate the MCG_STATUS clearing upon
    reset, MSR_MCG_STATUS is set to 0 for KVM_PUT_RESET_STATE.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
14 years agoMCE: Relay UCR MCE to guest
Marcelo Tosatti [Mon, 11 Oct 2010 18:31:21 +0000 (15:31 -0300)]
MCE: Relay UCR MCE to guest

Port qemu-kvm's

commit 4b62fff1101a7ad77553147717a8bd3bf79df7ef
Author: Huang Ying <ying.huang@intel.com>
Date:   Mon Sep 21 10:43:25 2009 +0800

    MCE: Relay UCR MCE to guest

    UCR (uncorrected recovery) MCE is supported in recent Intel CPUs,
    where some hardware error such as some memory error can be reported
    without PCC (processor context corrupted). To recover from such MCE,
    the corresponding memory will be unmapped, and all processes accessing
    the memory will be killed via SIGBUS.

    For KVM, if QEMU/KVM is killed, all guest processes will be killed
    too. So we relay SIGBUS from host OS to guest system via a UCR MCE
    injection. Then guest OS can isolate corresponding memory and kill
    necessary guest processes only. SIGBUS sent to main thread (not VCPU
    threads) will be broadcast to all VCPU threads as UCR MCE.

aliguori: fix build

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
14 years agoAdd RAM -> physical addr mapping in MCE simulation
Huang Ying [Mon, 11 Oct 2010 18:31:20 +0000 (15:31 -0300)]
Add RAM -> physical addr mapping in MCE simulation

In QEMU-KVM, physical address != RAM address. While MCE simulation
needs physical address instead of RAM address. So
kvm_physical_memory_addr_from_ram() is implemented to do the
conversion, and it is invoked before being filled in the IA32_MCi_ADDR
MSR.

Reported-by: Dean Nelson <dnelson@redhat.com>
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
14 years agoExport qemu_ram_addr_from_host
Marcelo Tosatti [Mon, 11 Oct 2010 18:31:19 +0000 (15:31 -0300)]
Export qemu_ram_addr_from_host

To be used by next patches.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
14 years agokvm: x86: add mce support
Marcelo Tosatti [Mon, 11 Oct 2010 18:31:18 +0000 (15:31 -0300)]
kvm: x86: add mce support

Port qemu-kvm's MCE support

commit c68b2374c9048812f488e00ffb95db66c0bc07a7
Author: Huang Ying <ying.huang@intel.com>
Date:   Mon Jul 20 10:00:53 2009 +0800

    Add MCE simulation support to qemu/kvm

    KVM ioctls are used to initialize MCE simulation and inject MCE. The
    real MCE simulation is implemented in Linux kernel. The Kernel part
    has been merged.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
14 years agoiothread: use signalfd
Marcelo Tosatti [Mon, 11 Oct 2010 18:31:16 +0000 (15:31 -0300)]
iothread: use signalfd

Block SIGALRM, SIGIO and consume them via signalfd.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
14 years agosignalfd compatibility
Marcelo Tosatti [Mon, 11 Oct 2010 18:31:15 +0000 (15:31 -0300)]
signalfd compatibility

Port qemu-kvm's signalfd compat code.

commit 5a7fdd0abd7cd24dac205317a4195446ab8748b5
Author: Anthony Liguori <aliguori@us.ibm.com>
Date:   Wed May 7 11:55:47 2008 -0500

    Use signalfd() in io-thread

    This patch reworks the IO thread to use signalfd() instead of sigtimedwait()
    This will eliminate the need to use SIGIO everywhere.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
14 years agoAdd svm cpuid features
Joerg Roedel [Mon, 27 Sep 2010 13:16:17 +0000 (15:16 +0200)]
Add svm cpuid features

This patch adds the svm cpuid feature flags to the qemu
intialization path. It also adds the svm features available
on phenom to its cpu-definition and extends the host cpu
type to support all svm features KVM can provide.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
14 years agoSet cpuid definition to 0 before initializing it
Joerg Roedel [Mon, 27 Sep 2010 13:16:16 +0000 (15:16 +0200)]
Set cpuid definition to 0 before initializing it

This patch cleans the (stack-allocated) cpuid definition to
0 before actually initializing it.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
14 years agoconfigure: Support disabling warnings in $gcc_flags
Markus Armbruster [Thu, 14 Oct 2010 09:19:04 +0000 (11:19 +0200)]
configure: Support disabling warnings in $gcc_flags

-Wall enables a bunch of warnings at once.  configure puts it after
$gcc_flags.  This makes it impossible to disable warnings enabled by
-Wall there.  Fix by putting configured flags last.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agotcg: Fix compiler error (comparison of unsigned expression)
Stefan Weil [Fri, 8 Oct 2010 08:32:23 +0000 (10:32 +0200)]
tcg: Fix compiler error (comparison of unsigned expression)

When qemu is configured with --enable-debug-tcg,
gcc throws this warning (or error with -Werror):

tcg/tcg.c:1030: error: comparison of unsigned expression >= 0 is always true

Fix it by removing the >= 0 part.
The type cast to 'unsigned' catches negative values of op
(which should never happen).

This is a modification of Hollis Blanchard's patch.

Cc: Hollis Blanchard <hollis@penguinppc.org>
Cc: Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agowacom tablet: activate event handlers.
Gerd Hoffmann [Fri, 8 Oct 2010 10:30:14 +0000 (12:30 +0200)]
wacom tablet: activate event handlers.

Add qemu_activate_mouse_event_handler() calls to the usb wavom tablet so
it actually receives events.  Also make sure we only remove the handler
if we registered it before.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
14 years agovmmouse: adapt to mouse handler changes.
Gerd Hoffmann [Fri, 8 Oct 2010 10:30:13 +0000 (12:30 +0200)]
vmmouse: adapt to mouse handler changes.

This patch updates the vmmouse handler registration and activation.

Old behavior:
  vmmouse_read_id, vmmouse_request_relative and vmmouse_request_absolute
  unregister the handler and re-register it.

New behavior:
  vmmouse_request_relative and vmmouse_request_absolute will unregister
  the handler in case the mode did change.  Then register and active the
  handler with current mode if needed.

Note that the old code never ever *activates* the handler, so the
vmmouse doesn't receive events.  This trips up Fedora 14 for example:
Boot a default install without usb tablet, watch the X-Server activating
the vmmouse then, enjoy a non-functional mouse.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
14 years ago[virtio-9p] Add support to v9fs_string_alloc_printf() for handling %lu.
Venkateswararao Jujjuri (JV) [Thu, 7 Oct 2010 00:09:42 +0000 (17:09 -0700)]
[virtio-9p] Add support to v9fs_string_alloc_printf() for handling %lu.

Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
14 years ago[virtio-9p] Use preadv/pwritev instead of readv/writev
Sanchit Garg [Fri, 8 Oct 2010 06:00:16 +0000 (11:30 +0530)]
[virtio-9p] Use preadv/pwritev instead of readv/writev

readv & writev, read & write respectively from the current offset
of the file & hence their use has to be preceeded by a call to lseek.
preadv/writev can be used instead, as they take the offset as an argument.
This saves one system call( lseek ).
In case preadv is not supported, it is implemented by an lseek
followed by a readv. Depending upon the configuration of QEMU, the
appropriate read & write methods are selected. This patch also fixes the
zero byte read/write bug & obviates the need to apply a fix for that bug separately.

Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>
Signed-off-by: Sanchit Garg <sancgarg@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
14 years ago[virtio-9p] Qemu 9p commandline options validity checks
Harsh Prateek Bora [Mon, 18 Oct 2010 10:06:36 +0000 (15:36 +0530)]
[virtio-9p] Qemu 9p commandline options validity checks

Signed-off-by: Harsh Prateek Bora <harsh@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
14 years agovirtio-9p: Support mapped posix acl
Aneesh Kumar K.V [Mon, 18 Oct 2010 09:58:16 +0000 (15:28 +0530)]
virtio-9p: Support mapped posix acl

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
14 years agovirtio-9p: Use layered xattr approach
Aneesh Kumar K.V [Mon, 18 Oct 2010 09:58:16 +0000 (15:28 +0530)]
virtio-9p: Use layered xattr approach

We would need this to make sure we handle the mapped
security model correctly for different xattr names.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
14 years ago[virtio-9p] Ignore O_DIRECT hint from client.
Venkateswararao Jujjuri (JV) [Sun, 19 Sep 2010 17:47:11 +0000 (10:47 -0700)]
[virtio-9p] Ignore O_DIRECT hint from client.

The O_DIRECT flag imposes alignment restrictions on the length and address
of userspace buffers and the file offset of I/Os.

While VirtFS/9P has plans to implement O_DIRECT behavior on the server,
for now we will stick to a behavior like NFS by bypassing the page cache
only on the client. Server may still cache the I/O.

Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
14 years agoqemu-virtio-9p: Implement TREADLINK operation for 9p2000.L
M. Mohan Kumar [Tue, 14 Sep 2010 09:38:25 +0000 (15:08 +0530)]
qemu-virtio-9p: Implement TREADLINK operation for 9p2000.L

Synopsis

        size[4] TReadlink tag[2] fid[4]
        size[4] RReadlink tag[2] target[s]

Description
        Readlink is used to return the contents of the symoblic link
        referred by fid. Contents of symboic link is returned as a
        response.

        target[s] - Contents of the symbolic link referred by fid.

Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
14 years ago[virtio-9p] Introduce server side TFSYNC/RFSYNC for dotl
Venkateswararao Jujjuri (JV) [Thu, 23 Sep 2010 00:18:33 +0000 (17:18 -0700)]
[virtio-9p] Introduce server side TFSYNC/RFSYNC for dotl

SYNOPSIS
    size[4] Tfsync tag[2] fid[4]

    size[4] Rfsync tag[2]

DESCRIPTION

The Tfsync transaction transfers ("flushes") all modified in-core data of
file identified by fid to the disk device (or other  permanent  storage
device)  where that  file  resides.

Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
14 years agoqemu-virtio9p: Implement TGETLOCK
M. Mohan Kumar [Tue, 7 Sep 2010 21:06:52 +0000 (02:36 +0530)]
qemu-virtio9p: Implement TGETLOCK

Synopsis

    size[4] TGetlock tag[2] fid[4] getlock[n]
    size[4] RGetlock tag[2] getlock[n]

Description

TGetlock is used to test for the existence of byte range posix locks on
a file identified by given fid. The reply contains getlock structure. If
the lock could be placed it returns F_UNLCK in type field of getlock structure.
Otherwise it returns the details of the conflicting locks in the getlock
structure

    getlock structure:
      type[1] - Type of lock: F_RDLCK, F_WRLCK
      start[8] - Starting offset for lock
      length[8] - Number of bytes to lock
        If length is 0, lock all bytes starting at the location
        'start' through to the end of file
      proc_id[4] - process id that wants to take lock/owns the task
               in case of reply
      client[4] - Client id of the system that owns the process

Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
14 years ago[virto-9p] Implement TLOCK
M. Mohan Kumar [Tue, 7 Sep 2010 20:49:32 +0000 (02:19 +0530)]
[virto-9p] Implement TLOCK

Synopsis

    size[4] TLock tag[2] fid[4] flock[n]
    size[4] RLock tag[2] status[1]

Description

Tlock is used to acquire/release byte range posix locks on a file
identified by given fid. The reply contains status of the lock request

    flock structure:
        type[1] - Type of lock: F_RDLCK, F_WRLCK, F_UNLCK
        flags[4] - Flags could be either of
          P9_LOCK_FLAGS_BLOCK(1) - Blocked lock request, if there is a
            conflicting lock exists, wait for that lock to be released.
          P9_LOCK_FLAGS_RECLAIM(2) - Reclaim lock request, used when client is
            trying to reclaim a lock after a server restrart (due to crash)
        start[8] - Starting offset for lock
        length[8] - Number of bytes to lock
          If length is 0, lock all bytes starting at the location 'start'
          through to the end of file
        pid[4] - PID of the process that wants to take lock
        client_id[4] - Unique client id

        status[1] - Status of the lock request, can be
          P9_LOCK_SUCCESS(0), P9_LOCK_BLOCKED(1), P9_LOCK_ERROR(2) or
          P9_LOCK_GRACE(3)
          P9_LOCK_SUCCESS - Request was successful
          P9_LOCK_BLOCKED - A conflicting lock is held by another process
          P9_LOCK_ERROR - Error while processing the lock request
          P9_LOCK_GRACE - Server is in grace period, it can't accept new lock
                requests in this period (except locks with
                P9_LOCK_FLAGS_RECLAIM flag set)

Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
14 years ago[virtio-9p] open should not return EBADF
Sripathi Kodi [Mon, 20 Sep 2010 17:54:29 +0000 (23:24 +0530)]
[virtio-9p] open should not return EBADF

When 9P server fails to create a file due to permission problems it should
return EPERM. However the current 9P2000.L code returns EBADF. EBADF is NOT
a valid return value from open() call.

The problem is because we do not preserve the errno variable properly. If the
file open had failed, the call to close() on the fd in v9fs_post_lcreate()
fails and sets errno to EBADF. We should preserve the errno that we got from
open() and we should call close() only if we had a valid fd.

Signed-off-by: Sripathi Kodi <sripathik@in.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
14 years agotrace: improve info trace output
Blue Swirl [Wed, 20 Oct 2010 16:41:36 +0000 (16:41 +0000)]
trace: improve info trace output

Use PRI*64 to print full 64 bit data even on ILP32 hosts.

Print also sixth tracepoint parameter.

Acked-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agotrace: Format strings must begin/end with double quotes
Stefan Hajnoczi [Wed, 20 Oct 2010 16:41:31 +0000 (16:41 +0000)]
trace: Format strings must begin/end with double quotes

Document the restriction that format strings must begin and end with
double quotes.  This is for easy parsing since we don't run cpp over
trace-events.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoapic: convert debug printf statements to tracepoints
Blue Swirl [Wed, 20 Oct 2010 16:41:28 +0000 (16:41 +0000)]
apic: convert debug printf statements to tracepoints

Replace debug printf statements with tracepoints.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agotrace: Relax trace-events parsing regex in simpletrace.py
Stefan Hajnoczi [Mon, 18 Oct 2010 12:42:54 +0000 (13:42 +0100)]
trace: Relax trace-events parsing regex in simpletrace.py

The regular expression to parse trace event definitions assumed the
format string would be a simple double-quoted string.  However, we now
use PRI?64 for portability which splits string literals.  The regular
expression can disregard the format string entirely since simpletrace.py
never needs to use it.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agox3130: pcie downstream port
Isaku Yamahata [Wed, 20 Oct 2010 08:18:55 +0000 (17:18 +0900)]
x3130: pcie downstream port

Implement TI x3130 pcie downstream port switch.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agox3130: pcie upstream port
Isaku Yamahata [Wed, 20 Oct 2010 08:18:54 +0000 (17:18 +0900)]
x3130: pcie upstream port

Implement TI x3130 pcie upstream port switch.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agoioh3420: pcie root port in X58 ioh
Isaku Yamahata [Wed, 20 Oct 2010 08:18:53 +0000 (17:18 +0900)]
ioh3420: pcie root port in X58 ioh

Implements pcie root port switch in intel X58 ioh
whose device id is 0x3420.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agopcie port: define struct PCIEPort/PCIESlot and helper functions
Isaku Yamahata [Wed, 20 Oct 2010 08:18:52 +0000 (17:18 +0900)]
pcie port: define struct PCIEPort/PCIESlot and helper functions

define struct PCIEPort which represents common part
of pci express port.(root, upstream and downstream.)
add a helper function for pcie port which can be used commonly by
root/upstream/downstream port.
define struct PCIESlot which represents common part of
pcie slot.(root and downstream.) and helper functions for it.
helper functions for chassis, slot -> PCIESlot conversion.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agopci/bridge: fix pci_bridge_reset()
Isaku Yamahata [Wed, 20 Oct 2010 08:18:51 +0000 (17:18 +0900)]
pci/bridge: fix pci_bridge_reset()

The lower bits of base/limit registers is RO and shouldn't be zero
cleared on reset. This patch fixes it.
In fact, the default value of base/limit registers aren't specified
in the spec. And some bridges disable forwarding on reset instead of
zeroing base/limit registers.
So introduce one function to disable bridge forwarding so that
such bridges can use it. It will be used later.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agopcie: comment on hpev_intx
Isaku Yamahata [Wed, 20 Oct 2010 08:18:50 +0000 (17:18 +0900)]
pcie: comment on hpev_intx

document hpev_intx.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agopcie: helper functions for pcie capability and extended capability
Isaku Yamahata [Tue, 19 Oct 2010 09:06:34 +0000 (18:06 +0900)]
pcie: helper functions for pcie capability and extended capability

This patch implements helper functions for pci express capability
and pci express extended capability allocation.
NOTE: presence detection depends on pci_qdev_init() change.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agopcie: add pcie constants to pcie_regs.h
Isaku Yamahata [Tue, 19 Oct 2010 09:06:33 +0000 (18:06 +0900)]
pcie: add pcie constants to pcie_regs.h

add pcie constants to pcie_regs.h.
Those constants should go to Linux pci_regs.h and then the file should
go away eventually.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agomsi: implements msi
Isaku Yamahata [Tue, 19 Oct 2010 09:06:32 +0000 (18:06 +0900)]
msi: implements msi

implements msi related functions.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agopci: use pci_word_test_and_clear_mask() in pci_device_reset()
Isaku Yamahata [Tue, 19 Oct 2010 09:06:30 +0000 (18:06 +0900)]
pci: use pci_word_test_and_clear_mask() in pci_device_reset()

use pci_clear_bit_word() in pci_device_reset() where appropriate.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agopci: introduce helper function to handle msi-x and msi.
Isaku Yamahata [Tue, 19 Oct 2010 09:06:29 +0000 (18:06 +0900)]
pci: introduce helper function to handle msi-x and msi.

this patch implements helper functions to handle msi-x and msi
uniformly.
They will be used later.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agopci: introduce helper functions to test-and-{clear, set} mask in configuration space
Isaku Yamahata [Tue, 19 Oct 2010 09:06:28 +0000 (18:06 +0900)]
pci: introduce helper functions to test-and-{clear, set} mask in configuration space

This patch introduces helper functions to test-and-{clear, set} mask in configuration
space. pci_{byte, word, long, quad}_test_and_{clear, set}_mask().
They will be used later.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agopci: make pci_del_capability() update for w1cmask
Isaku Yamahata [Mon, 18 Oct 2010 03:17:42 +0000 (12:17 +0900)]
pci: make pci_del_capability() update for w1cmask

Clear w1cmask when deleting a pci capability.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agoissue snd_pcm_start() when capturing audio
Jindrich Makovicka [Sun, 17 Oct 2010 18:17:19 +0000 (20:17 +0200)]
issue snd_pcm_start() when capturing audio

snd_pcm_start() starts the capture process and ensures that the events
are delivered to the poll handler. Without the call, capture can be started
only when there is simultaneous playback running.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: malc <av1474@comtv.ru>
14 years agofix 100% CPU load when idle with ALSA
Jindrich Makovicka [Sun, 17 Oct 2010 17:28:14 +0000 (19:28 +0200)]
fix 100% CPU load when idle with ALSA

Playback control function did not disable polling when playback stops.
Caused busy spinning of the main loop due to unprocessed events.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: malc <av1474@comtv.ru>
14 years agotrace: print a warning if user tries to enable an unknown trace event
Blue Swirl [Wed, 13 Oct 2010 19:14:29 +0000 (19:14 +0000)]
trace: print a warning if user tries to enable an unknown trace event

There was no warning if a bad trace event name was given to
'trace-event' command, thus the user could think that the command
was successful even if this was not the case.

Print a warning if the user tries to enable a trace event which is not
known.

Acked-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agomips: avoid write only variables
Blue Swirl [Wed, 13 Oct 2010 18:38:08 +0000 (18:38 +0000)]
mips: avoid write only variables

Compiling with GCC 4.6.0 20100925 produced a lot of warnings like:
/src/qemu/target-mips/translate.c: In function 'gen_ld':
/src/qemu/target-mips/translate.c:1039:17: error: variable 'opn' set but not used [-Werror=unused-but-set-variable]

Fix by adding a dummy cast so that the variable is not unused.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoppc: avoid write only variables
Blue Swirl [Wed, 13 Oct 2010 18:38:08 +0000 (18:38 +0000)]
ppc: avoid write only variables

Compiling with GCC 4.6.0 20100925 produced warnings:
/src/qemu/target-ppc/op_helper.c: In function 'helper_icbi':
/src/qemu/target-ppc/op_helper.c:351:14: error: variable 'tmp' set but not used [-Werror=unused-but-set-variable]
/src/qemu/target-ppc/op_helper.c: In function 'do_6xx_tlb':
/src/qemu/target-ppc/op_helper.c:3805:28: error: variable 'EPN' set but not used [-Werror=unused-but-set-variable]
/src/qemu/target-ppc/op_helper.c: In function 'do_74xx_tlb':
/src/qemu/target-ppc/op_helper.c:3838:28: error: variable 'EPN' set but not used [-Werror=unused-but-set-variable]

Fix by adding a dummy cast so that the variable is not unused. Delete tmp.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoi386: avoid a write only variable
Blue Swirl [Wed, 13 Oct 2010 18:38:08 +0000 (18:38 +0000)]
i386: avoid a write only variable

Compiling with GCC 4.6.0 20100925 produced warnings:
/src/qemu/target-i386/op_helper.c: In function 'switch_tss':
/src/qemu/target-i386/op_helper.c:283:53: error: variable 'new_trap' set but not used [-Werror=unused-but-set-variable]

Fix by adding a dummy cast so that the variable is not unused. Add also
pointer to docs.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agovnc: avoid write only variables
Blue Swirl [Wed, 13 Oct 2010 18:38:08 +0000 (18:38 +0000)]
vnc: avoid write only variables

Compiling with GCC 4.6.0 20100925 produced warnings:
/src/qemu/ui/vnc.c: In function 'vnc_client_cache_auth':
/src/qemu/ui/vnc.c:217:12: error: variable 'qdict' set but not used [-Werror=unused-but-set-variable]
/src/qemu/ui/vnc.c: In function 'vnc_display_open':
/src/qemu/ui/vnc.c:2526:9: error: variable 'acl' set but not used [-Werror=unused-but-set-variable]

Fix by making the variable declarations and their uses also conditional
to debug definition.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agocris: avoid a write only variable
Blue Swirl [Wed, 13 Oct 2010 18:38:08 +0000 (18:38 +0000)]
cris: avoid a write only variable

Compiling with GCC 4.6.0 20100925 produced a warning:
In file included from /src/qemu/target-cris/translate.c:3154:0:
/src/qemu/target-cris/translate_v10.c: In function 'dec10_prep_move_m':
/src/qemu/target-cris/translate_v10.c:111:22: error: variable 'rd' set but not used [-Werror=unused-but-set-variable]

Fix by deleting rd, adjust the only user.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoDelete write only variables
Blue Swirl [Wed, 13 Oct 2010 18:41:29 +0000 (18:41 +0000)]
Delete write only variables

Compiling with GCC 4.6.0 20100925 produced warnings like:
/src/qemu/net/tap-win32.c: In function 'tap_win32_open':
/src/qemu/net/tap-win32.c:582:12: error: variable 'hThread' set but not used [-Werror=unused-but-set-variable]

Fix by removing the unused variables.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoppc: remove video.x
Blue Swirl [Wed, 13 Oct 2010 18:38:07 +0000 (18:38 +0000)]
ppc: remove video.x

Only Mac-on-Linux stuff used video.x, OpenBIOS does not need it.

Remove video.x MoL hacks.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agolsi53c895a: avoid a write only variable
Blue Swirl [Wed, 13 Oct 2010 18:38:07 +0000 (18:38 +0000)]
lsi53c895a: avoid a write only variable

Compiling with GCC 4.6.0 20100925 produced a warning:
/src/qemu/hw/lsi53c895a.c: In function 'lsi_do_msgout':
/src/qemu/hw/lsi53c895a.c:848:9: error: variable 'len' set but not used [-Werror=unused-but-set-variable]

Fix by adding a dummy cast so that the variable is not unused for
non-debug case.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoeepro100: initialize a variable in all cases
Blue Swirl [Wed, 13 Oct 2010 18:38:07 +0000 (18:38 +0000)]
eepro100: initialize a variable in all cases

Compiling with GCC 4.6.0 20100925 produced warnings:
/src/qemu/hw/eepro100.c: In function 'eepro100_read4':
/src/qemu/hw/eepro100.c:1351:14: error: 'val' may be used uninitialized in this function [-Werror=uninitialized]
/src/qemu/hw/eepro100.c: In function 'eepro100_read2':
/src/qemu/hw/eepro100.c:1328:14: error: 'val' may be used uninitialized in this function [-Werror=uninitialized]
/src/qemu/hw/eepro100.c: In function 'eepro100_read1':
/src/qemu/hw/eepro100.c:1285:13: error: 'val' may be used uninitialized in this function [-Werror=uninitialized]

Fix by initializing 'val' at start.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agocirrus: avoid write only variables
Blue Swirl [Wed, 13 Oct 2010 18:38:07 +0000 (18:38 +0000)]
cirrus: avoid write only variables

Compiling with GCC 4.6.0 20100925 produced a lot of warnings like:
In file included from /src/qemu/hw/cirrus_vga_rop.h:174:0,
                 from /src/qemu/hw/cirrus_vga.c:284:
/src/qemu/hw/cirrus_vga_rop2.h: In function 'cirrus_patternfill_0_8':
/src/qemu/hw/cirrus_vga_rop2.h:48:18: error: variable 'col' set but not used [-Werror=unused-but-set-variable]
/src/qemu/hw/cirrus_vga_rop2.h: In function 'cirrus_colorexpand_transp_0_8':
/src/qemu/hw/cirrus_vga_rop2.h:104:18: error: variable 'col' set but not used [-Werror=unused-but-set-variable]

Fix the warnings by introducing an inline function, which avoids
exposing write-only variables.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoblock: avoid a write only variable
Blue Swirl [Wed, 13 Oct 2010 18:38:07 +0000 (18:38 +0000)]
block: avoid a write only variable

Compiling with GCC 4.6.0 20100925 produced a warning:
/src/qemu/block/qcow2-refcount.c: In function 'update_refcount':
/src/qemu/block/qcow2-refcount.c:552:13: error: variable 'dummy' set but not used [-Werror=unused-but-set-variable]

Fix by adding a dummy cast so that the result is not unused.

Acked-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoMerge remote branch 'mst/for_anthony' into staging
Anthony Liguori [Mon, 11 Oct 2010 20:37:11 +0000 (15:37 -0500)]
Merge remote branch 'mst/for_anthony' into staging

14 years agotrace: remove timestamp files when cleaning up
Blue Swirl [Sat, 9 Oct 2010 08:24:17 +0000 (08:24 +0000)]
trace: remove timestamp files when cleaning up

'make clean' did not remove trace.[ch]-timestamp files,
only trace.[ch]. But 'make' did not know how to make trace.[ch]
files if the timestamp files were present.

Fix by removing the timestamp files along with trace.[ch].

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoconfigure: Send error message from spice check to /dev/null
Stefan Weil [Thu, 7 Oct 2010 19:15:58 +0000 (21:15 +0200)]
configure: Send error message from spice check to /dev/null

pkg-config is not always available (e.g. on win32 hosts),
but we don't want to see the 'command not found' error message.

Redirect stdout and stderr to /dev/null.

v2:

* Removed changes which should not have been here.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agowin32: Set unbuffered stdout
Stefan Weil [Thu, 7 Oct 2010 16:55:48 +0000 (18:55 +0200)]
win32: Set unbuffered stdout

Win32 does not support line-buffering, but it allows
unbuffered output.

Unbuffered output is a good approximation. For typical output
statements which usually end with '\n', it's even identical.

Buffered output is unusable for program traces because of
its large delay.

Cc: Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years ago.gitignore: Ignore *-timestamp
Stefan Hajnoczi [Thu, 7 Oct 2010 11:07:15 +0000 (12:07 +0100)]
.gitignore: Ignore *-timestamp

Timestamp files were recently added to reduce make churn on source files
that use tracing.  The timestamp files should never be committed and
should not be visible in git status.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoacpi: Fix an infinite loop in acpi_table_add
Vincent Minet [Tue, 5 Oct 2010 00:23:12 +0000 (02:23 +0200)]
acpi: Fix an infinite loop in acpi_table_add

Commit d729bb9a7700e364b1c5f9893d61f07a9e002bce has a typo, causing an
infinite loop in acpi_table_add.

Signed-off-by: Vincent Minet <vincent@vincent-minet.net>
Acked-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoconfigure: Remove unneeded defines from checks
Stefan Weil [Wed, 6 Oct 2010 19:09:17 +0000 (21:09 +0200)]
configure: Remove unneeded defines from checks

_GNU_SOURCE is already defined in QEMU_CFLAGS which
is passed to gcc in shell function compile_prog.

Removing the definition from several checks avoids compiler warnings
(which are now written to config.log).

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agoconfigure: include stddef.h for NULL
Scott Wood [Tue, 5 Oct 2010 19:28:17 +0000 (14:28 -0500)]
configure: include stddef.h for NULL

This fixes an observed failure to detect madvise() on Linux.

To avoid similar issues, all other tests that use NULL but don't already
have stddef.h (or another header that is defined to provide NULL,
such as stdio.h, unistd.h, or time.h) are also fixed.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agotrace: Trace bdrv_aio_{readv,writev}
Stefan Hajnoczi [Tue, 5 Oct 2010 13:28:53 +0000 (14:28 +0100)]
trace: Trace bdrv_aio_{readv,writev}

Observing block layer aio readv/writev operations is useful for
debugging image formats or understanding guest disk I/O patterns.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agotrace: Use TP_PROTO() and TP_ARGS() for LTTng UST
Stefan Hajnoczi [Tue, 5 Oct 2010 13:28:52 +0000 (14:28 +0100)]
trace: Use TP_PROTO() and TP_ARGS() for LTTng UST

The LTTng UserSpace Tracer formerly used TPPROTO() and TPARGS() instead
of TP_PROTO() and TP_ARGS() like the kernel uses.  This has been changed
so QEMU needs to follow.

I am not aware of a graceful way of making the transition but since no
one complained that the UST build is broken, it should be fine to just
switch over without compatibility for old UST headers.  The newer UST
headers are shipping in distro packages so it is realistic to make this
change now.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
14 years agotrace: Don't strip lines containing '#' arbitrarily
Stefan Hajnoczi [Tue, 5 Oct 2010 13:28:51 +0000 (14:28 +0100)]
trace: Don't strip lines containing '#' arbitrarily

Although comment lines must be skipped, the '#' character can occur in
valid format strings.  Be more careful when checking for comments.
Leave comments at the end of the line where they will not interfere with
other processing.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>