Statistics
| Branch: | Revision:

root @ 21cafd08

# Date Author Comment
21cafd08 11/21/2008 12:11 am aliguori

uImage: return base load address (Hollis Blanchard)

Return the base address at which the image was loaded so that callers may keep
track of currently occupied guest memory.

This will be required by the PPC 440 embedded code to avoid hard coding a
device model/initrd location. Other users of this function could make use of...

5a123577 11/21/2008 12:04 am aliguori

uImage: implement gzip support (Hollis Blanchard)

Based on gzip uImage loading code from u-boot.

Signed-off-by: Jerone Young <>
Signed-off-by: Hollis Blanchard <>
Signed-off-by: Anthony Liguori <>

...

265ca29a 11/21/2008 12:02 am aliguori

uImage: don't leak file data or file descriptor (Hollis Blanchard)

Signed-off-by: Hollis Blanchard <>
Signed-off-by: Anthony Liguori <>

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

3adae656 11/20/2008 06:46 pm aliguori

Fix typo when using TARGET_FMT_plx and LSI_DEBUG (Ryan Harper)

TARGET_FMT_plx includes a % for you. This fixes the following warning when
compiling with LSI_DEBUG enabled.

Signed-off-by: Ryan Harper <>
Signed-off-by: Anthony Liguori <>...

12d96138 11/20/2008 08:41 am aurel32

target-sh4: fix fldi0/fldi1

fldi0/fldi1 should be executed as a nop if FPSCR.FR is set instead of
generating an exception. Reported by Laurent Desnogues.

Signed-off-by: Aurelien Jarno <>

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

66ba317c 11/19/2008 08:00 pm aurel32

target-sh4: map FP registers as TCG variables

Signed-off-by: Aurelien Jarno <>

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

9850d1e8 11/19/2008 08:00 pm aurel32

target-sh4: use CPU_Float/CPU_Double instead of ugly casts

Signed-off-by: Aurelien Jarno <>

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

0f2f39c2 11/19/2008 07:54 pm aurel32

target-ppc: fix TCG type errors introduced in r5754

Signed-off-by: Aurelien Jarno <>

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

34fc643f 11/19/2008 07:41 pm aliguori

Make KVMSlot a real structure

struct kvm_userspace_memory_region does not use QEMU friendly types to
define memory slots. This results in lots of ugly casting with warnings
on 32-bit platforms.

This patch introduces a proper KVMSlot structure that uses QEMU types to...

af12906f 11/19/2008 06:10 pm aurel32

target-ppc: convert fp ops to TCG

Signed-off-by: Aurelien Jarno <>

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

a3d6841f 11/19/2008 05:09 pm aliguori

kvm: de-register mem region for MMIO (Glauber Costa)

Besides unassigned memory, we also don't care about MMIO.
So if we're giving an MMIO area that is already registered,
wipe it out.

Signed-off-by: Glauber Costa <>
Signed-off-by: Anthony Liguori <>...

d5b4eb40 11/19/2008 05:03 pm aliguori

Fix media detection on emulated CDROM (Gary Grebus)

This patch tweaks the ATAPI CDROM emulation to fix an annoyance seen
when running a variety of Linux guests: the desktop GUI shows a CDROM
device as present, but is unable to automount the media and display its...

3dec6ecd 11/19/2008 03:31 am pbrook

Only force inlining when optimizing.

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

b25cf589 11/19/2008 12:00 am aliguori

Add 40-bit DMA support to LSI scsi emulation (Ryan Harper)

This patch fixes Linux machines configured with > 4G of ram and using a
SCSI device.

Signed-off-by: Ryan Harper <>
Signed-off-by: Anthony Liguori <>

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

426cd5d6 11/18/2008 11:52 pm aliguori

Fix Windows build

ENOBUFS is not defined on Win32. Use ENOMEM instead which is more portable.

This was reported by Hervé Poussineau.

Signed-off-by: Anthony Liguori <>

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

a59cb4e0 11/18/2008 11:09 pm aliguori

x86: Dump debug registers (Jan Kiszka)

As the debug registers are no longer dummies, let's include their
current state into the 'info registers' output and other register dumps.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>...

01df040b 11/18/2008 11:08 pm aliguori

x86: Debug register emulation (Jan Kiszka)

