qemu
15 years agoIntroduce ethernet announcement function.
aliguori [Mon, 13 Oct 2008 03:13:12 +0000 (03:13 +0000)]
Introduce ethernet announcement function.

This patch adds an ethernet announce function that will minimize downtime
when doing a live migration.  This code originates from KVM.

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5477 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIntroduce UI for live migration
aliguori [Mon, 13 Oct 2008 03:12:02 +0000 (03:12 +0000)]
Introduce UI for live migration

This patch introduces a command line parameter and monitor command for starting
a live migration.  The next patch will provide an example of how to use these
parameters.

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5476 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIntroduce a buffered file wrapper for QEMUFile
aliguori [Mon, 13 Oct 2008 03:10:22 +0000 (03:10 +0000)]
Introduce a buffered file wrapper for QEMUFile

This patch introduces a buffered QEMUFile wrapper.  This allows QEMUFile's to be
rate limited.  It also makes it easier to implement a QEMUFile that is
asynchronous since the current QEMUFile API requires that all reads and writes
be synchronous.

The only real non-obvious part of the API is the "frozen" concept.  If the
backend returns EAGAIN, the QEMUFile is said to be "frozen".  This means no
additional output will be sent to the backend until the file is unfrozen.
qemu_file_put_notify can be used to unfreeze a frozen file.

A synchronous interface is also provided to wait for an unfreeze event.  This is
used during the final part of live migration when the VM is no longer running.

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5475 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix some issues with QEMUFile
aliguori [Mon, 13 Oct 2008 03:07:56 +0000 (03:07 +0000)]
Fix some issues with QEMUFile

This patch allows QEMUFile's read and write operations to return
negative error codes.  This is necessary to detect things like closed
streams during live migration.

It also removes unused code for QEMUFileFD write path.  Finally, it
makes sure to avoid attempting to flush an output buffer if the file
is only being used for input.  This was spotted by Uri Lublin.

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5474 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: Implement MOVUA.L
aurel32 [Sun, 12 Oct 2008 23:32:59 +0000 (23:32 +0000)]
SH4: Implement MOVUA.L

 * target-sh4/translate.c (_decode_opc): Implement
   MOVUA.L.

(Vladimir Prus)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5473 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: fix single-stepping
aurel32 [Sun, 12 Oct 2008 23:32:48 +0000 (23:32 +0000)]
SH4: fix single-stepping

* target-sh/translate.c (gen_intermediate_code_internal): If
  singlestep is enabled, update PC before stopping.

(Vladimir Prus)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5472 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: Fix swap.b
aurel32 [Sun, 12 Oct 2008 23:32:40 +0000 (23:32 +0000)]
SH4: Fix swap.b

The SH4 manual documents the swap.b instruction as follows:

        SWAP.B Rm,Rn
                Rm → swap lower 2 bytes → Rn

Current QEMU code, in addition to the above, also clears the high
16 bits. The immediate breakage I saw is that htonl function applied
to  netmask of 255.255.255.0 gives 0, which breaks all networking.

(Vladimir Prus)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5471 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake sure to initialize fd_sets in aio.c
aliguori [Sun, 12 Oct 2008 21:19:57 +0000 (21:19 +0000)]
Make sure to initialize fd_sets in aio.c

This was spotted by valgrind.

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5470 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agohw/apic.c: use functions from host-utils.h
aurel32 [Sun, 12 Oct 2008 20:16:03 +0000 (20:16 +0000)]
hw/apic.c: use functions from host-utils.h

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5469 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCOPYING: update from FSF
aurel32 [Sun, 12 Oct 2008 17:54:42 +0000 (17:54 +0000)]
COPYING: update from FSF

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5468 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDefine macro QEMU_GNUC_PREREQ and use it
aurel32 [Sun, 12 Oct 2008 16:15:04 +0000 (16:15 +0000)]
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

15 years agoOnly use __builtin_* with GCC >= 3.4
aurel32 [Sun, 12 Oct 2008 11:44:36 +0000 (11:44 +0000)]
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

15 years agohw/apic.c: use __builtin funtions instead of assembly code
aurel32 [Sun, 12 Oct 2008 00:53:17 +0000 (00:53 +0000)]
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

15 years agoOptimize some host-utils function with gcc builtins
aurel32 [Sun, 12 Oct 2008 00:53:08 +0000 (00:53 +0000)]
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

15 years agoGet rid of sys/poll.h
aurel32 [Sun, 12 Oct 2008 00:52:58 +0000 (00:52 +0000)]
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

