Commit Graph

5456 Commits

Author SHA1 Message Date
aurel32
bad5b1ec8e Define macro QEMU_GNUC_PREREQ and use it
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5467 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-12 16:15:04 +00:00
aurel32
5b7ada46e5 Only use __builtin_* with GCC >= 3.4
Fix gcc 3.3 builds, broken in revision 5465.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5466 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-12 11:44:36 +00:00
aurel32
e95f5491bc hw/apic.c: use __builtin funtions instead of assembly code
Suggested by malc.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5465 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-12 00:53:17 +00:00
aurel32
7d01998021 Optimize some host-utils function with gcc builtins
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5464 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-12 00:53:08 +00:00
aurel32
bc7b5f873b Get rid of sys/poll.h
(C.W. Betts)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5463 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-12 00:52:58 +00:00
edgar_igl
a855593c33 CRIS: Initialize the arch version preg to v32.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5462 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-11 19:36:17 +00:00
edgar_igl
d7b6967af4 CRIS: Handle GDB writes to pregs.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5461 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-11 19:32:21 +00:00
pbrook
b2cd75b003 Add feature_to_c.sh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5460 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-11 18:23:22 +00:00
pbrook
56aebc8916 Add GDB XML register description support.
Signed-off-by: Paul Brook <paul@codesourcery.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5459 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-11 17:55:29 +00:00
malc
1792f2867c Fix some debugging mistakes/leftovers
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5458 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-11 17:37:25 +00:00
balrog
17e1592d27 Use the adequate CFLAGS for confiugure tests.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5457 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-11 12:00:42 +00:00
balrog
ac62922e72 Add a configure check for zlib (Ryota OZAKI).
This patch makes configure check zlib devel files installed.
Current configure doesn't check that, so make will fail if they
are not installed.

Signed-off-by: Ryota Ozaki <ozaki.ryota@gmail.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5456 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-11 09:56:04 +00:00
blueswir1
22864256db Correct SCSI error reporting (Laurent Vivier)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5455 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-11 09:33:03 +00:00
balrog
71fb234866 Increase write buffer size in pflash emulation (Thomas Petazzoni).
The current flash emulation code advertises a write buffer size of 16
bytes (1 << 4, according to offset 0x2A of the CFI table). This is
very small compared to normal write buffer sizes, and makes the
process of writing to the flash very slow (at least from U-Boot).

This patch increases this size to 2048 bytes. Except the modification
of the CFI table, the only other required modification is to use
"value" instead of "cmd" to set pfl->counter, because cmd is truncated
to the 8 lower bits of value, while the number of bytes for a write
can now be greater than 255 bytes.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5454 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-11 09:19:57 +00:00
blueswir1
998a050186 Update (thanks to Edgar, Thiemo, malc, Paul, Laurent and Andrzej)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5453 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-09 18:52:04 +00:00
aliguori
33256a25b3 Fix IDE DIAGNOSE for packet devices (Vincent Sanders)
The DIAGNOSE command in the qemu IDE implementation has an error when
use dfor packet devices. 

The status register value is dependant on the drive being a packet
device or not, this patch corrects the returned status.

From the ATA/PI specification (V6 draft):

"If the device implements the PACKET command feature set, the device
SHALL clear bits 6,5,4,3,2 and 0 in the Status register to zero."

A selection of physical devices have been checked and do conform to
the specifications behaviour.

Signed-off-by: Vincent Sanders <vince@simtec.co.uk>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5452 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-09 14:19:34 +00:00
aliguori
9e472e101f Fix IO performance regression in sparc
Replace signalfd with signal handler/pipe.  There is no way to interrupt
the CPU execution loop when a file descriptor becomes readable.  This
results in a large performance regression in sparc emulation during
bootup.
   
This patch switches us to signal handler/pipe which was originally
suggested by Ian Jackson.  The signal handler lets us interrupt the
CPU emulation loop while the write to a pipe lets us avoid the
select/signal race condition.
    
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5451 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-08 19:50:24 +00:00
edgar_igl
235262cf36 CRIS: linux-user signals dont need ERP compensation after break anymore.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5450 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-08 14:39:08 +00:00
edgar_igl
a9fc4a7826 CRIS: linux-user ERP compensation not needed anymore.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5449 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-08 14:26:58 +00:00
edgar_igl
cddffe3739 CRIS: Partial EXS reg support and fixes for SPC.
* Add partial support for the EXS (exception status) register.
* Update SPC after each singlestep exception.
* Remove special treatment of break 8.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5448 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-08 14:22:17 +00:00
edgar_igl
dd20fcd0ac CRIS: Correct typos.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5447 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-08 08:28:16 +00:00
edgar_igl
9b32fbf88b CRIS: Make local objects static.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5446 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-07 22:54:52 +00:00
edgar_igl
a1aebcb8e6 CRIS: Fix brk 8 and add S-flag emulation.
* break 8 sets ERP to the current insn.
* First shot at S flag single-stepping.
* Make it easier to use the local disasm.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5445 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-07 22:48:41 +00:00
aliguori
890b165890 add help text for --enable-sparse (Gerd Hoffman)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5444 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-07 21:22:41 +00:00
aliguori
b2097003ec machine struct - specify max_cpus at the per machine level (Jes Sorensen)
Introduce a max_cpus per-machine variable, allowing individual boards
to limit it's number of CPUs. Check requested number of CPUs in setup
code and exit if it exceeds the supported number for the machine.
This also renders the static MAX_CPUS check obsolete, so remove this
from vl.c.

Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5443 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-07 20:39:39 +00:00
aliguori
4b32e16880 machine struct - use C99 initializers (Jes Sorensen)
Modify all the machine struct declarations to use C99 initializers.
This patch has no functional changes.

Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5442 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-07 20:34:35 +00:00
aliguori
0f431527b7 Add USB sys file-system support (v8) (TJ)
This patch adds support for host USB devices discovered via:

/sys/bus/usb/devices/* and opened from /dev/bus/usb/*/*
/dev/bus/usb/devices and opened from /dev/bus/usb/*/*

in addition to the existing discovery via:

/proc/bus/usb/devices and opened from /proc/bus/usb/*/*

Signed-off-by: TJ <linux@tjworld.net>
Signed-off-by: Anthony Liguori <aliguori>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5441 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-07 20:06:37 +00:00
aliguori
03b4fe7de2 Add sparse checker support to the build system (Gerd Hoffman)
This adds support for running the sparse checker during the build
process.  Left it off by default for now, build becomes very noisy with
sparse checking turned on as it has to complain alot (partly even in the
system headers!).  The qemu code base needs quite some cleanups before
we should consider turning it on by default.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5440 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-07 19:16:17 +00:00
blueswir1
797d5db002 Add static (spotted by sparse)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5439 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-07 19:12:13 +00:00
blueswir1
c55bda30f6 Fix error in fexpand (spotted by sparse)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5438 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-07 18:54:35 +00:00
aliguori
475e427772 Switch the memory savevm handler to be "live"
This patch replaces the static memory savevm/loadvm handler with a "live" one.
This handler is used even if performing a non-live migration.

The key difference between this handler and the previous is that each page is
prefixed with the address of the page.  The QEMUFile rate limiting code, in
combination with the live migration dirty tracking bits, is used to determine
which pages should be sent and how many should be sent.

The live save code "converges" when the number of dirty pages reaches a fixed
amount.  Currently, this is 10 pages.  This is something that should eventually
be derived from whatever the bandwidth limitation is.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5437 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-06 20:21:51 +00:00
blueswir1
e18231a3ff Show size for unassigned accesses (Robert Reif)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5436 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-06 18:46:28 +00:00
blueswir1
35f4b58c7a Prepare for changing audio_pcm_ops dynamically (partially revert r5422)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5435 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-06 18:08:30 +00:00
aliguori
9366f41860 Introduce v3 of savevm protocol
The current savevm/loadvm protocol has some draw backs.  It does not support
the ability to do progressive saving which means it cannot be used for live
checkpointing or migration.  The sections sizes are 32-bit integers which
means that it will not function when using more than 4GB of memory for a guest.
It attempts to seek within the output file which means it cannot be streamed.
The current protocol also is pretty lax about how it supports forward
compatibility.  If a saved section version is greater than what the restore
code support, the restore code generally treats the saved data as being in
whatever version it supports.  This means that restoring a saved VM on an older
version of QEMU will likely result in silent guest failure.

This patch introduces a new version of the savevm protocol.  It has the
following features:

 * Support for progressive save of sections (for live checkpoint/migration)
 * An asynchronous API for doing save
 * Support for interleaving multiple progressive save sections
   (for future support of memory hot-add/storage migration)
 * Fully streaming format
 * Strong section version checking

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5434 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-06 14:53:52 +00:00
aliguori
74576198d7 Add dirty tracking for live migration
This patch adds a dirty tracking bit for live migration.  We use 0x08 because
kqemu uses 0x04.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5433 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-06 14:02:03 +00:00
aliguori
c6ca28d636 Add bdrv_flush_all()
This patch adds a bdrv_flush_all() function.  It's necessary to ensure that all
IO operations have been flushed to disk before completely a live migration.

N.B. we don't actually use this now.  We really should flush the block drivers
using an live savevm callback to avoid unnecessary guest down time.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5432 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-06 13:55:43 +00:00
aliguori
d8f4460989 Allow the monitor to be suspended during non-blocking op
Live migration happens in the background, but it is useful to make the monitor
command appear as if it's blocking.  This allows a management tool to
immediately know when the live migration has completed without having to poll
the migration status.

This patch allows the monitor to be suspended from a monitor callback which
will prevent new monitor commands from being executed.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5431 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-06 13:52:44 +00:00
blueswir1
1ed1a78738 Silence some warnings about no value returned from non-void function
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5430 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 11:47:55 +00:00
blueswir1
60dd316ea7 Make various generated structures static
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5429 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 11:45:25 +00:00
blueswir1
249c4c328c Make target_sigaltstack_used static
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5428 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 11:09:37 +00:00
blueswir1
440c7e85cc Export x86_stack_size in qemu.h
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5427 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 11:05:14 +00:00
blueswir1
9f106a75de Make ioctl table static
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5426 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 10:52:52 +00:00
blueswir1
b39bc503c1 Make bitmask tables static const
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5425 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 10:51:10 +00:00
blueswir1
8e853dc780 Make struct_termios_def const
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5424 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 10:49:32 +00:00
blueswir1
295e390fff Move wav_start_capture prototype to avoid a warning with -Wmissing-prototypes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5423 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 10:30:43 +00:00
blueswir1
8869defe62 Make audio_pcm_opsstatic const
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5422 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 10:01:05 +00:00
blueswir1
d4a9eb1fc6 Add some missing static and const qualifiers, reg_names only used if NDEBUG set
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5421 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 09:59:14 +00:00
blueswir1
d9b630fdb0 Variable logfilename is not used outside exec.c
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5420 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 09:57:08 +00:00
blueswir1
41bd639b26 Variable autostart is not used outside main()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5419 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-05 09:56:21 +00:00
blueswir1
34a3d2399b Update Sparc docs, add -cpu flag
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5418 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-04 20:43:39 +00:00