Built on top of previously enhanced breakpoint/watchpoint support, this
patch adds full debug register emulation for the x86 architecture.

Many corner cases were considered, and the result was successfully
tested inside a Linux guest with gdb, but I won't be surprised if one...

2dc9f411 11/18/2008 10:56 pm aliguori

Introduce BP_CPU as a breakpoint type (Jan Kiszka)

Add another breakpoint/watchpoint type to BP_GDB: BP_CPU. This type is
intended for hardware-assisted break/watchpoint emulations like the x86
architecture requires.

To keep the highest priority for BP_GDB breakpoints, this type is...

dde2367e 11/18/2008 10:50 pm aliguori

Add debug exception hook (Jan Kiszka)

This patch allows to hook into the delivery of EXCP_DEBUG so that other
use beyond guest debugging becomes possible.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>...

6e140f28 11/18/2008 10:37 pm aliguori

Introduce BP_WATCHPOINT_HIT flag (Jan Kiszka)

When one watchpoint is hit, others might have triggered as well. To
support users of the watchpoint API which need to detect such cases,
the BP_WATCHPOINT_HIT flag is introduced and maintained.

Signed-off-by: Jan Kiszka <>...

880a7578 11/18/2008 10:30 pm aliguori

gdbstub: manage CPUs as threads (Jan Kiszka)

This patch enhances QEMU's built-in debugger for SMP guest debugging.
Using the thread support of the gdb remote protocol, each VCPU is mapped
on a pseudo thread and exposed to the gdb frontend. This way you can...

bfa50bc2 11/18/2008 10:26 pm aliguori

Remove premature memop TB terminations (Jan Kiszka)

Now that we can properly restore the pc on watchpoint hits, there is no
more need for prematurely terminating TBs if watchpoints are present.
Remove all related bits.

Signed-off-by: Jan Kiszka <>...

06d55cc1 11/18/2008 10:24 pm aliguori

Restore pc on watchpoint hits (Jan Kiszka)

In order to provide accurate information about the triggering
instruction, this patch adds the required bits to restore the pc if the
access happened inside a TB. With the BP_STOP_BEFORE_ACCESS flag, the
watchpoint user can control if the debug trap should be issued on or...

b4051334 11/18/2008 10:14 pm aliguori

Respect length of watchpoints (Jan Kiszka)

This adds length support for watchpoints. To keep things simple, only
aligned watchpoints are accepted.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

...

db8886d3 11/18/2008 10:09 pm aliguori

Set mem_io_vaddr on io_read (Jan Kiszka)

Analogously to write accesses, we have to save the memory address also
on read accesses in order to support read watchpoints.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>...

a1d1bb31 11/18/2008 10:07 pm aliguori

Refactor and enhance break/watchpoint API (Jan Kiszka)

This patch prepares the QEMU cpu_watchpoint/breakpoint API to allow the
succeeding enhancements this series comes with.

First of all, it overcomes MAX_BREAKPOINTS/MAX_WATCHPOINTS by switching
to dynamically allocated data structures that are kept in linked lists....

d6fc1b39 11/18/2008 09:55 pm aliguori

gdbstub: Return appropriate watch message to gdb (Jan Kiszka)

Return the appropriate type prefix (r, a, none) when reporting
watchpoint hits to the gdb front-end.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>...

6b917547 11/18/2008 09:46 pm aliguori

Refactor translation block CPU state handling (Jan Kiszka)

This patch refactors the way the CPU state is handled that is associated
with a TB. The basic motivation is to move more arch specific code out
of generic files. Specifically the long #ifdef clutter in tb_find_fast()...

622ed360 11/18/2008 09:36 pm aliguori

Convert CPU_PC_FROM_TB to static inline (Jan Kiszka)

as macros should be avoided when possible.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

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

62d60e8c 11/18/2008 05:41 pm aliguori

Make KVM slot management more robust

KVM keeps track of physical memory based on slots in the kernel. The current
code that translates QEMU memory mappings to slots work but is not robust
in the fact of reregistering partial regions of memory.

This patch does the right thing for reregistering partial regions of memory. It...

87006d13 11/18/2008 11:32 am aurel32

target-ppc: fix regression introduced by commit 5729

Signed-off-by: Aurelien Jarno <>

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

b29fe3ed 11/18/2008 03:42 am malc