15 years agoCRIS: Initialize the arch version preg to v32.
edgar_igl [Sat, 11 Oct 2008 19:36:17 +0000 (19:36 +0000)]
CRIS: Initialize the arch version preg to v32.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5462 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Handle GDB writes to pregs.
edgar_igl [Sat, 11 Oct 2008 19:32:21 +0000 (19:32 +0000)]
CRIS: Handle GDB writes to pregs.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5461 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd feature_to_c.sh.
pbrook [Sat, 11 Oct 2008 18:23:22 +0000 (18:23 +0000)]
Add feature_to_c.sh.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5460 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd GDB XML register description support.
pbrook [Sat, 11 Oct 2008 17:55:29 +0000 (17:55 +0000)]
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

15 years agoFix some debugging mistakes/leftovers
malc [Sat, 11 Oct 2008 17:37:25 +0000 (17:37 +0000)]
Fix some debugging mistakes/leftovers

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5458 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse the adequate CFLAGS for confiugure tests.
balrog [Sat, 11 Oct 2008 12:00:42 +0000 (12:00 +0000)]
Use the adequate CFLAGS for confiugure tests.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5457 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd a configure check for zlib (Ryota OZAKI).
balrog [Sat, 11 Oct 2008 09:56:04 +0000 (09:56 +0000)]
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

15 years agoCorrect SCSI error reporting (Laurent Vivier)
blueswir1 [Sat, 11 Oct 2008 09:33:03 +0000 (09:33 +0000)]
Correct SCSI error reporting (Laurent Vivier)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5455 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIncrease write buffer size in pflash emulation (Thomas Petazzoni).
balrog [Sat, 11 Oct 2008 09:19:57 +0000 (09:19 +0000)]
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

15 years agoUpdate (thanks to Edgar, Thiemo, malc, Paul, Laurent and Andrzej)
blueswir1 [Thu, 9 Oct 2008 18:52:04 +0000 (18:52 +0000)]
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

15 years agoFix IDE DIAGNOSE for packet devices (Vincent Sanders)
aliguori [Thu, 9 Oct 2008 14:19:34 +0000 (14:19 +0000)]
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

15 years agoFix IO performance regression in sparc
aliguori [Wed, 8 Oct 2008 19:50:24 +0000 (19:50 +0000)]
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

15 years agoCRIS: linux-user signals dont need ERP compensation after break anymore.
edgar_igl [Wed, 8 Oct 2008 14:39:08 +0000 (14:39 +0000)]
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

15 years agoCRIS: linux-user ERP compensation not needed anymore.
edgar_igl [Wed, 8 Oct 2008 14:26:58 +0000 (14:26 +0000)]
CRIS: linux-user ERP compensation not needed anymore.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5449 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Partial EXS reg support and fixes for SPC.
edgar_igl [Wed, 8 Oct 2008 14:22:17 +0000 (14:22 +0000)]
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

15 years agoCRIS: Correct typos.
edgar_igl [Wed, 8 Oct 2008 08:28:16 +0000 (08:28 +0000)]
CRIS: Correct typos.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5447 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Make local objects static.
edgar_igl [Tue, 7 Oct 2008 22:54:52 +0000 (22:54 +0000)]
CRIS: Make local objects static.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5446 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Fix brk 8 and add S-flag emulation.
edgar_igl [Tue, 7 Oct 2008 22:48:41 +0000 (22:48 +0000)]
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

15 years agoadd help text for --enable-sparse (Gerd Hoffman)
aliguori [Tue, 7 Oct 2008 21:22:41 +0000 (21:22 +0000)]
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

15 years agomachine struct - specify max_cpus at the per machine level (Jes Sorensen)
aliguori [Tue, 7 Oct 2008 20:39:39 +0000 (20:39 +0000)]
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

15 years agomachine struct - use C99 initializers (Jes Sorensen)
aliguori [Tue, 7 Oct 2008 20:34:35 +0000 (20:34 +0000)]
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

15 years agoAdd USB sys file-system support (v8) (TJ)
aliguori [Tue, 7 Oct 2008 20:06:37 +0000 (20:06 +0000)]
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

15 years agoAdd sparse checker support to the build system (Gerd Hoffman)
aliguori [Tue, 7 Oct 2008 19:16:17 +0000 (19:16 +0000)]
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

15 years agoAdd static (spotted by sparse)
blueswir1 [Tue, 7 Oct 2008 19:12:13 +0000 (19:12 +0000)]
Add static (spotted by sparse)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5439 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix error in fexpand (spotted by sparse)
blueswir1 [Tue, 7 Oct 2008 18:54:35 +0000 (18:54 +0000)]
Fix error in fexpand (spotted by sparse)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5438 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSwitch the memory savevm handler to be "live"
aliguori [Mon, 6 Oct 2008 20:21:51 +0000 (20:21 +0000)]
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

