OSDN Git Service
Eduardo Habkost [Thu, 20 Dec 2012 18:43:48 +0000 (16:43 -0200)]
target-i386: CPUID: return highest basic leaf if eax > cpuid_xlevel
This fixes a subtle bug. A bug that probably won't cause trouble for any
existing OS, but a bug anyway:
Intel SDM Volume 2, CPUID Instruction states:
> Two types of information are returned: basic and extended function
> information. If a value entered for CPUID.EAX is higher than the maximum
> input value for basic or extended function for that processor then the
> data for the highest basic information leaf is returned. For example,
> using the Intel Core i7 processor, the following is true:
>
> CPUID.EAX = 05H (* Returns MONITOR/MWAIT leaf. *)
> CPUID.EAX = 0AH (* Returns Architectural Performance Monitoring leaf. *)
> CPUID.EAX = 0BH (* Returns Extended Topology Enumeration leaf. *)
> CPUID.EAX = 0CH (* INVALID: Returns the same information as CPUID.EAX = 0BH. *)
> CPUID.EAX = 80000008H (* Returns linear/physical address size data. *)
> CPUID.EAX = 8000000AH (* INVALID: Returns same information as CPUID.EAX = 0BH. *)
AMD's CPUID Specification, on the other hand, is less specific:
> The CPUID instruction supports two sets or ranges of functions,
> standard and extended.
>
> • The smallest function number of the standard function range is
> Fn0000_0000. The largest function num- ber of the standard function
> range, for a particular implementation, is returned in CPUID
> Fn0000_0000_EAX.
>
> • The smallest function number of the extended function range is
> Fn8000_0000. The largest function num- ber of the extended function
> range, for a particular implementation, is returned in CPUID
> Fn8000_0000_EAX.
>
> Functions that are neither standard nor extended are undefined and
> should not be relied upon.
QEMU's behavior matched Intel's specification before, but this was
changed by commit
b3baa152aaef1905876670590275c2dd0bbb088c. This patch
restores the behavior documented by Intel when cpuid_xlevel2 is 0.
The existing behavior when cpuid_xlevel2 is set (falling back to
level=cpuid_xlevel) is being kept, as I couldn't find any public
documentation on the CPUID 0xC0000000 function range on Centaur CPUs.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Lei Li [Fri, 21 Dec 2012 04:26:38 +0000 (12:26 +0800)]
qemu-char: Inherit ptys and improve output from -serial pty
Changes since V1:
- Avoid crashing since qemu_opts_id() may return null on some
systems according to Markus's suggestion.
When controlling a qemu instance from another program, it's
hard to know which serial port or monitor device is redirected
to which pty. With more than one device using "pty" a lot of
guesswork is involved.
$ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty
char device redirected to /dev/pts/5
char device redirected to /dev/pts/6
char device redirected to /dev/pts/7
Although we can find out what everything else is connected to
by the "info chardev" with "-monitor stdio" in the command line,
It'd be very useful to be able to have qemu inherit pseudo-tty
file descriptors so they could just be specified on the command
line like:
$ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty
char device compat_monitor0 redirected to /dev/pts/5
char device serial0 redirected to /dev/pts/6
char device serial1 redirected to /dev/pts/7
link: https://bugs.launchpad.net/qemu/+bug/938552
Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Max Filippov [Wed, 19 Dec 2012 20:04:09 +0000 (00:04 +0400)]
target-xtensa: fix search_pc for the last TB opcode
Zero out tcg_ctx.gen_opc_instr_start for instructions representing the
last guest opcode in the TB.
Cc: qemu-stable@nongnu.org
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Liming Wang [Fri, 21 Dec 2012 08:56:58 +0000 (16:56 +0800)]
net: add missing include file
To fix building error:
CC net/vde.o
net/vde.c: In function ‘vde_cleanup’:
net/vde.c:65:5: error: implicit declaration of function ‘qemu_set_fd_handler’ [-Werror=implicit-function-declaration]
net/vde.c:65:5: error: nested extern declaration of ‘qemu_set_fd_handler’ [-Werror=nested-externs]
cc1: all warnings being treated as errors
Signed-off-by: Liming Wang <walimisdev@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
陳韋任 (Wei-Ren Chen) [Thu, 20 Dec 2012 01:39:16 +0000 (09:39 +0800)]
translate-all.c: Use tb1->phys_hash_next directly in tb_remove
When tb_remove was first commited at
fd6ce8f6, there were three different
calls pass different names to offsetof. In current codebase, the other two
calls are replaced with tb_page_remove. There is no need to have a general
tb_remove. Omit passing the third parameter and using tb1->phys_hash_next
directly.
Signed-off-by: Chen Wei-Ren <chenwj@iis.sinica.edu.tw>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Stefan Weil [Thu, 20 Dec 2012 22:09:53 +0000 (23:09 +0100)]
net: Add missing include statement (fix compiler warnings for MinGW)
These and some more compiler warnings were caused by a recent commit:
net/tap-win32.c:724: warning: no previous prototype for ‘tap_has_ufo’
net/tap-win32.c:729: warning: no previous prototype for ‘tap_has_vnet_hdr’
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Paolo Bonzini [Thu, 20 Dec 2012 11:29:20 +0000 (12:29 +0100)]
xen: add missing include
xen-all needs to access CharDeviceState's filename field, so
it needs to include char/char.h.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Tested-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Paolo Bonzini [Thu, 20 Dec 2012 11:29:19 +0000 (12:29 +0100)]
build: fix includes for VNC
vnc-tls.h is included by vnc.h, and it includes gnutls/gnutls.h.
Hence, GnuTLS header files are needed by all files that include
vnc.h, most notably qmp.c. Move these flags to QEMU_CFLAGS for
simplicity.
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Anthony Liguori [Fri, 21 Dec 2012 13:53:48 +0000 (07:53 -0600)]
Merge remote-tracking branch 'quintela/thread-
20121220.next' into staging
* quintela/thread-
20121220.next: (79 commits)
migration: merge QEMUFileBuffered into MigrationState
migration: fix qemu_get_fd for BufferedFile
ram: refactor ram_save_block() return value
ram: account the amount of transferred ram better
ram: optimize migration bitmap walking
ram: Use memory_region_test_and_clear_dirty
memory: introduce memory_region_test_and_clear_dirty
ram: Add last_sent_block
ram: rename last_block to last_seen_block
migration: move migration notifier
migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect
migration: move migration_fd_put_ready()
migration: add XFER_LIMIT_RATIO
migration: move buffered_file.c code into migration.c
savevm: New save live migration method: pending
buffered_file: unfold buffered_append in buffered_put_buffer
buffered_file: don't flush on put buffer
buffered_file: Unfold the trick to restart generating migration data
migration: just lock migrate_fd_put_ready
migration: remove unfreeze logic
...
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Juan Quintela [Wed, 19 Dec 2012 08:55:50 +0000 (09:55 +0100)]
migration: merge QEMUFileBuffered into MigrationState
Avoid splitting the state of outgoing migration, more or less arbitrarily,
between two data structures. QEMUFileBuffered anyway is used only during
migration.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Paolo Bonzini [Wed, 7 Nov 2012 23:42:50 +0000 (00:42 +0100)]
migration: fix qemu_get_fd for BufferedFile
Not really used, but nice to have it correct. :)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Mon, 10 Dec 2012 12:27:50 +0000 (13:27 +0100)]
ram: refactor ram_save_block() return value
It could only return 0 if we only found dirty xbzrle pages that hadn't
changed (i.e. they were written with the same content). We don't care
about that case, it is the same than nothing dirty.
So now the return of the function is how much have it written, nothing
else. Adjust callers.
And we also made ram_save_iterate() return the number of transferred
bytes, not the number of transferred pages.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Thu, 18 Oct 2012 11:56:35 +0000 (13:56 +0200)]
ram: account the amount of transferred ram better
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 17 Oct 2012 22:00:59 +0000 (00:00 +0200)]
ram: optimize migration bitmap walking
Instead of testing each page individually, we search what is the next
dirty page with a bitmap operation. We have to reorganize the code to
move from a "for" loop, to a while(dirty) loop.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 17 Oct 2012 18:27:15 +0000 (20:27 +0200)]
ram: Use memory_region_test_and_clear_dirty
This avoids having to do two walks over the dirty bitmap, once reading
the dirty bits, and anthoer cleaning them.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 17 Oct 2012 18:24:28 +0000 (20:24 +0200)]
memory: introduce memory_region_test_and_clear_dirty
This function avoids having to do two calls, one to test the dirty bit, and
other to reset it.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 17 Oct 2012 18:10:55 +0000 (20:10 +0200)]
ram: Add last_sent_block
This is the last block from where we have sent data.
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 17 Oct 2012 18:08:04 +0000 (20:08 +0200)]
ram: rename last_block to last_seen_block
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 3 Oct 2012 18:04:41 +0000 (20:04 +0200)]
migration: move migration notifier
At this point, it is waranteed that state is ACTIVE. Old position
didn't assured hat.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 3 Oct 2012 16:23:03 +0000 (18:23 +0200)]
migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 3 Oct 2012 15:23:59 +0000 (17:23 +0200)]
migration: move migration_fd_put_ready()
Put it near its use and un-export it.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 19 Dec 2012 09:40:48 +0000 (10:40 +0100)]
migration: add XFER_LIMIT_RATIO
The "magic" divisions by 10 are there because of the value of BUFFER_DELAY.
Introduce a constant to explain them better.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 3 Oct 2012 12:18:33 +0000 (14:18 +0200)]
migration: move buffered_file.c code into migration.c
This only moves the code (also from buffered_file.h to migration.h).
Fix whitespace until checkpatch is happy.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Fri, 21 Sep 2012 09:18:18 +0000 (11:18 +0200)]
savevm: New save live migration method: pending
Code just now does (simplified for clarity)
if (qemu_savevm_state_iterate(s->file) == 1) {
vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
qemu_savevm_state_complete(s->file);
}
Problem here is that qemu_savevm_state_iterate() returns 1 when it
knows that remaining memory to sent takes less than max downtime.
But this means that we could end spending 2x max_downtime, one
downtime in qemu_savevm_iterate, and the other in
qemu_savevm_state_complete.
Changed code to:
pending_size = qemu_savevm_state_pending(s->file, max_size);
DPRINTF("pending size %lu max %lu\n", pending_size, max_size);
if (pending_size >= max_size) {
ret = qemu_savevm_state_iterate(s->file);
} else {
vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
qemu_savevm_state_complete(s->file);
}
So what we do is: at current network speed, we calculate the maximum
number of bytes we can sent: max_size.
Then we ask every save_live section how much they have pending. If
they are less than max_size, we move to complete phase, otherwise we
do an iterate one.
This makes things much simpler, because now individual sections don't
have to caluclate the bandwidth (it was implossible to do right from
there).
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Juan Quintela [Tue, 24 Jul 2012 12:24:08 +0000 (14:24 +0200)]
buffered_file: unfold buffered_append in buffered_put_buffer
It was the only user, and now buffered_put_buffer just do the append
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Juan Quintela [Tue, 24 Jul 2012 12:00:13 +0000 (14:00 +0200)]
buffered_file: don't flush on put buffer
We call buffered_put_buffer with iothread held, and buffered_flush() does
synchronous writes. We only want to do the synchronous writes outside.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Juan Quintela [Tue, 24 Jul 2012 11:22:18 +0000 (13:22 +0200)]
buffered_file: Unfold the trick to restart generating migration data
This was needed before due to the way that the callbacks worked.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Juan Quintela [Mon, 23 Jul 2012 04:31:30 +0000 (06:31 +0200)]
migration: just lock migrate_fd_put_ready
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Mon, 23 Jul 2012 04:24:03 +0000 (06:24 +0200)]
migration: remove unfreeze logic
Now that we have a thread, and blocking writes, we don't need it.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Juan Quintela [Mon, 23 Jul 2012 04:15:02 +0000 (06:15 +0200)]
migration: make writes blocking
Move all the writes to the migration_thread, and make writings
blocking. Notice that are still using the iothread for everything
that we do.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Mon, 23 Jul 2012 03:45:29 +0000 (05:45 +0200)]
migration: move migration thread init code to migrate_fd_put_ready
This way everything related with migration is run on the migration
thread and no locking is needed.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Mon, 23 Jul 2012 00:13:23 +0000 (02:13 +0200)]
migration: make qemu_fopen_ops_buffered() return void
We want the file assignment to happen before the thread is created to
avoid locking, so we just do it before creating the thread.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Juan Quintela [Sun, 22 Jul 2012 23:56:50 +0000 (01:56 +0200)]
buffered_file: Move from using a timer to use a thread
We still protect everything except the wait with the iothread lock.
But we moved from a timer to a thread. Steps one by one.
We also need to detect when we have finished with a variable "complete".
Signed-off-by: Juan Quintela <quintela@redhat.com>
Umesh Deshpande [Wed, 17 Aug 2011 07:01:33 +0000 (00:01 -0700)]
protect the ramlist with a separate mutex
Add the new mutex that protects shared state between ram_save_live
and the iothread. If the iothread mutex has to be taken together
with the ramlist mutex, the iothread shall always be _outside_.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Umesh Deshpande <udeshpan@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Umesh Deshpande [Thu, 18 Aug 2011 18:41:17 +0000 (11:41 -0700)]
add a version number to ram_list
This will be used to detect if last_block might have become invalid
across different calls to ram_save_live.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Umesh Deshpande <udeshpan@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Paolo Bonzini [Wed, 14 Nov 2012 15:00:51 +0000 (16:00 +0100)]
exec: sort the memory from biggest to smallest
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Paolo Bonzini [Wed, 14 Nov 2012 14:54:48 +0000 (15:54 +0100)]
exec: change RAM list to a TAILQ
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Paolo Bonzini [Wed, 14 Nov 2012 14:45:02 +0000 (15:45 +0100)]
exec: change ramlist from MRU order to a 1-item cache
Most of the time, only 2 items will be active (from/to for a string operation,
or code/data). But TCG guests likely won't have gigabytes of memory, so
this actually goes down to 1 item.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 3 Oct 2012 12:08:05 +0000 (14:08 +0200)]
migration-fd: remove duplicate include
Signed-off-by: Juan Quintela <quintela@redhat.com>
Juan Quintela [Wed, 3 Oct 2012 12:07:31 +0000 (14:07 +0200)]
migration: include qemu-file.h
They don't use/know anything about buffered-file.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Paolo Bonzini [Sat, 10 Nov 2012 17:58:40 +0000 (18:58 +0100)]
migration: remove double call to migrate_fd_close
The call in buffered_close is enough, because buffered_close is called
already by migrate_fd_cleanup.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Paolo Bonzini [Tue, 20 Nov 2012 11:48:19 +0000 (12:48 +0100)]
buffered_file: do not send more than s->bytes_xfer bytes per tick
Sending more was possible if the buffer was large.
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Paolo Bonzini [Wed, 12 Dec 2012 11:54:43 +0000 (12:54 +0100)]
migration: fix migration_bitmap leak
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Anthony Liguori [Wed, 19 Dec 2012 23:15:39 +0000 (17:15 -0600)]
Merge remote-tracking branch 'bonzini/header-dirs' into staging
* bonzini/header-dirs: (45 commits)
janitor: move remaining public headers to include/
hw: move executable format header files to hw/
fpu: move public header file to include/fpu
softmmu: move remaining include files to include/ subdirectories
softmmu: move include files to include/sysemu/
misc: move include files to include/qemu/
qom: move include files to include/qom/
migration: move include files to include/migration/
monitor: move include files to include/monitor/
exec: move include files to include/exec/
block: move include files to include/block/
qapi: move include files to include/qobject/
janitor: add guards to headers
qapi: make struct Visitor opaque
qapi: remove qapi/qapi-types-core.h
qapi: move inclusions of qemu-common.h from headers to .c files
ui: move files to ui/ and include/ui/
qemu-ga: move qemu-ga files to qga/
net: reorganize headers
net: move net.c to net/
...
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Paolo Bonzini [Wed, 24 Oct 2012 11:09:17 +0000 (13:09 +0200)]
janitor: move remaining public headers to include/
Headers in the root directory are now used only from within that
directory.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Fri, 14 Sep 2012 16:19:15 +0000 (18:19 +0200)]
hw: move executable format header files to hw/
Or delete a.out.h which is unused.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Wed, 24 Oct 2012 11:12:00 +0000 (13:12 +0200)]
fpu: move public header file to include/fpu
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Dec 2012 17:20:05 +0000 (18:20 +0100)]
softmmu: move remaining include files to include/ subdirectories
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Dec 2012 17:20:04 +0000 (18:20 +0100)]
softmmu: move include files to include/sysemu/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Dec 2012 17:20:00 +0000 (18:20 +0100)]
misc: move include files to include/qemu/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Dec 2012 17:19:50 +0000 (18:19 +0100)]
qom: move include files to include/qom/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Dec 2012 17:19:50 +0000 (18:19 +0100)]
migration: move include files to include/migration/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Dec 2012 17:19:49 +0000 (18:19 +0100)]
monitor: move include files to include/monitor/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Dec 2012 17:19:49 +0000 (18:19 +0100)]
exec: move include files to include/exec/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Dec 2012 17:19:44 +0000 (18:19 +0100)]
block: move include files to include/block/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Dec 2012 17:19:43 +0000 (18:19 +0100)]
qapi: move include files to include/qobject/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Thu, 6 Dec 2012 11:15:58 +0000 (12:15 +0100)]
janitor: add guards to headers
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Thu, 6 Dec 2012 10:28:04 +0000 (11:28 +0100)]
qapi: make struct Visitor opaque
Move its definition from qapi-visit-core.h to qapi-visit-impl.h.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Thu, 6 Dec 2012 10:51:59 +0000 (11:51 +0100)]
qapi: remove qapi/qapi-types-core.h
The file is only including error.h and qerror.h. Prefer explicit
inclusion of whatever files are needed.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Thu, 6 Dec 2012 10:22:34 +0000 (11:22 +0100)]
qapi: move inclusions of qemu-common.h from headers to .c files
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Wed, 28 Nov 2012 11:06:30 +0000 (12:06 +0100)]
ui: move files to ui/ and include/ui/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Wed, 24 Oct 2012 09:26:49 +0000 (11:26 +0200)]
qemu-ga: move qemu-ga files to qga/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Wed, 24 Oct 2012 06:43:34 +0000 (08:43 +0200)]
net: reorganize headers
Move public headers to include/net, and leave private headers in net/.
Put the virtio headers in include/net/tap.h, removing the multiple copies
that existed. Leave include/net/tap.h as the interface for NICs, and
net/tap_int.h as the interface for OS-specific parts of the tap backend.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Wed, 24 Oct 2012 09:27:28 +0000 (11:27 +0200)]
net: move net.c to net/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Wed, 24 Oct 2012 07:36:33 +0000 (09:36 +0200)]
net: do not include net.h everywhere
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Wed, 24 Oct 2012 07:36:16 +0000 (09:36 +0200)]
net: move Bluetooth stuff out of net.h
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Wed, 24 Oct 2012 06:49:51 +0000 (08:49 +0200)]
janitor: do not include qemu-char everywhere
Touching char/char.h basically causes the whole of QEMU to
be rebuilt. Avoid this, it is usually unnecessary.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Tue, 25 Sep 2012 08:04:17 +0000 (10:04 +0200)]
janitor: do not rely on indirect inclusions of or from qemu-char.h
Various header files rely on qemu-char.h including qemu-config.h or
main-loop.h, but they really do not need qemu-char.h at all (particularly
interesting is the case of the block layer!). Clean this up, and also
add missing inclusions of qemu-char.h itself.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Wed, 24 Oct 2012 09:16:01 +0000 (11:16 +0200)]
build: kill libuser
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Wed, 24 Oct 2012 09:12:21 +0000 (11:12 +0200)]
build: kill libdis, move disassemblers to disas/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Fri, 14 Sep 2012 16:28:23 +0000 (18:28 +0200)]
build: create ldscripts/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Sep 2012 06:35:53 +0000 (08:35 +0200)]
build: move rules from Makefile to */Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Sep 2012 08:31:17 +0000 (10:31 +0200)]
build: add $(TARGET_DIR) to "GEN config-target.h" lines
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Sep 2012 08:21:52 +0000 (10:21 +0200)]
build: adjust setting of QEMU_INCLUDES
Make it correct for nested directories, and move the static part
from Makefile to configure.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Wed, 24 Oct 2012 08:47:53 +0000 (10:47 +0200)]
vscclient: use per-target variables
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Anthony Liguori [Tue, 18 Dec 2012 21:41:43 +0000 (15:41 -0600)]
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
* stefanha/trivial-patches:
configure: Earlier pkg-config probe
vmmouse_reset(): remove minimal code duplication
linux-user/syscall.c: remove wrong forward decl of setgroups()
fix build error on ARM due to wrong glibc check
gitignore: Add virtfs-proxy-helper
arm_gic: Add cpu nr to Raised IRQ message
zynq_slcr: Compile time warning fixes.
pflash_cfi0x: Send debug messages to stderr
pflash_cfi01: qemu_log_mask "unimplemented" msg
net, hub: fix the indent in the comments
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Anthony Liguori [Tue, 18 Dec 2012 21:41:32 +0000 (15:41 -0600)]
Merge remote-tracking branch 'amit/master' into staging
* amit/master:
virtio-serial-bus: assert port is non-null in remove_port()
virtio-serial-bus: send_control_msg() should not deal with cpkts
virtio-serial: delete timer if active during exit
virtio-serial: allocate post_load only at load-time
virtio-serial: move active ports loading to separate function
virtio-serial: use uint32_t to count ports
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Anthony Liguori [Tue, 18 Dec 2012 21:41:21 +0000 (15:41 -0600)]
Merge remote-tracking branch 'spice/spice.v66' into staging
* spice/spice.v66:
docs: add spice-port-fqdn.txt
spice-qemu-char: register spicevmc ports during qemu_spice_init()
spice-qemu-char: keep a list of spice chardev
spice-qemu-char: add spiceport chardev
spice-qemu-char: factor out CharDriverState creation
spice-qemu-char: write to chardev whatever amount it can read
qxl+vnc: register a vm state change handler for dummy spice_server
qxl: save qemu_create_displaysurface_from result
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Anthony Liguori [Tue, 18 Dec 2012 21:41:04 +0000 (15:41 -0600)]
Merge remote-tracking branch 'sstabellini/xen-
20121217' into staging
* sstabellini/xen-
20121217:
cpu_ioreq_pio, cpu_ioreq_move: i should be uint32_t rather than int
cpu_ioreq_pio, cpu_ioreq_move: introduce read_phys_req_item, write_phys_req_item
Fix compile errors when enabling Xen debug logging.
xen: fix trivial PCI passthrough MSI-X bug
xen: implement support for secondary consoles in the console backend
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Stefan Weil [Sun, 16 Dec 2012 10:29:45 +0000 (11:29 +0100)]
configure: Earlier pkg-config probe
Probe pkg-config before it is used for the first time (libseccomp check).
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Laszlo Ersek [Thu, 13 Dec 2012 14:01:49 +0000 (15:01 +0100)]
vmmouse_reset(): remove minimal code duplication
Commit
069ab0eb added a vmmouse_disable() call to vmmouse_reset().
vmmouse_disable() resets the status already.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
John Spencer [Mon, 10 Dec 2012 06:59:46 +0000 (07:59 +0100)]
linux-user/syscall.c: remove wrong forward decl of setgroups()
this declaration is wrong:
the correct prototype on linux is:
int setgroups(size_t size, const gid_t *list);
since by default musl libc exposes this symbol in unistd.h
additionally to grp.h, the wrong declaration causes a build error.
the proper fix is to simply include the correct header.
Signed-off-by: John Spencer <maillist-qemu@barfooze.de>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
John Spencer [Mon, 10 Dec 2012 06:59:44 +0000 (07:59 +0100)]
fix build error on ARM due to wrong glibc check
the test for glibc < 2 "succeeds" wrongly for any non-glibc C library,
and breaks the build on musl libc.
we must first test if __GLIBC__ is defined at all, before using it
unconditionally.
Signed-off-by: John Spencer <maillist-qemu@barfooze.de>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Cole Robinson [Fri, 7 Dec 2012 01:03:26 +0000 (20:03 -0500)]
gitignore: Add virtfs-proxy-helper
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Peter Crosthwaite [Tue, 4 Dec 2012 06:04:36 +0000 (16:04 +1000)]
arm_gic: Add cpu nr to Raised IRQ message
Add the relevant CPU nr to this debug message to make IRQ debugging more
informative.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Peter Crosthwaite [Tue, 4 Dec 2012 06:04:35 +0000 (16:04 +1000)]
zynq_slcr: Compile time warning fixes.
Few warnings when compiled with debug printfs enabled. Fixed all.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Peter Crosthwaite [Tue, 4 Dec 2012 06:04:34 +0000 (16:04 +1000)]
pflash_cfi0x: Send debug messages to stderr
These debug info messages should go to stderr rather than stdout.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Peter Crosthwaite [Tue, 4 Dec 2012 06:04:33 +0000 (16:04 +1000)]
pflash_cfi01: qemu_log_mask "unimplemented" msg
This printf is informing the user of unimplemented functionality. It should be
re-directed to qemu_log(LOG_UNIMP, ...) accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Zhi Yong Wu [Fri, 7 Dec 2012 01:43:18 +0000 (09:43 +0800)]
net, hub: fix the indent in the comments
Remove some redundant blanks in the comments of
net_hub_id_for_client().
Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Amit Shah [Tue, 18 Dec 2012 07:38:33 +0000 (13:08 +0530)]
virtio-serial-bus: assert port is non-null in remove_port()
remove_port() is called from qdev's unplug callback, and we're certain
the port will be found in our list of ports. Adding an assert()
documents this.
This was flagged by Coverity, fix suggested by Markus.
CC: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Amit Shah [Wed, 12 Dec 2012 12:56:09 +0000 (18:26 +0530)]
virtio-serial-bus: send_control_msg() should not deal with cpkts
Stuff the cpkt before calling send_control_msg(). This function should
not be concerned about contents of the buffer it receives.
A few code refactorings recently have made making this change easier
than earlier.
Coverity and clang have flagged this code several times in the past
(cpkt->id not set before send_control_event() passed it on to
send_control_msg()). This will finally eliminate the false-positive.
CC: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Paolo Bonzini [Thu, 27 Sep 2012 07:51:55 +0000 (09:51 +0200)]
libcacard: simplify rules for recursive build
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini [Mon, 17 Dec 2012 17:17:08 +0000 (18:17 +0100)]
Merge commit '
1dd3a74d2ee2d873cde0b390b536e45420b3fe05' into HEAD
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Marc-André Lureau [Wed, 5 Dec 2012 15:15:37 +0000 (16:15 +0100)]
docs: add spice-port-fqdn.txt
Start a simple org.qemu.* registry of well known name.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Marc-André Lureau [Wed, 5 Dec 2012 15:15:36 +0000 (16:15 +0100)]
spice-qemu-char: register spicevmc ports during qemu_spice_init()
Do the delayed registration of spicevmc ports after Spice server is
initialized.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Marc-André Lureau [Wed, 5 Dec 2012 15:15:35 +0000 (16:15 +0100)]
spice-qemu-char: keep a list of spice chardev
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Marc-André Lureau [Wed, 5 Dec 2012 15:15:34 +0000 (16:15 +0100)]
spice-qemu-char: add spiceport chardev
Add a new spice chardev to allow arbitrary communication between the
host and the Spice client via the spice server.
Examples:
This allows the Spice client to have a special port for the qemu
monitor:
... -chardev spiceport,name=org.qemu.monitor,id=monitorport
-mon chardev=monitorport
v2:
- remove support for chardev to chardev linking
- conditionnaly compile with SPICE_SERVER_VERSION
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Marc-André Lureau [Wed, 5 Dec 2012 15:15:33 +0000 (16:15 +0100)]
spice-qemu-char: factor out CharDriverState creation
Make the CharDriverState creation code reusable by spicevmc port.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Marc-André Lureau [Wed, 5 Dec 2012 15:15:32 +0000 (16:15 +0100)]
spice-qemu-char: write to chardev whatever amount it can read
The current code waits until the chardev can read MIN(len, VMC_MAX)
But some chardev may never reach than amount, in fact some of them
will only ever accept write of 1. Fix the min computation and remove
the VMC_MAX constant.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Uri Lublin [Wed, 12 Dec 2012 16:30:47 +0000 (18:30 +0200)]
qxl+vnc: register a vm state change handler for dummy spice_server
When qxl + vnc are used, a dummy spice_server is initialized.
The spice_server has to be told when the VM runstate changes,
which is what this patch does.
Without it, from qxl_send_events(), the following error message is shown:
qxl_send_events: spice-server bug: guest stopped, ignoring
Cc: qemu-stable@nongnu.org
Signed-off-by: Uri Lublin <uril@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>