Preliminary AIX support

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

14f87098 11/18/2008 03:42 am malc

AIX's assembler does not support local labels, use relative addressing instead

(Laurent Vivier)

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

48253bd8 11/18/2008 03:42 am malc

Use qemu_memalign instead of memalign in qemu_vmalloc

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

a7812ae4 11/17/2008 04:43 pm pbrook

TCG variable type checking.

Signed-off-by: Paul Brook <>

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

30913bae 11/16/2008 09:15 pm aurel32

target-i386: fix helper_pmovmskb_mmx helper

(malc)

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

cd390083 11/16/2008 03:53 pm blueswir1

Attached patch fixes a series of this warning
when compiling on NetBSD:

warning: array subscript has type 'char'

Signed-off-by: Christoph Egger <>

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

77b9435f 11/16/2008 01:38 pm blueswir1

Use correct trap for syscalls on Sparc32

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

0399bfe0 11/16/2008 01:37 pm blueswir1

Fix warnings caused by timer_t, it is 32 bits on Sparc64

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

634a21f6 11/16/2008 01:34 pm blueswir1

Fix no_frame unused warning when SDL is disabled

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <>

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

da80682b 11/15/2008 02:12 pm aurel32

target-mips: avoid tcg internal error in mfc0/dmfc0

Set t0 to 0 for unimplemented mfc0/dmfc0 instructions. This fixes a tcg
internal error while booting mips linux.

Noticed by Julia Longtin.

Signed-off-by: Aurelien Jarno <>

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

64b4d28c 11/14/2008 07:20 pm aurel32

target-alpha: implement getxuid and getxgid syscalls

This patch implemented the setxuid and setxgid syscalls for Alpha.
These syscalls return two values, both uid/euid and gid/egid.
In addition to returning the first value in $v0, the additional
value is returned in the $a4 register....

71f75756 11/14/2008 07:05 pm aurel32

ppc-linux-user: handle EXCP_DEBUG

Replace POWERPC_EXCP_DEBUG by EXCP_DEBUG as the former can not happen in
user mode emulation, while the later can happen and should be handled.

Noticed by Andrew Stubbs.

Signed-off-by: Aurelien Jarno <>...

1ab5f75c 11/13/2008 11:33 pm edgar_igl

ETRAX-FS: Don't schedule DMA processing without active channels.

Avoid scheduling DMA processing when all channels are stopped or at
end-of-list.

Signed-off-by: Edgar E. Iglesias <>

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

9eee9a5d 11/13/2008 11:10 pm edgar_igl

ETRAX-FS: Fix a segfault if pflash drive not found.

drive_get_index() returns -1 if a drive isn't found; don't
use -1 to index drives_table.

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Edgar E. Iglesias <>

...

10781c09 11/13/2008 09:37 pm aliguori

x86: fix warning without CONFIG_KVM (Mark McLoughlin)

Warning is:

target-i386/helper.c: In function `cpu_x86_cpuid':
target-i386/helper.c:1373: warning: implicit declaration of function `host_cpuid'

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>...

57003085 11/13/2008 09:28 pm aliguori

Fix CPUID ext2 features masking (Avi Kivity)

Typo. Exposes rdtscp which kills some guests.

Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

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

e20e830b 11/13/2008 09:23 pm aliguori

block: make raw aio signaling non-blocking (Gerd Hoffman)

This patch switches the read handle of the signaling pipe into
non-blocking mode. This avoids unwanted blocking reads and also
allows to read all bytes out of the signaling pipe in case we got
signaled more that once before the handler ran....

984b5181 11/13/2008 09:21 pm aliguori

Define kvm_ioctl in the same way as ioctl

The third argument to ioctl is a ... which allows any value to be passed. In
practice, glibc always treats the argument as a void *.

Do the same thing for the kvm ioctls to keep things consistent with a
traditional ioctl....

305b0eb2 11/13/2008 06:19 pm aliguori

copyright & license for qemu_sockets.c (Gerd Hoffman)

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

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

8ad9fa5d 11/13/2008 12:29 am aliguori

Fix brown-paper-bag bugs from live-migration patch (Charles Duffy)

In TCP migration, prevent an endless loop trying to retrieve error status. In
exec migration, set the close pointer in the FdMigrationState structure.

Color me embarrassed.