15 years agoShow size for unassigned accesses (Robert Reif)
blueswir1 [Mon, 6 Oct 2008 18:46:28 +0000 (18:46 +0000)]
Show size for unassigned accesses (Robert Reif)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5436 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoPrepare for changing audio_pcm_ops dynamically (partially revert r5422)
blueswir1 [Mon, 6 Oct 2008 18:08:30 +0000 (18:08 +0000)]
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

15 years agoIntroduce v3 of savevm protocol
aliguori [Mon, 6 Oct 2008 14:53:52 +0000 (14:53 +0000)]
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

15 years agoAdd dirty tracking for live migration
aliguori [Mon, 6 Oct 2008 14:02:03 +0000 (14:02 +0000)]
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

15 years agoAdd bdrv_flush_all()
aliguori [Mon, 6 Oct 2008 13:55:43 +0000 (13:55 +0000)]
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

15 years agoAllow the monitor to be suspended during non-blocking op
aliguori [Mon, 6 Oct 2008 13:52:44 +0000 (13:52 +0000)]
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

15 years agoSilence some warnings about no value returned from non-void function
blueswir1 [Sun, 5 Oct 2008 11:47:55 +0000 (11:47 +0000)]
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

15 years agoMake various generated structures static
blueswir1 [Sun, 5 Oct 2008 11:45:25 +0000 (11:45 +0000)]
Make various generated structures static

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5429 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake target_sigaltstack_used static
blueswir1 [Sun, 5 Oct 2008 11:09:37 +0000 (11:09 +0000)]
Make target_sigaltstack_used static

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5428 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoExport x86_stack_size in qemu.h
blueswir1 [Sun, 5 Oct 2008 11:05:14 +0000 (11:05 +0000)]
Export x86_stack_size in qemu.h

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5427 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake ioctl table static
blueswir1 [Sun, 5 Oct 2008 10:52:52 +0000 (10:52 +0000)]
Make ioctl table static

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5426 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake bitmask tables static const
blueswir1 [Sun, 5 Oct 2008 10:51:10 +0000 (10:51 +0000)]
Make bitmask tables static const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5425 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake struct_termios_def const
blueswir1 [Sun, 5 Oct 2008 10:49:32 +0000 (10:49 +0000)]
Make struct_termios_def const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5424 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMove wav_start_capture prototype to avoid a warning with -Wmissing-prototypes
blueswir1 [Sun, 5 Oct 2008 10:30:43 +0000 (10:30 +0000)]
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

15 years agoMake audio_pcm_opsstatic const
blueswir1 [Sun, 5 Oct 2008 10:01:05 +0000 (10:01 +0000)]
Make audio_pcm_opsstatic const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5422 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd some missing static and const qualifiers, reg_names only used if NDEBUG set
blueswir1 [Sun, 5 Oct 2008 09:59:14 +0000 (09:59 +0000)]
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

15 years agoVariable logfilename is not used outside exec.c
blueswir1 [Sun, 5 Oct 2008 09:57:08 +0000 (09:57 +0000)]
Variable logfilename is not used outside exec.c

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5420 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoVariable autostart is not used outside main()
blueswir1 [Sun, 5 Oct 2008 09:56:21 +0000 (09:56 +0000)]
Variable autostart is not used outside main()

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5419 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUpdate Sparc docs, add -cpu flag
blueswir1 [Sat, 4 Oct 2008 20:43:39 +0000 (20:43 +0000)]
Update Sparc docs, add -cpu flag

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5418 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix crc32w decoding, fix a constant width in blendvpd.
balrog [Sat, 4 Oct 2008 11:33:52 +0000 (11:33 +0000)]
Fix crc32w decoding, fix a constant width in blendvpd.

Forced the constant's width to long long so that it doesn't overflow,
problem spotted by C. W. Betts.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5417 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake network packet debug functions more accessible
blueswir1 [Sat, 4 Oct 2008 07:25:46 +0000 (07:25 +0000)]
Make network packet debug functions more accessible

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5416 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd some missing static qualifiers
blueswir1 [Sat, 4 Oct 2008 07:24:27 +0000 (07:24 +0000)]
Add some missing static qualifiers

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5415 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMove nographic export to sysemu.h
blueswir1 [Sat, 4 Oct 2008 07:22:29 +0000 (07:22 +0000)]
Move nographic export to sysemu.h

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5414 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse qemu-log.h
blueswir1 [Sat, 4 Oct 2008 07:20:07 +0000 (07:20 +0000)]
Use qemu-log.h

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5413 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agox86 "popcnt" affects flags.
balrog [Sat, 4 Oct 2008 03:32:00 +0000 (03:32 +0000)]
x86 "popcnt" affects flags.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5412 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoImplement SSE4.1, SSE4.2 (x86).
balrog [Sat, 4 Oct 2008 03:27:44 +0000 (03:27 +0000)]
Implement SSE4.1, SSE4.2 (x86).

