OSDN Git Service
aurel32 [Tue, 16 Sep 2008 22:44:10 +0000 (22:44 +0000)]
target-alpha: convert some arith3 instructions to TCG
Replace gen_arith3 generic macro and dyngen ops by instruction specific
optimized TCG code.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5236
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 16 Sep 2008 22:44:02 +0000 (22:44 +0000)]
target-alpha: convert arith2 instructions to TCG
Replace gen_arith2 generic macro and dyngon ops by instruction specific
optimized TCG code.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5235
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Tue, 16 Sep 2008 13:36:57 +0000 (13:36 +0000)]
Move offsetof to osdep.h, remove local defintions.
With this container_of can actually be used without causing build errors.
Reformat container_of.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5234
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 16 Sep 2008 13:21:58 +0000 (13:21 +0000)]
block-raw is not a protocol
The protocol_name "file" was added to the block driver when async IO was
introduced. This can be used to select that a file is treated as a raw
device instead of probing for the type. However, protocols are not subject
to path interpretation which cases qcow2 images with raw base images to not
function is the path was specified relatively.
The fix is simply to remove the protocol_name from the raw block driver. The
proper way to force the use of a raw block format is to use the format= option
with -drive.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5233
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Mon, 15 Sep 2008 22:26:35 +0000 (22:26 +0000)]
Fix range in the hid report descriptor for USB tablet.
Should prevent the ugly wrapping due to a typo in an earlier commit.
Fix by Gregor (gg@seh.de).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5232
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 15 Sep 2008 16:48:11 +0000 (16:48 +0000)]
Make sure to define fd_open when not on Linux
My previous commit broke the build. This was spotted by C.W. Betts.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5231
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 15 Sep 2008 16:05:16 +0000 (16:05 +0000)]
WMVi extension support (Stefano Stabellini)
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5230
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 15 Sep 2008 16:03:41 +0000 (16:03 +0000)]
vnc dynamic resolution (Stefano Stabellini)
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@5229
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 15 Sep 2008 16:01:01 +0000 (16:01 +0000)]
Right now, kvm keeps the memory allocation split, so we can
handle different areas in different ways. This schema works with qemu
too, so it appears to be the common ground.
This patch proposes using this common ground for everyone, by spliting
raw qemu.
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5228
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 15 Sep 2008 15:56:30 +0000 (15:56 +0000)]
Make page_find() return 0 for too-large addresses (Eduardo Habkost)
On some cases, such as under KVM, tb_invalidate_phys_page_range()
may be called for large addresses, when qemu is configured to more than
4GB of RAM.
On these cases, qemu was crashing because it was using an index too
large for l1_map[], that supports only 32-bit addresses when compiling
without CONFIG_USER_ONLY.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5227
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 15 Sep 2008 15:51:35 +0000 (15:51 +0000)]
Use common objects for qemu-img and qemu-nbd
Right now, we sprinkle #if defined(QEMU_IMG) && defined(QEMU_NBD) all over the
code. It's ugly and causes us to have to build multiple object files for
linking against qemu and the tools.
This patch introduces a new file, qemu-tool.c which contains enough for
qemu-img, qemu-nbd, and QEMU to all share the same objects.
This also required getting qemu-nbd to be a bit more Windows friendly. I also
changed the Windows block-raw to use normal IO instead of overlapping IO since
we don't actually do AIO yet on Windows. I changed the various #if 0's to
#if WIN32_AIO to make it easier for someone to eventually fix AIO on Windows.
After this patch, there are no longer any #ifdef's related to qemu-img and
qemu-nbd.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5226
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Mon, 15 Sep 2008 14:57:11 +0000 (14:57 +0000)]
Define a few structures instead of including a file, add "static"
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5225
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 15 Sep 2008 08:49:15 +0000 (08:49 +0000)]
SH4: Privilege check for instructions
This patch adds check for all SH4 instructions which are
executed only in privileged mode.
(Shin-ichiro KAWASAKI)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5224
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 15 Sep 2008 07:43:43 +0000 (07:43 +0000)]
qemu sh4 nptl support
(Michael Trimarchi)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5223
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 15 Sep 2008 07:34:45 +0000 (07:34 +0000)]
sh4: doesn't set the cpu_model_str
Fix setting of cpu_model_str for sh4
(Michael Trimarchi)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5222
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 15 Sep 2008 07:05:18 +0000 (07:05 +0000)]
SH4: Serial controller improvement
Add receive character feature to SH4 SCIF.
SH4-SCI feature implementation work is left.
(Shin-ichiro KAWASAKI)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5221
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 15 Sep 2008 06:42:30 +0000 (06:42 +0000)]
SH4: sleep instruction bug fix
fix a bug on 'sleep' instruction, which have caused halt of idle task.
As i386 'hlt' instruction does, it should save PC before sleep.
(Shin-ichiro KAWASAKI)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5220
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 14 Sep 2008 19:16:21 +0000 (19:16 +0000)]
Fix array subscript above array bounds error
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5219
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 14 Sep 2008 18:30:32 +0000 (18:30 +0000)]
ppc: Convert op_andi to TCG
Replace op_andi_... with tcg_gen_andi_tl.
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5218
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 14 Sep 2008 18:30:23 +0000 (18:30 +0000)]
ppc: Convert ctr, lr moves to TCG
Introduce TCG variables cpu_{ctr,lr} and replace op_{load,store}_{lr,ctr}
with tcg_gen_mov_tl.
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5217
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 14 Sep 2008 17:18:29 +0000 (17:18 +0000)]
alpha: add tests
This patch creates tests/alpha directory and adds an "hello world"
program as well as two tests.
Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5216
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 14 Sep 2008 17:09:56 +0000 (17:09 +0000)]
MIPS: Fix tlbwi/tlbwr
In CP0 Index register, bit 31 means 'Probe Failure', while lowest bits
contain the TLB index.
In tlbwi and tlbwr instructions, this Probe Failure bit must be ignored
when reading the TLB index.
Attached patch fixes it.
(Hervé Poussineau)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5215
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 14 Sep 2008 16:38:57 +0000 (16:38 +0000)]
MIPS: remove empty cpu_mips_irqctrl_init()
cpu_mips_irqctrl_init() function in hw/mips_timer.c is empty.
Attached patch removes it, and its callers.
(Hervé Poussineau)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5214
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 14 Sep 2008 16:28:26 +0000 (16:28 +0000)]
target-mips: fix warning
Attached patch fixes a warning in cpu_mips_find_by_name().
'name' is a string, so it should be declared as char*, not unsigned char*.
(Hervé Poussineau)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5213
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 14 Sep 2008 16:09:56 +0000 (16:09 +0000)]
alpha: fix helper.h
the content of target-alpha/helper.h is duplicated twice
(Tristan Gingold)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5212
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 14 Sep 2008 16:09:15 +0000 (16:09 +0000)]
alpha: fix lit sign
according to the alpha arch reference, the literal field of an operate
instruction is unsigned:
If bit <12> of the instruction is 1, an 8-bit zero-extended literal
constant is formed by bits
<20:13> of the instruction. The l teral is interpreted as a positive
integer bet ween 0 and 255
and is zero-extended to 64 bits.
This patch fixes the mis-interpretation of the literal field.
(Tristan Gingold)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5211
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 14 Sep 2008 13:59:34 +0000 (13:59 +0000)]
qemu_next_deadline_dyntick is only used on Linux and Windows
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5210
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 14 Sep 2008 13:56:10 +0000 (13:56 +0000)]
Revert incorrect part of r4574 to avoid unaligned traps with i386 target
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5209
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 14 Sep 2008 07:45:17 +0000 (07:45 +0000)]
Display TCGCond name in tcg dumper (original patch by Tristan Gingold)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5208
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 14 Sep 2008 06:46:31 +0000 (06:46 +0000)]
Enable gcc flag -Wwrite-strings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5207
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 14 Sep 2008 06:45:34 +0000 (06:45 +0000)]
Fix warnings that would be caused by gcc flag -Wwrite-strings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5206
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 14 Sep 2008 01:07:41 +0000 (01:07 +0000)]
usb: Support for removing device by host addr, improved auto filter syntax (Max Krasnyansky)
This patch adds support for removing USB devices by host address.
Which is usefull for things like libvirtd because there is no easy way to
find guest USB address of the host device.
In other words you can now do:
usb_add host:3.5
...
usb_del host:3.5
Before the patch 'usb_del' did not support 'host:' notation.
----
Syntax for specifying auto connect filters has been improved.
Old syntax was
host:bus.dev
host:pid:vid
New syntax is
host:auto:bus.dev[:pid:vid]
In both the cases any attribute can be set to "*".
New syntax is more flexible and lets you do things like
host:3.*:5533:* /* grab any device on bus 3 with vendor id 5533 */
It's now possible to remove auto filters. For example:
usb_del host:auto:3.*:5533:*
Active filters are printed after all host devices in 'info usb' output.
Which now looks like this:
Device 1.1, speed 480 Mb/s
Hub: USB device 1d6b:0002, EHCI Host Controller
Device 1.4, speed 480 Mb/s
Class 00: USB device 1058:0704, External HDD
Auto filters:
Device 3.* ID *:*
Signed-off-by: Max Krasnyansky <maxk@kernel.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5205
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 14 Sep 2008 01:06:09 +0000 (01:06 +0000)]
husb: Make control transactions asynchronous (Max Krasnyansky)
USB is 99.8% async now :). 0.2% is the three control requests that
we need to execute synchronously. We could off-load that to a thread
or something but it's not worth the pain since those requests are
performed only during device initialization (ie when device is
connected to the VM).
The change is a bit bigger than I wanted due to the fact that generic
handle_packet()/handle_control() interface was not designed for
async transactions. So I ended up adding custom handle_packet()
code to usb-linux. We can make that generic if/when some other
component needs it.
Signed-off-by: Max Krasnyansky <maxk@kernel.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5204
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 13 Sep 2008 20:07:53 +0000 (20:07 +0000)]
Use 64 bit loads for tlb addend only if addend size is 64 bits
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5203
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 13 Sep 2008 20:05:32 +0000 (20:05 +0000)]
Fix stack alignment on Sparc32 host
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5202
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 13 Sep 2008 17:20:52 +0000 (17:20 +0000)]
Fix mulscc with high bits set in either src1 or src2
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5201
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 12 Sep 2008 17:54:13 +0000 (17:54 +0000)]
Let snapshot work with protocols
realpath will horribly mangle a protocol so avoid calling it if the backing
file is a protocol.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5200
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 11 Sep 2008 19:42:00 +0000 (19:42 +0000)]
uhci: Change default transaction lifetime to 32 frames (Max Krasnyansky)
Transaction lifetime was originally set to 10 frames. That was an arbitrary
number I picked without much thinking :).
I'm changing that to 32 frames because things like interrupt transfers
and such are scheduled at that rate. It seems like 1/32 is accepted as
lowest supported rate. OHCI, for example, defines exactly 32 interrupt
heads.
While testing USB webcam under XP I noticed that interrupt transactions were
being canceled and then resubmitted on a regular basis, which works but is a
waste of CPU cycles. This change fixes that.
All other devices I have are not affected.
Signed-off-by: Max Krasnyansky <maxk@kernel.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5199
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Thu, 11 Sep 2008 18:16:02 +0000 (18:16 +0000)]
Enable gcc flag -Wendif-labels
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5198
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 11 Sep 2008 18:00:19 +0000 (18:00 +0000)]
Only build compatfd when using AIO and make sure to always init AIO
OpenBSD doesn't use AIO so don't try to build compatfd when not using AIO.
Also make sure to call qemu_aio_init() from bdrv_init. Everything that uses
bdrv calls bdrv_init so it makes sense to init aio from there instead of
in every single tool.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5197
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Thu, 11 Sep 2008 16:01:02 +0000 (16:01 +0000)]
Write zeros to high bits of y, based on patch by Vince Weaver
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5196
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 11 Sep 2008 14:32:27 +0000 (14:32 +0000)]
Make sure to read siginfo from signalfd
Otherwise, we'll idle at 100% cpu.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5195
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 11 Sep 2008 14:18:56 +0000 (14:18 +0000)]
Fix the build on non-Linux systems
It turns out, we're never reading from the signalfd() which is causing it to
remain readable forever. I'll fix this up but I thought I'd commit this fix
in the interim.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5194
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Wed, 10 Sep 2008 20:09:22 +0000 (20:09 +0000)]
Convert rest of ops using float32 to TCG, remove FT0 and FT1
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5193
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Wed, 10 Sep 2008 20:00:18 +0000 (20:00 +0000)]
Partially convert float128 conversion ops to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5192
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Wed, 10 Sep 2008 19:57:35 +0000 (19:57 +0000)]
Convert basic 64 bit VIS ops to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5191
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Wed, 10 Sep 2008 19:57:13 +0000 (19:57 +0000)]
Convert basic 32 bit VIS ops to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5190
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Wed, 10 Sep 2008 19:54:51 +0000 (19:54 +0000)]
Convert basic float32 ops to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5189
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 10 Sep 2008 18:18:38 +0000 (18:18 +0000)]
Add missing files from previous commit.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5188
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 10 Sep 2008 15:45:19 +0000 (15:45 +0000)]
Use signalfd() to work around signal/select race
This patch introduces signalfd() to work around the signal/select race in
checking for AIO completions. For platforms that don't support signalfd(), we
emulate it with threads.
There was a long discussion about this approach. I don't believe there are any
fundamental problems with this approach and I believe eliminating the use of
signals is a good thing.
I've tested Windows and Linux using Windows and Linux guests. I've also checked
for disk IO performance regressions.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5187
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 10 Sep 2008 15:23:19 +0000 (15:23 +0000)]
qemu-nbd: remove useless parameter from nbd_negotiate() (Laurent Vivier)
This patch removes "BlockDriverState *bs" from nbd_negotiate() because
it is not used.
Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.fr>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5186
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Tue, 9 Sep 2008 19:02:49 +0000 (19:02 +0000)]
Implement ldxfsr/stxfsr, fix ld(x)fsr masks, convert to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5185
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Tue, 9 Sep 2008 18:56:59 +0000 (18:56 +0000)]
Add missing "static"
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5184
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 9 Sep 2008 17:15:28 +0000 (17:15 +0000)]
Add gitignore file
While QEMU officially uses SVN, there are a number of unofficial git
repositories that many developers use. Adding a .gitignore (derived from the
svn:ignore) will make their lives a lot easier.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5183
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 9 Sep 2008 14:49:02 +0000 (14:49 +0000)]
Fix up pxe boot (Glauber Costa)
As discussed in
http://lists.gnu.org/archive/html/qemu-devel/2008-08/msg00667.html,
current pxe boot is broken for some use cases. The problem
goes away if we reduce the number of allowed bits in the address space
to 32 (which has the side effect of reducing guest max mem size to 4Gb).
After digging for a while, it turns out that it happens because pxelinux
tries to access address 0x10009e9a6, which does not fit a 32-bit address.
A closer look, however, reveals this access is totally valid: It's just
0x9e9a6 with an add carry.
To avoid this, this patch casts the address passed to the POPL macro to
a 32-bit value. This is also done, although just theorectically, for
PUSHL too.
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Reported-by: Chris Lalancette <clalance@redhat.com>
CC: Eduardo Habkost <ehabkost@redhat.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5182
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Sep 2008 21:00:01 +0000 (21:00 +0000)]
alpha: only print debug information to the log file
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5181
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Sun, 7 Sep 2008 18:07:39 +0000 (18:07 +0000)]
TCG: Use x86-64 zero extension instructions.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5180
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Sun, 7 Sep 2008 17:45:15 +0000 (17:45 +0000)]
Implement TCG sign extension ops for x86-64.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5179
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Sun, 7 Sep 2008 16:42:53 +0000 (16:42 +0000)]
Fix libvdeplug link test.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5178
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 6 Sep 2008 17:54:01 +0000 (17:54 +0000)]
Fix a typo in fpsub32
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5177
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 6 Sep 2008 17:51:43 +0000 (17:51 +0000)]
Convert most env fields to TCG registers
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5176
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 6 Sep 2008 17:50:16 +0000 (17:50 +0000)]
Silence gcc warning about constant overflow
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5175
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 6 Sep 2008 17:49:06 +0000 (17:49 +0000)]
Enable gcc flag -Wundef
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5174
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 6 Sep 2008 17:47:39 +0000 (17:47 +0000)]
Fix most warnings that would be caused by gcc flag -Wundef
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5173
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 6 Sep 2008 16:31:30 +0000 (16:31 +0000)]
Some little fixes on QEMU
- some vectors can be declared as "const"
- test on CONFIG_VNC_TLS is done for two times while just one is enough.
(Carlo Bramini)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5172
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 5 Sep 2008 19:07:53 +0000 (19:07 +0000)]
fix alpha cmovxx instruction
The CMOV instruction is defined by the alpha manual as:
CMOVxx Ra.rq,Rb.rq,Rc.wq !Operate format
CMOVxx Ra.rq,#b.ib,Rc.wq !Operate format
Operation:
IF TEST(Rav, Condition_based_on_Opcode) THEN
Rc ← Rbv
The current qemu behavior inverses Ra and Rb. This is fixed by this
patch.
Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5171
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Fri, 5 Sep 2008 17:17:55 +0000 (17:17 +0000)]
CRIS: Mask off the cache selection bit after MMU translations.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5170
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 5 Sep 2008 14:22:24 +0000 (14:22 +0000)]
Revert "TCG: enable debug"
This reverts commit 5166, commited by error.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5169
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 5 Sep 2008 14:19:51 +0000 (14:19 +0000)]
ppc: Convert op_subf to TCG
Replace op_subf with tcg_gen_sub_tl.
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5168
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 5 Sep 2008 14:19:43 +0000 (14:19 +0000)]
ppc: Convert op_add, op_addi to TCG
Replace op_add with tcg_gen_add_tl and op_addi with tcg_gen_addi_tl.
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5167
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 5 Sep 2008 14:19:35 +0000 (14:19 +0000)]
TCG: enable debug
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5166
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 5 Sep 2008 14:19:27 +0000 (14:19 +0000)]
TCG fixes for target-cris
This patch fixes TCG errors reported on the CRIS target when TCG_DEBUG
is enabled.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Acked-by: Edgar E. Iglesias <edgar@axis.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5165
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 5 Sep 2008 14:19:17 +0000 (14:19 +0000)]
TCG fixes for target-mips
This patch fixes TCG errors reported on the MIPS target when TCG_DEBUG
is enabled.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Acked-by: Thiemo Seufer <ths@networkno.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5164
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Fri, 5 Sep 2008 12:33:31 +0000 (12:33 +0000)]
Fix swapped mvz/mvs instructions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5163
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 20:34:31 +0000 (20:34 +0000)]
ppc: replace op_set_FT0 with tcg_gen_movi_i64
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5162
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 20:24:14 +0000 (20:24 +0000)]
alpha: add target-alpha/helper.h (missing from commit r5150)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5161
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 18:06:03 +0000 (18:06 +0000)]
ppc: Convert nip moves to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5160
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 17:16:41 +0000 (17:16 +0000)]
ppc: remove unused code
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5159
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 17:06:47 +0000 (17:06 +0000)]
ppc: Convert CRF moves to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5158
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 15:49:12 +0000 (15:49 +0000)]
ppc: fix fpr TCG registers creation
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5157
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 14:43:54 +0000 (14:43 +0000)]
ppc: Convert FPR moves to TCG
Replace op_{load,store}_fpr with tcg_gen_mov_i64.
Introduce i64 TCG variables cpu_fpr[0..31] and cpu_FT[0..2].
This obsoletes op_template.h for REG > 7.
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5156
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 14:43:45 +0000 (14:43 +0000)]
ppc: Convert Altivec register moves to TCG
Replace op_{load,store}_avr with helpers gen_{load,store}_avr.
Introduce two sets of i64 TCG variables, cpu_avr{h,l}[0..31], and
cpu_AVR{h,l}[0..2].
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5155
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 05:26:09 +0000 (05:26 +0000)]
ppc: cleanup register types
- use target_ulong for gpr and dyngen registers
- remove ppc_gpr_t type
- define 64-bit dyngen registers for GPE register on 32-bit targets
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5154
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 05:25:47 +0000 (05:25 +0000)]
ppc: Convert GPR moves to TCG
Replace op_load_gpr_{T0,T1,T2} and op_store_{T0,T1,T2} with tcg_gen_mov_tl.
Introduce TCG variables cpu_gpr[0..31].
For the SPE extension, assure that ppc_gpr_t is only uint64_t for ppc64.
Introduce TCG variables cpu_gprh[0..31] for upper 32 bits on ppc and helpers
gen_{load,store}_gpr64. Based on suggestions by Aurelien, Thiemo and Blue.
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5153
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 04:36:20 +0000 (04:36 +0000)]
alpha: convert a few more instructions to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5152
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 04:36:00 +0000 (04:36 +0000)]
alpha: directly access ir registers
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5151
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 04:35:40 +0000 (04:35 +0000)]
convert of few alpha insn to TCG
(based on a patch from Tristan Gingold)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5150
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 4 Sep 2008 04:35:20 +0000 (04:35 +0000)]
hw/pcnet: use qemu_socket.h
(Jan Kiszka)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5149
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Wed, 3 Sep 2008 17:32:10 +0000 (17:32 +0000)]
Implement no-fault loads
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5148
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Wed, 3 Sep 2008 14:40:17 +0000 (14:40 +0000)]
ETRAX-FS: Add support for DMA channel resets, needed for recent linux kernels.
* Correct numeric value for the RST state.
* Add emulation for reseting a DMA channel.
* Add a few sanity checks.
* Make it compile with debug enabled.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5147
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Wed, 3 Sep 2008 14:31:11 +0000 (14:31 +0000)]
CRIS: Avoid a few unecessary steps in the mmu.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5146
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Wed, 3 Sep 2008 14:30:27 +0000 (14:30 +0000)]
CRIS: Remove redundant code.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5145
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Tue, 2 Sep 2008 23:55:28 +0000 (23:55 +0000)]
Delete unused variable.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5144
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 2 Sep 2008 23:26:40 +0000 (23:26 +0000)]
[ppc] Convert op_moven_T2_T0 to TCG
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5143
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 2 Sep 2008 23:26:32 +0000 (23:26 +0000)]
[ppc] Convert op_reset_T0, op_set_{T0, T1} to TCG
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5142
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 2 Sep 2008 23:26:23 +0000 (23:26 +0000)]
SH4: R2D-PLUS FPGA: simply unassigned memory triggering
Use NULL to trigger unassigned memory error on 32-bit accesses instead
of assert(0) as suggested by Blue Swirl.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5141
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 2 Sep 2008 23:26:13 +0000 (23:26 +0000)]
hw/pcnet.c: windows compile fix
(Eduardo Felipe)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5140
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Tue, 2 Sep 2008 17:39:45 +0000 (17:39 +0000)]
Build fix for gcc-3.3.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5139
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Tue, 2 Sep 2008 16:33:23 +0000 (16:33 +0000)]
Fix sign extension problems with smul and umul (Vince Weaver)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5138
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 2 Sep 2008 16:19:05 +0000 (16:19 +0000)]
[ppc] Convert op_move_{T1,T2}_T0 to TCG
Attached patch replaces op_move_T1_T0 and op_move_T2_T0 with
tcg_gen_mov_tl.
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5137
c046a42c-6fe2-441c-8c8c-
71466251a162