Signed-off-by: Charles Duffy <>...

c310de86 11/12/2008 10:36 pm malc

Rename hz to hertz to keep AIX happy

The issue was first noticed/addressed by Laurent Vivier in his QEMU on
AIX patches.

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

2946898b 11/12/2008 10:36 pm malc

Rename misnamed BACK_CHAIN_OFFSET to LR_OFFSET

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

8421d9e5 11/12/2008 10:36 pm malc

Avoid compiler warning

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

b0f74c87 11/12/2008 07:36 pm balrog

Don't use "hz" in identifiers to make AIX happy.

malc found AIX headers leak "hz" and so it can't be used there. Change
the occurences in hw/.

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

c8906845 11/12/2008 07:18 pm balrog

Include <strings.h> for ffs().

ffs() is in <strings.h> although bsd compatible systems have it in
<string.h> already. ffs() is used in omap1.c, omap2.c, omap_i2c.c,
bt-sdp.c. These uses can be replaced with clz32() but ffs is more
available. Problem was spotted by malc....

be351261 11/12/2008 06:50 pm balrog

r5531 made x509 certs not loadable (original patch from Henrik Holst).

The patch in r5531 which replaced a bunch of strncpy with pstrcpy causes
the x509 credentials from the -vnc parameter to be one character shorter
than entered meaning that there is currently no way to enter x509...

9167a69a 11/12/2008 06:41 pm balrog

Implement LSI53C895A quirks exposed by OpenServer (Justin Chevrier).

After going through the debug log and scratching my head for quite some
time. I found the following:

The problem was with this block move:

lsi_scsi: SCRIPTS dsp=0fae8e50 opcode 01000028 arg 00f63c40...

c3b972c3 11/12/2008 05:00 pm aliguori

fix some variable initizalization issues (Stefano Stabellini)

this patch fixes two variable initialization issues.

Signed-off-by: Stefano Stabellini <>
Signed-off-by: Anthony Liguori <>

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

dccfec67 11/12/2008 12:01 pm aurel32

target-alpha: fix termbits and target IOC macros

This patch fixes the two following problems for Alpha linux-user:
- termbits.h is incorrectly using host IOC macros and structures
- IOC bitfields sizes are incorrectly set

This patch corrects the ioctl TCGETS done by isatty function call...

c2b48b69 11/12/2008 12:06 am aliguori

Fix -linux-user build by reverting r5701

Unfortunately, -linux-user doesn't use osdep as it replaces some of those
functions with specific ones. The code #ifdef code in exec.c needs to
remain in place so instead of introducing a qemu_getpagesize() let's just...

6f7af85d 11/11/2008 11:50 pm aliguori

Allocate guest memory on host page boundaries (Hollis Blanchard)

Signed-off-by: Hollis Blanchard <>

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

15ed71ba 11/11/2008 11:48 pm aliguori

Define OS-dependent qemu_getpagesize() (Hollis Blanchard)

Signed-off-by: Hollis Blanchard <>

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

a672b469 11/11/2008 11:33 pm aliguori

Split savevm code into savevm.c

This is pure code motion. The savevm code is all common code so we can build
it once and share the object with all executables.

Signed-off-by: Anthony Liguori <>

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

559b90fb 11/11/2008 11:20 pm aliguori

Move the things that aren't target specific to libqemu_common.a.

This will improve the build time.

Signed-off-by: Anthony Liguori <>

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

9118e7f0 11/11/2008 10:57 pm aliguori

windows cdrom cache flush (Stefano Stabellini)

Windows only flushes its cache of a CDROM if it gets a
SENSE_UNIT_ATTENTION CHECK_CONDITION response to a REQUEST_SENSE
command.
Make sure it does so after we change the CD.

Tab damage fixed by Anthony Liguori...

f07b6003 11/11/2008 10:54 pm aliguori

sockets: switch over tcp/telnet/unix serial line to new helper functions (Gerd Hoffman)

This switches the tcp, telnet and unix socket support for character
devices (serial/parallel, ...) to the new socket helpers. Thereby they
gain IPv6 support and also get ability to search for a free tcp port....

9712ecaf 11/11/2008 10:51 pm aliguori

sockets: switch vnc to new code, support vnc port auto-allocation (Gerd Hoffman)

This patch switches the vnc code ofer to the new socket helper
functions.