This adds support for CPUID_EXT_SSE41, CPUID_EXT_SSE42, CPUID_EXT_POPCNT
extensions.  Most instructions haven't been tested yet.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5411 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoImprove pflash cfi01 debug messages (Thomas Petazzoni).
balrog [Fri, 3 Oct 2008 23:09:08 +0000 (23:09 +0000)]
Improve pflash cfi01 debug messages (Thomas Petazzoni).

This patches slightly improves the debugging messages in pflash_read()
and pflash_write().

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5410 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoReset CFI01 flash wcycle after erase confirm (Thomas Petazzoni).
balrog [Fri, 3 Oct 2008 23:00:09 +0000 (23:00 +0000)]
Reset CFI01 flash wcycle after erase confirm (Thomas Petazzoni).

pfl->wcycle was set to 1 when the erase confirm command was set, which
lead to the next command being misinterpreted by Qemu:

pflash_write: Unimplemented flash cmd sequence (offset 00000000,
wcycle 0x1 cmd 0x20 value 0x70)

This patch fixes this issue by resetting pfl->wcycle to 0 on erase
confirm so that the next command is considered as a new one.

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5409 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRearrange tick functions
blueswir1 [Fri, 3 Oct 2008 19:04:42 +0000 (19:04 +0000)]
Rearrange tick functions

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5408 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix missing prototype warnings by moving declarations
blueswir1 [Fri, 3 Oct 2008 19:02:42 +0000 (19:02 +0000)]
Fix missing prototype warnings by moving declarations

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5407 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix warning about unused function
blueswir1 [Fri, 3 Oct 2008 19:01:41 +0000 (19:01 +0000)]
Fix warning about unused function

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5406 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix warning about missing return value
blueswir1 [Fri, 3 Oct 2008 19:00:40 +0000 (19:00 +0000)]
Fix warning about missing return value

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5405 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoOptimize 64 bit bswap
malc [Thu, 2 Oct 2008 20:02:31 +0000 (20:02 +0000)]
Optimize 64 bit bswap

Use rldimi instead of rldicr/or pair, saves us one instruction.
Suggested by Hollis Blanchard.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5404 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDo not use load_seg_vm to load CS in real mode iret handling
malc [Thu, 2 Oct 2008 20:02:27 +0000 (20:02 +0000)]
Do not use load_seg_vm to load CS in real mode iret handling

load_seg_vm calls cpu_x86_load_seg_cache which updates hflags of
current env, real hardware doesn't do this, nor the code that handles
real mode lret/lcall/ljmp.

This unbreaks "unreal mode" and makes QEMU the first emulator being
able to run Project Angel demo by IMPACT Studios. (Not that there are
many physical machines out there capable of doing the same)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5403 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoInclude qemu-common.h in order to get prototypes for qemu_malloc etc.
blueswir1 [Thu, 2 Oct 2008 19:55:50 +0000 (19:55 +0000)]
Include qemu-common.h in order to get prototypes for qemu_malloc etc.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5402 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoResurrect the safe part of r5274
blueswir1 [Thu, 2 Oct 2008 19:14:17 +0000 (19:14 +0000)]
Resurrect the safe part of r5274

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5401 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake PCI class description tables const
blueswir1 [Thu, 2 Oct 2008 18:33:50 +0000 (18:33 +0000)]
Make PCI class description tables const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5400 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake monitor command tables const
blueswir1 [Thu, 2 Oct 2008 18:32:44 +0000 (18:32 +0000)]
Make monitor command tables const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5399 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake some i386 disassembler tables const
blueswir1 [Thu, 2 Oct 2008 18:29:22 +0000 (18:29 +0000)]
Make some i386 disassembler tables const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5398 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake CPULogItem tables const
blueswir1 [Thu, 2 Oct 2008 18:27:46 +0000 (18:27 +0000)]
Make CPULogItem tables const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5397 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake keysym tables const
blueswir1 [Thu, 2 Oct 2008 18:26:42 +0000 (18:26 +0000)]
Make keysym tables const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5396 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake some tables const
blueswir1 [Thu, 2 Oct 2008 18:24:21 +0000 (18:24 +0000)]
Make some tables const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5395 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSun ss20 OBP does 32bit register access to esp (Robert Reif)
blueswir1 [Thu, 2 Oct 2008 18:07:56 +0000 (18:07 +0000)]
Sun ss20 OBP does 32bit register access to esp (Robert Reif)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5394 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix MXCC printf warning (based on patch by Robert Reif)
blueswir1 [Thu, 2 Oct 2008 18:06:50 +0000 (18:06 +0000)]
Fix MXCC printf warning (based on patch by Robert Reif)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5393 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd missing parenthesis in qemu_ram_alloc()
ths [Thu, 2 Oct 2008 17:34:21 +0000 (17:34 +0000)]
Add missing parenthesis in qemu_ram_alloc()

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5392 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: fix crash in ppc system single step support
aurel32 [Wed, 1 Oct 2008 22:01:37 +0000 (22:01 +0000)]
ppc: fix crash in ppc system single step support

