aurel32 [Fri, 30 Jan 2009 20:15:32 +0000 (20:15 +0000)]
linux-user: fix signal.c warning
This patch fixes:
linux-user/signal.c:1403: warning: no previous prototype for 'do_sigreturn_v1'
linux-user/signal.c:1473: warning: no previous prototype for 'do_sigreturn_v2'
linux-user/signal.c:1511: warning: no previous prototype for 'do_rt_sigreturn_v1'
linux-user/signal.c:1552: warning: no previous prototype for 'do_rt_sigreturn_v2'
by making the appropriate functions static.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6486
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 30 Jan 2009 20:09:01 +0000 (20:09 +0000)]
linux-user: identify running binary in /proc/self/exe
Some applications like to test /proc/self/exe to find
out who they are. Fake the result of readlink() for
them. Use realpath() to return full path to binary
(which the links /proc/self/exe are)
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@6485
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 30 Jan 2009 19:59:17 +0000 (19:59 +0000)]
linux-user: Add generic env variable handling
Adds support for qemu to modify target process environment
variables using -E and -U commandline switches. This replaces
eventually the -drop-ld-preload flag.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6484
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 30 Jan 2009 19:48:32 +0000 (19:48 +0000)]
target-ppc: Fix struct target_stat64 for 32-bit host
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6483
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 30 Jan 2009 19:48:24 +0000 (19:48 +0000)]
target-sh4: Fix struct target_stat64 for 64-bit host
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6482
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 30 Jan 2009 19:48:17 +0000 (19:48 +0000)]
linuw-user fix: read() and acct() on NULL arguments
Returning efault in these cases is not correct. Originally
proposed by Thayne Harbaugh in 2007:
http://www.mail-archive.com/qemu-devel@nongnu.org/msg14658.html
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@6481
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 30 Jan 2009 19:48:07 +0000 (19:48 +0000)]
linux-user: don't crash with null name
From Thayne Harbaugh.
path() may be called with null string, don't bother trying to
remap in that case.
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@6480
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 30 Jan 2009 19:47:57 +0000 (19:47 +0000)]
linux-user: return EINVAL on incorrect sockaddr
From: Lauro Ramos Venancio <lauro.venancio@gmail.com>
Fixes ltp test accept01
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@6479
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 30 Jan 2009 19:47:47 +0000 (19:47 +0000)]
linux-user: fix accept(2) with NULL peer
Based on scratchbox2 patch by Mika Westerberg
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@6478
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Thu, 29 Jan 2009 23:29:52 +0000 (23:29 +0000)]
Allow usb tablet to be used with vmware-vga hwcursor.
Assume that in absolute mode the guest cursor always follows host cursor
and there's no need to move host cursor. This avoids a strange feedback
loop.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6477
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Thu, 29 Jan 2009 23:19:20 +0000 (23:19 +0000)]
Fix absolute mode mice.
width and height were never set which means that host coordinates were
divided by -1 instead of (width - 1) / 0x7fff.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6476
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 29 Jan 2009 19:59:04 +0000 (19:59 +0000)]
check SCSI read/write requests against max LBA (Rik van Riel)
The bdrv layer uses a signed offset. Furthermore, block-raw-posix
only seeks when that offset is positive. Passing a negative offset
to block-raw-posix can result in data being written at the current
seek cursor's position.
It may be possible to exploit this to seek to the end of the disk
and extend the virtual disk by writing data to a negative sector
offset. After a reboot, this could lead to the guest having a
larger disk than it had before.
Close the hole by sanity checking the lba against the size of the
disk.
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6475
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 29 Jan 2009 19:45:28 +0000 (19:45 +0000)]
Fix a typo in ext2_feature_name (Carl-Daniel Hailfinger)
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6474
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 29 Jan 2009 17:02:21 +0000 (17:02 +0000)]
Use new logging API in reset handling (Jan Kiszka)
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6473
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 29 Jan 2009 17:02:17 +0000 (17:02 +0000)]
MTRR support on x86, part 2 (Carl-Daniel Hailfinger)
Load and save MTRR state together with machine state.
Add support for the MTRRcap MSR which is used by the latest Bochs BIOS
and some operating systems.
Fix a typo in ext2_feature_name.
With this patch, MTRR emulation should be good enough to not trigger any
sanity checks in well behaved BIOS/kernel code.
Some corner cases for BIOS/firmware usage remain to be implemented, but
that can be deferred to another patch.
Also, MTRR accesses on hardware not supporting MTRRs should cause #GP.
That can be enforced by another patch as well.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6472
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 29 Jan 2009 17:02:13 +0000 (17:02 +0000)]
Don't notify virtio devices before S_DRIVER_OK (Mark McLoughlin)
Current Linux guests oops if the host notifies of a
config change before a driver has been bound to the
device.
It's pretty pointless for us to do notify of config
changes before status is S_DRIVER_OK anyway, so let's
just not do it.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6471
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 29 Jan 2009 17:02:08 +0000 (17:02 +0000)]
fix raw_aio_read\write error handling (Stefano Stabellini)
Currently when qemu_paio_read or qemu_paio_write return an error we call
qemu_aio_release without removing the request from the list.
I know that in the current implementation qemu_paio_write\read don't return
any error, but still the behavior is wrong, especially considering
that the implementation of these two functions is likely to change in is
the future.
This patch fixes the problem adding a raw_aio_remove function that
removes the callback from the queue and also calls qemu_aio_release.
raw_aio_remove is called by raw_aio_read, raw_aio_write and
raw_aio_cancel.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6470
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 28 Jan 2009 21:58:29 +0000 (21:58 +0000)]
SCSI divide capacity by s->cluster_size (Rik van Riel)
Paul Brook pointed out that the number of sectors reported
by the SCSI read capacity commands needs to be divided by
s->cluster_size, because bdrv_get_geometry reports the number
of 512 byte sectors, while emulated CDROMs report 2048 byte
sectors back to the guest.
This has no consequences for emulated hard disks, which use
a cluster size of 1.
aliguori: fixed typo
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6469
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 28 Jan 2009 21:58:25 +0000 (21:58 +0000)]
support >2TB SCSI disks (Rik van Riel)
Implement SCSI READ(16), WRITE(16) and SAI READ CAPACITY(16) commands,
so SCSI disks larger than 2TB can work with guests that support these
newer SCSI commands.
The cast to (uint64_t) is needed because otherwise gcc will use a
signed int, which gets sign extended into uint64_t lba, resulting
in bad block numbers for READ 10 and READ 16 with block numbers
larger than 2^31.
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6468
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 28 Jan 2009 21:58:22 +0000 (21:58 +0000)]
fix signed/unsigned overflows in SCSI disk (Rik van Riel)
Sector numbers can overflow on a virtual scsi disk of over 1TB
in size. Qemu's bdrv_read expects an int64_t, so fix the overflow
by going to that data type.
On large disks, we clip the capacity to 2TB instead of returning
"capacity modulo 2TB".
Turn sector_count into an unsigned to prevent a signed/unsigned
overflow with SCSI transfers larger than 2TB. We're unlikely to
ever hit this bug, but fixing it is just one line.
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6467
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Wed, 28 Jan 2009 17:16:56 +0000 (17:16 +0000)]
Fix qemu_malloc.
make {linux,bsd}-user qemu_realloc handle ptr == NULL correctly.
spotted by malc.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6466
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Tue, 27 Jan 2009 19:15:31 +0000 (19:15 +0000)]
Add Simba device ID
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6465
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 27 Jan 2009 14:29:15 +0000 (14:29 +0000)]
block-vpc: Fix support for images > 4 GB (Kevin Wolf)
This patch fixes the truncation of sector offsets to 32 bits.
Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6464
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Mon, 26 Jan 2009 22:21:30 +0000 (22:21 +0000)]
CRIS: Init the feedback shiftreg used for randomizing TLB sets.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6463
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Mon, 26 Jan 2009 21:47:27 +0000 (21:47 +0000)]
ETRAX: Remove display-state argument from board init.
Apparently this board was forgotten in the display changes.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6462
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 20:32:22 +0000 (20:32 +0000)]
kvm-x86: Remove eflags conversion into emulator format (Jan Kiszka)
It seems that the conversion of the kernel-delivered eflags state into
qemu's internal split representation was once needed in an older kvm
design (register read-back may have taken place from inside cpu_exec).
Today it is plain wrong and causes incorrect cpu state reporting (gdb,
monitor) and should also corrupt its saving (savevm, migration). Drop
the related lines.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6461
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 20:32:18 +0000 (20:32 +0000)]
Check if the i8254 timer is active before deactivating it (Alexander Graf)
The HPET emulation can disable the i8254 when the HPET is
in legacy mode, thus emulating the i8254's behavior.
But if it does, the i8254 doesn't have to be running, so
let's check to see if the timer works and not disable it
if it's not.
This fixes a segmentation fault when running Mac OS X as
guest os.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6460
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 20:27:06 +0000 (20:27 +0000)]
block-vpc: Create images (Kevin Wolf)
Add an implementation to create VHD images.
Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6459
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 20:27:02 +0000 (20:27 +0000)]
block-vpc: Write support (Kevin Wolf)
Add write support for VHD images.
Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6458
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 20:26:58 +0000 (20:26 +0000)]
block-vpc: Use the qemu block layer (Kevin Wolf)
Instead of accessing the file directly, use the qemu block layer.
Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6457
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 20:26:54 +0000 (20:26 +0000)]
block-vpc: Fix disk size (Kevin Wolf)
VirtualPC bases the virtual disk size on the geometry rather than on
the size stored in the header.
Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6456
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 20:26:49 +0000 (20:26 +0000)]
block-vpc: Adapt header structures to official documentation (Kevin Wolf)
The current definition of the VirtualPC headers is incomplete and partly
even wrong. This patch changes the header structs according to the
official VHD specification.
Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6455
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 20:26:46 +0000 (20:26 +0000)]
block-vpc: Split up struct vpc_subheader (Kevin Wolf)
struct vpc_subheader currently is a union of two completely different
data structures (the Hard Disk Footer and the Dynamic Disk Header).
That doesn't make too much sense, so split them up.
Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6454
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 19:54:36 +0000 (19:54 +0000)]
x86: Issue reset on triple faults (Jan Kiszka)
As discussed a few times on this list: A triple fault causes a system
reset on x86, and some guests make use of this (e.g. 386BSD). To keep
the chance of tracing unexpected resets, log them if CPU_LOG_RESET is
set.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6453
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 19:54:31 +0000 (19:54 +0000)]
Log reset events (Jan Kiszka)
Original idea&code by Kevin Wolf, split-up in two patches and added more
archs.
This patch introduces a flag to log CPU resets. Useful for tracing
unexpected resets (such as those triggered by x86 triple faults).
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6452
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 19:37:41 +0000 (19:37 +0000)]
Remove the advertising clause from the slirp license
According to the FSF, the 4-clause BSD license, which slirp is covered under,
is not compatible with the GPL or LGPL[1].
[1] http://www.fsf.org/licensing/licenses/index_html#GPLIncompatibleLicenses
There are three declared copyright holders in slirp that use the 4-clause
BSD license, the Regents of UC Berkley, Danny Gasparovski, and Kelly Price.
Below are the appropriate permissions to remove the advertise clause from slirp
from each party.
Special thanks go to Richard Fontana from Red Hat for contacting all of the
necessary authors to resolve this issue!
Regents of UC Berkley:
From ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
July 22, 1999
To All Licensees, Distributors of Any Version of BSD:
As you know, certain of the Berkeley Software Distribution ("BSD") source
code files require that further distributions of products containing all or
portions of the software, acknowledge within their advertising materials
that such products contain software developed by UC Berkeley and its
contributors.
Specifically, the provision reads:
" * 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors."
Effective immediately, licensees and distributors are no longer required to
include the acknowledgement within advertising materials. Accordingly, the
foregoing paragraph of those BSD Unix files containing it is hereby deleted
in its entirety.
William Hoskins
Director, Office of Technology Licensing
University of California, Berkeley
Danny Gasparovski:
Subject: RE: Slirp license
Date: Thu, 8 Jan 2009 10:51:00 +1100
From: "Gasparovski, Daniel" <Daniel.Gasparovski@ato.gov.au>
To: "Richard Fontana" <rfontana@redhat.com>
Hi Richard,
I have no objection to having Slirp code in QEMU be licensed under the
3-clause BSD license.
Thanks for taking the effort to consult me about this.
Dan ...
Kelly Price:
Date: Thu, 8 Jan 2009 19:38:56 -0500
From: "Kelly Price" <strredwolf@gmail.com>
To: "Richard Fontana" <rfontana@redhat.com>
Subject: Re: Slirp license
Thanks for contacting me, Richard. I'm glad you were able to find
Dan, as I've been "keeping the light on" for Slirp. I have no use for
it now, and I have little time for it (now holding onto Keenspot's
Comic Genesis and having a regular US state government position). If
Dan would like to return to the project, I'd love to give it back to
him.
As for copyright, I don't own all of it. Dan does, so I will defer to
him. Any of my patches I will gladly license to the 3-part BSD
license. My interest in re-licensing was because we didn't have ready
info to contact Dan. If Dan would like to port Slirp back out of
QEMU, a lot of us 64-bit users would be grateful.
Feel free to share this email address with Dan. I will be glad to
effect a transfer of the project to him and Mr. Bellard of the QEMU
project.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6451
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Mon, 26 Jan 2009 18:21:53 +0000 (18:21 +0000)]
R13 is reserved for small data area pointer by SVR4 PPC ABI
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6450
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 17:53:04 +0000 (17:53 +0000)]
MTRR support on x86 (Carl-Daniel Hailfinger)
The current codebase ignores MTRR (Memory Type Range Register)
configuration writes and reads because Qemu does not implement caching.
All BIOS/firmware in know of for x86 do implement a mode called
Cache-as-RAM (CAR) which locks down the CPU cache lines and uses the CPU
cache like RAM before RAM is enabled. Qemu assumes RAM is accessible
from the start, but it would be nice to be able to run real
BIOS/firmware in Qemu. For that, we need CAR support and for CAR support
we have to support MTRRs.
This patch is a first step in that direction. MTRRs are MSRs supported
by all recent x86 CPUs, even old i586. Besides influencing cache, the
MTRRs can be written and read back, so discarding MTRR writes violates
the expectations of existing code out there.
An added benefit of this patch is that it fixes the following Linux
kernel error message present in recent kernels (provided the BIOS has
the recent MTRR patches applied):
------------[ cut here ]------------
WARNING: at arch/x86/kernel/cpu/mtrr/main.c:1500 mtrr_trim_uncached_memory+0x382/0x384()
WARNING: strange, CPU MTRRs all blank?
Modules linked in:
Supported: Yes
Pid: 0, comm: swapper Not tainted 2.6.27.7-9-default #1
[<
c0106570>] dump_trace+0x6b/0x249
[<
c01070a5>] show_trace+0x20/0x39
[<
c0343c02>] dump_stack+0x71/0x76
[<
c012acb2>] warn_slowpath+0x6f/0x90
[<
c0542f8f>] mtrr_trim_uncached_memory+0x382/0x384
[<
c053f24d>] setup_arch+0x40d/0x639
[<
c053a6ac>] start_kernel+0x6b/0x31f
=======================
---[ end trace
4eaa2a86a8e2da22 ]---
Handle common x86 MTRR reads and writes, but don't act on them.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6449
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 17:17:52 +0000 (17:17 +0000)]
qemu iovec: keep track of total size, allow partial copies (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@6448
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 17:07:46 +0000 (17:07 +0000)]
build system: Further improve quiet mode (Jan Kiszka)
Derived from Stuart Brady's patch: Show the target directory as prefix
to the current module when building in quiet mode. This helps to gain
overview of the current build progress, specifically when running
parallelized builds.
Furthermore, suppress make command echoing when entering subdirs and
replace $(subst subdir-,,$@) with $* in the related rule.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6447
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 17:07:42 +0000 (17:07 +0000)]
Move definition of rgb_to_pixel_dup_table (Nathan Froyd)
This fixes the warning:
/scratch/froydnj/qemu.git/hw/vga.c:1515: warning: redundant redeclaration of 'rgb_to_pixel_dup_table'
/scratch/froydnj/qemu.git/hw/vga.c:1248: warning: previous declaration of 'rgb_to_pixel_dup_table' was here
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6446
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 15:57:52 +0000 (15:57 +0000)]
Add reset irq state for ps2 reboot callback (Dor Laor)
Should solve 100% cpu ioport poll after reboot.
Signed-off-by: Dor Laor <dor@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6445
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 15:37:44 +0000 (15:37 +0000)]
Handle link status in qemu_sendv_packet() (Mark McLoughlin)
If link is down, pretend that the packet has been successfully sent.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6444
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 15:37:40 +0000 (15:37 +0000)]
Enabled building of x86_64 code on Mac OS X (Alexander Graf)
Mac OS X 10.5 supports 64-bit userspace on an x86_64 kernel and
by default uses 32-bit userspace applications, so the detection for
the host architecture fails.
This patch enabled building of x86_64 code on x86_64 capable CPUS
with Mac OS X.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6443
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 15:37:35 +0000 (15:37 +0000)]
Define PCI vendor and device IDs in pci.h (Stuart Brady)
This patch defines PCI vendor and device IDs in pci.h (matching those
from Linux's pci_ids.h), and uses those definitions where appropriate.
Change from v1:
Introduces pci_config_set_vendor_id() / pci_config_set_device_id()
accessors as suggested by Anthony Liguori.
Signed-off-by: Stuart Brady <stuart.brady@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6442
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 15:37:30 +0000 (15:37 +0000)]
vnc fixes and improvements (Stefano Stabellini)
this patch fixes a bug and improves the generic pixel conversion
function in vnc.c.
The bug is that when a new vnc client connects we need to reset the flag
has_WMVi but currently we don't.
The generic pixel conversion function is vnc_convert_pixel and currently
is not very efficient since uses the division and multiplication
operators.
To make it more efficient I changed to use bit shift operators instead.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6441
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 15:22:57 +0000 (15:22 +0000)]
Use the default subsystem vendor ID for virtio devices (Mark McLoughlin)
A subsystem vendor ID of zero isn't allowed, so we use our
default ID.
Gerd points out that although the PCI subsystem vendor ID is
treated by the guest as the virtio vendor ID:
/* we use the subsystem vendor/device id as the virtio vendor/device
* id. this allows us to use the same PCI vendor/device id for all
* virtio devices and to identify the particular virtio driver by
* the subsytem ids */
vp_dev->vdev.id.vendor = pci_dev->subsystem_vendor;
vp_dev->vdev.id.device = pci_dev->subsystem_device;
it looks like only the device ID is used right now:
# grep virtio modules.alias
alias virtio:d00000001v* virtio_net
alias virtio:d00000002v* virtio_blk
alias virtio:d00000003v* virtio_console
alias virtio:d00000004v* virtio-rng
alias virtio:d00000005v* virtio_balloon
alias pci:v00001AF4d*sv*sd*bc*sc*i* virtio_pci
alias virtio:d00000009v* 9pnet_virtio
so setting the subsystem vendor id to something != zero shouldn't cause
trouble.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6440
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 15:22:46 +0000 (15:22 +0000)]
Add macro for virtio-console PCI device ID (Mark McLoughlin)
Also use the existing macro for the PCI vendor ID
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6439
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 26 Jan 2009 15:22:41 +0000 (15:22 +0000)]
Use macros for virtio-net PCI vendor/device IDs (Mark McLoughlin)
Gerd added these macros a while back.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6438
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 26 Jan 2009 10:22:15 +0000 (10:22 +0000)]
target-ppc: always load kernel to KERNEL_LOAD_ADDR
Linux changed its physical address location in the elf header from
0xc0000000 to 0 on 2.6.25, causing later kernels to fail booting
with the -kernel option.
This patch assures that the lowest segment in the elf binary is loaded
to KERNEL_LOAD_ADDR, which is where the firmware expects it.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6437
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Sun, 25 Jan 2009 10:56:51 +0000 (10:56 +0000)]
Add static qualifier to local functions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6436
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Sun, 25 Jan 2009 10:56:48 +0000 (10:56 +0000)]
Massage PPC version of cpu_get_real_ticks a little
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6435
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 24 Jan 2009 20:19:18 +0000 (20:19 +0000)]
Fix bsd-user compile like r6412
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6434
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 18:21:08 +0000 (18:21 +0000)]
sh4: sh_pci. Register resouces both at A7 and P4.
Add resource registration both for P4 and A7.
This is needed because of #5935 SH4: Eliminate P4 to A7 mangling.
Additionally, {reg,iop,mem}base which is no longer used are removed.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6433
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 24 Jan 2009 18:19:25 +0000 (18:19 +0000)]
Synch code, help and docs
Rearrange code, help printout and docs so that they are in the same
(hopefully more logical) order for easier maintenance.
Add help and docs for undocumented options.
Reformat slightly for more consistent help output.
Add comments to encourage better synchronization in the future.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6432
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 18:18:20 +0000 (18:18 +0000)]
sh4: r2d. Endian conversion for peripheral register initialization.
Add endian conversion to hw/r2d.c which lacks consideration of endian on
setting BSC registers.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6431
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 18:16:18 +0000 (18:16 +0000)]
Use broadcast address for slirp dhcp replies
Windows Vista drops unicast dhcp replies to its yet-unconfigured address,
so use a broadcast address. This behaviour is allowed by the RFC.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6430
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 18:06:21 +0000 (18:06 +0000)]
Support epoch of 1980 in RTC emulation for MIPS Magnum
On the MIPS Magnum, the time that is held in the RTC's NVRAM should be
relative to midnight on 1980-01-01. This patch adds an extra parameter
to rtc_init(), allowing different epochs to be used. For the Magnum,
1980 is specified, and for all other machines, 2000 is specified.
I've not modified the handling of the century byte, as with an epoch of
1980 and a year of 2009, one could argue that it should hold either
0, 1, 19 or 20. NT 3.50 on MIPS does not read the century byte.
Signed-off-by: Stuart Brady <stuart.brady@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6429
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 16:37:31 +0000 (16:37 +0000)]
List virtio console device in pci-ids.txt
As mentioned in:
http://lists.gnu.org/archive/html/qemu-devel/2009-01/msg00907.html
pci-ids.txt needs updating to list the the virtio-console PCI device ID.
Signed-off-by: Stuart Brady <stuart.brady@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6428
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 16:35:56 +0000 (16:35 +0000)]
kvm/powerpc: extern one function for MPC85xx code use
Signed-off-by: Liu Yu <yu.liu@freescale.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6427
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 15:08:25 +0000 (15:08 +0000)]
Reformat quiet build
Indent and align the quiet build messages more like Linux - improves
readability of this great feature even more.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6426
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 15:08:17 +0000 (15:08 +0000)]
target-ppc: Add SPE register read/write using XML
Don't read/write SPEFSCR until we figure out what to do about exceptions.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6425
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 15:08:09 +0000 (15:08 +0000)]
target-ppc: Add Altivec register read/write using XML
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6424
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 15:08:00 +0000 (15:08 +0000)]
target-ppc: Add float register read/write using XML
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6423
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 15:07:50 +0000 (15:07 +0000)]
target-ppc: Include gdbstub.h
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6422
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 15:07:42 +0000 (15:07 +0000)]
target-ppc: Change core powerpc gdbstub bits to be XML-aware
Define GDB_CORE_XML and hack things similarly to ARM so that despite the
FP registers coming in between the GPRs and some status registers,
everything works out OK no matter which kind of GDB we're communicating
with.
It matters whether we're built to target 64-bit or 32-bit cores. I
think there are still problems if we are debugging 32-bit programs on a
built-for-64-bit QEMU (QEMU will always send 64-bit registers), but I
don't know if there's a good way around that at the time being.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6421
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 15:07:34 +0000 (15:07 +0000)]
target-ppc: Add XML files for PowerPC registers
These files are nearly identical to the XML files provided with GDB.
The only difference is that power-{fpu,spe}.xml do not assign register
numbers; the internal QEMU machinery takes care of that.
Define gdb_xml_files for ppc targets in configure as well.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6420
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 15:07:25 +0000 (15:07 +0000)]
mips: limit RAM size to 256MB on malta and qemu boards
This avoid crash when a bigger RAM size is requested (the devices are
mapped at 0x01000000).
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6419
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 24 Jan 2009 15:07:09 +0000 (15:07 +0000)]
target-ppc: change the default RAM size to 128MB like other targets
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6418
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Sat, 24 Jan 2009 14:38:06 +0000 (14:38 +0000)]
Fix format warnings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6417
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 24 Jan 2009 12:09:52 +0000 (12:09 +0000)]
Floppy: Properly handle Sense Interrupt Status after FDC Reset
Original text below.
Attached is a patch that changes how the emulated floppy controller replies to Sense Interrupt Status commands immediately after a controller reset. The specs state that after a Reset the 82078 goes into polling mode which needs four Sense Interrupt Status commands to be issued afterwards to clear the status of each drive. Currently we always respond to Sense Interrupt Status with a SEEK END instead of POLLING. This causes a problem with the SCO Openserver installer which is expects a POLLING state after reset. This patch returns a POLLING status for four Sense Interrupt Status requests immediately after a controller reset. This approach mirrors the way Bochs handles this situation. With the attached patch applied Openserver gets further when trying to load storage drivers from the floppy disk (blocked by another issue, patch on its way). I have successfully tested the floppy drive on the following OSs after applying this patch: Windows 98, Windows XP SP2, Linux x86 (SysRescCD 1.1.3 and Ubuntu 8.10).
Justin
Changelog:
Properly handle Sense Interrupt Status after FDC Reset
Signed-off-by: Justin Chevrier <theburner1@yahoo.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6416
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 24 Jan 2009 12:00:23 +0000 (12:00 +0000)]
Fix kernel_size and initrd_size sign (Francois Revol)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6415
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 24 Jan 2009 11:54:21 +0000 (11:54 +0000)]
Rename sigev_signo to avoid FreeBSD problems (Juergen Lock)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6414
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Fri, 23 Jan 2009 19:56:19 +0000 (19:56 +0000)]
fix endianness problem sharing the videoram buffer
[ The following text is in the "UTF-8" character set. ]
[ Your display is set for the "koi8-r" character set. ]
[ Some characters may be displayed incorrectly. ]
This patch fixes vga rendering when the guest endianness differs from
the host endianness: in this case we can only share the buffer if the
bpp is 32 and we must change the pixelformat accordingly.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6413
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 23 Jan 2009 15:02:20 +0000 (15:02 +0000)]
linux-user: add qemu_realloc() implementation to unbreak the build (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@6412
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Thu, 22 Jan 2009 22:09:55 +0000 (22:09 +0000)]
Fix NAME2/FIELD2 warnings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6411
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 19:52:25 +0000 (19:52 +0000)]
Stop VM on error in virtio-blk. (Gleb Natapov)
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6410
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 19:52:21 +0000 (19:52 +0000)]
Stop VM on error in scsi-disk (Gleb Natapov)
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6409
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 18:57:38 +0000 (18:57 +0000)]
qemu-img: info: show highest_alloc and num_free_bytes if exist (Uri Lublin)
Signed-off-by: Uri Lublin <uril@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6408
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 18:57:34 +0000 (18:57 +0000)]
qcow2 format: keep 'num_free_bytes', and show it upon 'info blockstats' (Uri Lublin)
'num_free_bytes' is the number of non-allocated bytes below highest-allocation.
It's useful, together with the highest-allocation, to figure out how
fragmented the image is, and how likely it will run out-of-space soon.
For example when the highest allocation is high (almost end-of-disk), but
many bytes (clusters) are free, and can be re-allocated when neeeded, than
we know it's probably not going to reach end-of-disk-space soon.
Added bookkeeping to block-qcow2.c
Export it using BlockDeviceInfo
Show it upon 'info blockstats' if BlockDeviceInfo exists
Signed-off-by: Uri Lublin <uril@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6407
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 18:57:30 +0000 (18:57 +0000)]
info blockstats: show highest_allocated if exists (Uri Lublin)
Signed-off-by: Uri Lublin <uril@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6406
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 18:57:26 +0000 (18:57 +0000)]
block-qcow2: export highest_allocated through BlockDriverInfo and get_info() (Uri Lublin)
Signed-off-by: Uri Lublin <uril@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6405
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 18:57:22 +0000 (18:57 +0000)]
block-qcow2: keep highest allocated byte (Uri Lublin)
We want to know the highest written offset for qcow2 images.
This gives a pretty good (and easy to calculate) estimation to how
much more allocation can be done for the block device.
It can be usefull for allocating more diskspace for that image
(if possible, e.g. lvm) before we run out-of-disk-space
Signed-off-by: Uri Lublin <uril@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6404
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 18:39:53 +0000 (18:39 +0000)]
Fix warning in ide.c
The vm state handler needed updating after the recent vm state change
notification refactoring.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6403
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 17:15:29 +0000 (17:15 +0000)]
Rework vm_state_change notifiers (Jan Kiszka)
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6402
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 17:15:25 +0000 (17:15 +0000)]
Extend gitignore (Jan Kiszka)
Exclude objects in the root directory and temporary stgit files.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6401
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 17:15:21 +0000 (17:15 +0000)]
install man-pages as non-executables (Andre Przywara)
make install-doc omits an explicit permission mask for the man-pages. This
defaults to have the executable bits set. Adding "-m 644" (for rw-r--r--)
fixes that.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6400
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 17:15:16 +0000 (17:15 +0000)]
monitor-mux: fix timestamp prefixes (Jan Kiszka)
rt_clock returns milliseconds. Fix mux'ed monitor terminal timestamps
accordingly.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6399
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 16:59:28 +0000 (16:59 +0000)]
Convert IDE to directly access guest memory (Avi Kivity)
Instead of copying to a temporary buffer, map guest memory for IDE DMA
transactions.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6398
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 16:59:24 +0000 (16:59 +0000)]
Vectored block device API (Avi Kivity)
Most devices that are capable of DMA are also capable of scatter-gather.
With the memory mapping API, this means that the device code needs to be
able to access discontiguous host memory regions.
For block devices, this translates to vectored I/O. This patch implements
an aynchronous vectored interface for the qemu block devices. At the moment
all I/O is bounced and submitted through the non-vectored API; in the future
we will convert block devices to natively support vectored I/O wherever
possible.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6397
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 16:59:20 +0000 (16:59 +0000)]
I/O vector helpers (Avi Kivity)
In general, it is not possible to predict the size of of an I/O vector since
a contiguous guest region may map to a disconiguous host region. Add some
helpers to manage I/O vector growth.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6396
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 16:59:16 +0000 (16:59 +0000)]
Add map client retry notification (Avi Kivity)
The target memory mapping API may fail if the bounce buffer resources
are exhausted. Add a notification mechanism to allow clients to retry
the mapping operation when resources become available again.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6395
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 16:59:11 +0000 (16:59 +0000)]
Add target memory mapping API (Avi Kivity)
Devices accessing large amounts of memory (as with DMA) will wish to obtain
a pointer to guest memory rather than access it indirectly via
cpu_physical_memory_rw(). Add a new API to convert target addresses to
host pointers.
In case the target address does not correspond to RAM, a bounce buffer is
allocated. To prevent the guest from causing the host to allocate unbounded
amounts of bounce buffer, this memory is limited (currently to one page).
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6394
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 22 Jan 2009 16:18:33 +0000 (16:18 +0000)]
Fix build with --disable-sdl
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6393
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 21 Jan 2009 21:46:20 +0000 (21:46 +0000)]
Add BIOS fixes from KVM tree
See each patch for individual Signed-off-by's/commit logs
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6392
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Wed, 21 Jan 2009 19:28:13 +0000 (19:28 +0000)]
Fix nographic mode and VNC
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6391
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 21 Jan 2009 19:18:00 +0000 (19:18 +0000)]
re-fix screendump (Stefano Stabellini)
Removing the assumption about a single graphic console made
get_graphic_console return NULL when called by vga_screen_dump.
In this case returning NULL is correct but since NULL is not handled in
qemu_console_resize it causes a segmentation fault.
Just returning immediately from qemu_console_resize is sufficient to fix the
problem.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6390
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 21 Jan 2009 18:59:12 +0000 (18:59 +0000)]
fix curses interface (Stefano Stabellini)
Hi all,
this patch fixes the curses interface: when we switch from one console
to another we need to change the displaystate width and height even
though in the curses case the backing buffer remains of the same size.
I am also putting back the call to text_console_resize in
text_console_invalidate so that resizeable text consoles can be properly
handled.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6389
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 21 Jan 2009 18:59:04 +0000 (18:59 +0000)]
Stop VM on ENOSPC error. (Gleb Natapov)
This version of the patch adds new option "werror" to -drive flag.
Possible values are:
report - report errors to a guest as IO errors
ignore - continue as if nothing happened
stop - stop VM on any error and retry last command on resume
enospc - stop vm on ENOSPC error and retry last command on resume
all other errors are reported to a guest.
Default is "report" to maintain current behaviour.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6388
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 21 Jan 2009 18:58:51 +0000 (18:58 +0000)]
Adds null check for DisplayStatus (Stefano Stabellini)
Allocate a DisplaySurface in dumb_display_init if none else does it.
The DisplaySurface will be used for the qemu monitor, serial and
parallel ports, etc.
Signed-off-by: Andrew May <acmay@acmay.homeip.net>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6387
c046a42c-6fe2-441c-8c8c-
71466251a162