It adds support IPv6 support and for automatically allocating an unused
vnc display port. The latter is handled ising a to= option, specifying...

d247d25f 11/11/2008 10:46 pm aliguori

sockets: helper functions for qemu (Gerd Hoffman)

This patch creates a new source file qemu-sockets.c with a bunch of
helper functions to create listening and connected sockets.

New features of this code are (a) support for searching for a free
port in a given range and (b) support for IPv6....

065e2813 11/11/2008 06:46 pm aliguori

Reintroduce migrate-to-exec: support (Charles Duffy)

KVM's live migration support included support for exec: URLs, allowing system
state to be written or received via an arbitrary popen()ed subprocess. This
provides a convenient way to pipe state through a compression algorithm or an...

a74b4d2c 11/11/2008 03:54 pm aurel32

target-alpha: fix decoding of CVTST /S

This patch fixes the decoding of CVTST /S which was
incorrectly being decoded as CVTTS.

This fixes SPEC2000 gcc with 200.i input.

Signed-off-by: Laurent Desnogues <>
Signed-off-by: Aurelien Jarno <>...

d9e147ad 11/11/2008 03:42 pm aurel32

target-alpha: fix syscall error check

(re-add commit 5689)

Signed-off-by: Aurelien Jarno <>

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

de9a95f0 11/11/2008 03:41 pm aurel32

Revert commits 5685 to 5688 committed by mistake

Signed-off-by: Aurelien Jarno <>

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

55489a17 11/11/2008 03:31 pm aurel32

target-alpha: disable single stepping and TB flush by default

Signed-off-by: Aurelien Jarno <>

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

9c08393f 11/11/2008 03:31 pm aurel32

target-alpha: fix syscall error check

Signed-off-by: Aurelien Jarno <>

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

3587f82a 11/11/2008 03:30 pm aurel32

qemu: generate signals on tap I/O

Currently tap does not generate signals on I/O; this causes
network latency to be dependent on the timer tick (1ms without
dyntick, guest dependent with dyntick). By generating a signal
on I/O, we can inform the guest immediately that a packet has...

7aa763c7 11/11/2008 03:30 pm aurel32

Use HOST_CC instead of CC on TCG only targets

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

1c58b166 11/11/2008 03:30 pm aurel32

Don't stop translation for mtc0 compare

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

dc18031f 11/11/2008 03:30 pm aurel32

Disable debug code for production.

Signed-off-by: Aurelien Jarno <>

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

a6e92a65 11/11/2008 01:50 pm aurel32

target-mips: gen_compute_branch1()

Optimize code generation in gen_compute_branch1():
- Directly use I32 variables instead of converting values from _tl to
_i32 and back to _tl.
- Write the result directly to bcond instead of passing by a local
variable....

9bf3eb2c 11/11/2008 01:50 pm aurel32

target-mips: optimize movc*()

Optimize code generation in gen_movc*():
- Temp variables are valid up to and including the brcond instruction.
Use them instead of temp local variables.
- Avoid using temporary variables to transfer values.
- Access fpu_fcr31 directly in gen_movcf_ps()....

2a0ab998 11/11/2008 01:50 pm aurel32

target-mips: optimize gen_farith()

Optimize code generation in gen_farith():
- Temp variables are valid up to and including the brcond instruction.
Use them instead of temp local variables.

Signed-off-by: Aurelien Jarno <>

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

b10fa3c9 11/11/2008 01:50 pm aurel32

target-mips: optimize gen_muldiv()

Optimize code generation in gen_muldiv():
- Don't do sign extension when the value is already guaranteed to be
sign extended (otherwise, results are marked as UNPREDICTABLE).
- Access the LO, HI registers directly instead of writting them through...

507563e8 11/11/2008 01:50 pm aurel32

target-mips: optimize gen_arith()/gen_arith_imm()

Optimize code generation in gen_arith()/gen_arith_imm():
- Don't do sign extension when the value is already guaranteed to be
sign extended (otherwise, results are marked as UNPREDICTABLE).
- When the value is sign extended, compare the value to 0 instead of...

49bcf33c 11/11/2008 01:47 pm aurel32

target-mips: convert bit shuffle ops to TCG

Bit shuffle operations can be written with very few TCG instructions
(between 5 and 8), so it is worth converting them to TCG.