There was a bogus case where two system debug ops get generated.  This
patch removes the broken system debug op. This was a left over after
making some changes to correctly generate debug ops on branch
operations inside gen_goto_tb();

The test case against this patch is to turn on single stepping with
timers, boot a linux kernel, set a breakpoint a do_fork and in gdb
execute "si 3000".  Then qemu-system-ppc will fault executing a debug
op, which should not have been executed.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5391 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoReset CPU on INIT IPI
aurel32 [Wed, 1 Oct 2008 22:01:28 +0000 (22:01 +0000)]
Reset CPU on INIT IPI

INIT IPI should reset CPU. Also non boot CPU should be halted. It will
be un-halted by SIPI.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5390 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix cscope filelist by removing leading ./
aurel32 [Wed, 1 Oct 2008 21:46:58 +0000 (21:46 +0000)]
Fix cscope filelist by removing leading ./

(Ryan Harper, Laurent Desnogues)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5389 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd inotify syscall family
aurel32 [Wed, 1 Oct 2008 21:46:50 +0000 (21:46 +0000)]
Add inotify syscall family

Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5388 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd mincore syscall
aurel32 [Wed, 1 Oct 2008 21:46:41 +0000 (21:46 +0000)]
Add mincore syscall

Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5387 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd fadvise64 stubs
aurel32 [Wed, 1 Oct 2008 21:46:32 +0000 (21:46 +0000)]
Add fadvise64 stubs

Since these are only hints, we happily fake them for now
to make applications not barf on ENOSYS.

Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5386 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoqemu: improve scsi dma speed by increasing the dma buffer size
aurel32 [Wed, 1 Oct 2008 21:46:23 +0000 (21:46 +0000)]
qemu: improve scsi dma speed by increasing the dma buffer size

taken from Xen 17267:f4a92f0db20f, original patch by Samuel Thibault.

Signed-off-by: Avi Kivity <avi@qumranet.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5385 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agomonitor: add sendkey support for comma, dot and slash
aurel32 [Wed, 1 Oct 2008 21:46:15 +0000 (21:46 +0000)]
monitor: add sendkey support for comma, dot and slash

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5384 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoqemu-doc: document use of raw values with sendkey
aurel32 [Wed, 1 Oct 2008 21:46:07 +0000 (21:46 +0000)]
qemu-doc: document use of raw values with sendkey

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5383 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agohw/apic.c: use bsr and bsf on x86_64
aurel32 [Wed, 1 Oct 2008 21:45:59 +0000 (21:45 +0000)]
hw/apic.c: use bsr and bsf on x86_64

(C.W. Betts)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5382 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agofix default size handling in monitor
aurel32 [Wed, 1 Oct 2008 21:45:51 +0000 (21:45 +0000)]
fix default size handling in monitor

If /i format is used once (with x/xp/p command) default_fmt_size is set
to -1 and subsequent commands of the form /x outputs nothing. Included
patched fixes this by setting default_fmt_size only if the command is
not of format /i.

Signed-off-by: Gleb Natapov <gleb@qumranet.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5381 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix computation of XER.{CA, OV} in addme, subfme
aurel32 [Wed, 1 Oct 2008 21:45:37 +0000 (21:45 +0000)]
target-ppc: fix computation of XER.{CA, OV} in addme, subfme

(Jocelyn Mayer)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5380 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix mullw/mullwo
aurel32 [Wed, 1 Oct 2008 21:45:18 +0000 (21:45 +0000)]
target-ppc: fix mullw/mullwo

Based on patch by Julian Seward.

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

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5379 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix warning about variables used uninitialized
blueswir1 [Wed, 1 Oct 2008 19:39:40 +0000 (19:39 +0000)]
Fix warning about variables used uninitialized

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5378 c046a42c-6fe2-441c-8c8c-71466251a162