This code also move all bit shuffle generation code to a separate
function in order to have a cleaner exception code path, that is it...

505ad7c2 11/11/2008 01:46 pm aurel32

target-mips: convert bitfield ops to TCG

Bitfield operations can be written with very few TCG instructions
(between 2 and 5), so it is worth converting them to TCG.

Signed-off-by: Aurelien Jarno <>

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

2623c1ec 11/11/2008 01:39 pm aurel32

target-mips: optimize gen_op_addr_add() (2/2)

Instead of dynamically generating different code depending on the UX
flag, add a new flag in ctx->flags to generate different code.

Signed-off-by: Aurelien Jarno <>

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

d144d1d9 11/11/2008 01:36 pm aurel32

target-mips: optimize gen_op_addr_add() (1/2)

The user mode can be tested at translation time using ctx->hflags.
This simplifies gen_op_addr_add().

Signed-off-by: Aurelien Jarno <>

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

1eb75d4a 11/11/2008 01:36 pm aurel32

target-mips: optimize gen_save_pc()

We obviously don't need to use a temporary variable to write PC.

Signed-off-by: Aurelien Jarno <>

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

add69063 11/11/2008 01:34 pm aurel32

target-mips: fix mft* helpers/call

This patch attempts to fix mft* helpers and the associated TCG calls.
mft* helpers do not take a register in argument, however:
- some helpers are called with an argument while they do not take one.
- some helpers are declared with an argument they don't use....

c24135ff 11/11/2008 01:34 pm aurel32

target-mips: fix temporary variable freeing in op_ldst_##insn()

Move tcg_temp_free() out of the conditional part to make sure
the TCG temporary variable is freed in all cases.

Signed-off-by: Aurelien Jarno <>
Acked-by: Thiemo Seufer <>...

1f961124 11/11/2008 01:30 pm aurel32

target-alpha: add proper fcntl definitions

On Alpha the target to native fcntl definitions were missing. Because of
this, programs trying to open files with the O_CREAT option were getting
O_APPEND instead, etc.

This was keeping gcc from the spec benchmarks from running, among other...

9cd38c23 11/11/2008 01:30 pm aurel32

target-alpha: fix double TCG variable allocation

Noticed by Chris Krumme.

Signed-off-by: Aurelien Jarno <>

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

828808f5 11/11/2008 05:04 am malc

Fix alignment problem with some 64bit load/store instructions

LD/STD/LWA require displacement to be multiple of 4, provide
tcg_out_ldsta which checks the supplied displacement and falls
back on indexed variant when the check fails. All uses of
LD/STD/LWA outside of tcg_out_ldst appear to be safe....

becfc390 11/10/2008 05:55 pm aliguori

KVM: simplify kvm_cpu_exec hook

We don't need to use cpu_loop_exit() because we never use the
condition codes so everything can be folded into a single case.

Signed-off-by: Anthony Liguori <>

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

57951c27 11/10/2008 01:10 pm aurel32

target-ppc: convert most SPE integer instructions to TCG

Signed-off-by: Aurelien Jarno <>

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

970d622e 11/10/2008 01:10 pm aurel32

target-alpha: fix cmpbge instruction

The cmpbge instruction should compare all 8 bytes of one 64-bit value with
another. However, we were looping with a < 7 condition which was skipping
the top byte. So if we were doing a compare where the top byte was...

e441570f 11/10/2008 04:55 am balrog

use target_mmap() to allocate idt, gdt and ldt (Kirill A. Shutemov).

env->*dt.base should fit target address space, so we should use
target_mmap to allocate them.

Signed-off-by: Kirill A. Shutemov <>

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

8ce0f869 11/10/2008 03:34 am balrog

Currently trying to turn an oversized directory into a VVFAT image will
result in a cryptic error (and an abort):
qemu: block-vvfat.c:97: array_get: Assertion `index < array->next' failed.
Aborted

Turn this into an actually useful error message:
Directory does not fit in FAT16 (capacity 504MB)...

59795a1f 11/10/2008 03:05 am balrog

x86 CPUID extended family/model (Andre Przywara).

x86 CPUs feature extended family/model bits in CPUID leaf
0000_0001|EAX. Refer to page 10 in:
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/25481.pdf

Those bits are necessary to model newer AMD CPUs:...