Statistics
| Branch: | Revision:

root @ 148954fa

# Date Author Comment
b31f519e 02/24/2011 12:28 am Corentin Chary

vnc: don't set the quality if lossy encoding are disabled

This should not change the current behavior, but if any new
encoding try to use the tight quality, it will always be set
to -1 when lossy encodings are disabled.

Signed-off-by: Corentin Chary <>...

999342a0 02/24/2011 12:28 am Corentin Chary

vnc: add a way to get the update frequency for a given region

This patch compute the update frequency (in Hz) for each 64x64 rects.
Any adaptive encoding can get this value using vnc_update_freq(), and
switch to a lossy encoding if the value is too high....

7d964c9d 02/24/2011 12:28 am Corentin Chary

vnc: refresh lossy rect after a given timeout

If an adaptive encoding has choosen to send a lossy update
based on the result of vnc_update_freq(), then it should advertise
it with vnc_sent_lossy_rect(). This will allow to automatically refresh
this rect once it's static again....

ce702e93 02/24/2011 12:28 am Corentin Chary

vnc: tight: use the update frequency to choose between lossy and lossless

Use the new update frequency infrastructure to use jpeg for regions with
high update frequency.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

e31e3694 02/24/2011 12:28 am Corentin Chary

vnc: palette: use a pool to reduce memory allocations

We now that the palette will never have more than 256
elements. Let's use a pool to reduce malloc calls.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

72aefb76 02/24/2011 12:28 am Corentin Chary

vnc: palette: add palette_init calls

This allow to use palette on the stack instead of always
allocating them.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

f8562e32 02/24/2011 12:28 am Corentin Chary

vnc: palette: and fill and color calls.

These two helpers are needed for zrle and zywrle.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

148954fa 02/24/2011 12:28 am Corentin Chary

vnc: Add ZRLE and ZYWRLE encodings.

Add ZRLE [1] and ZYWRLE [2] encodings. The code is inspire^W stolen
from libvncserver (again), but have been rewriten to match QEMU coding
style.

[1] http://www.realvnc.com/docs/rfbproto.pdf
[2] http://micro-vnc.jp/research/remote_desktop_ng/ZYWRLE/publications/...

082e5be8 02/23/2011 01:31 pm Edgar E. Iglesias

pls3adsp1800: Base load_elf endianness on target endianness

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

877fdc12 02/23/2011 01:31 pm Edgar E. Iglesias

microblaze: Allow targeting little-endian mb

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

c9f7383c 02/23/2011 11:42 am Paolo Bonzini

do not use qemu_icount_delta in the !use_icount case

The !use_icount code is the same for iothread and non-iothread,
except that the timeout is different. Since the timeout might as
well be infinite and is only masking bugs, use the higher value.
With this change the !use_icount code is handled equivalently...

9a31334f 02/21/2011 05:02 pm Peter Maydell

hw/irq.h: Remove unused SetIRQFunc typedef

Remove the typedef SetIRQFunc, as it is not used by anything.

Signed-off-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

81aa0647 02/21/2011 04:53 pm Aurelien Jarno

Revert "prep: Disable second IDE channel, as long as ISA IDE emulation doesn't support same irq for both channels"

This reverts commit 491e2a338fdf8310c84f6ebaed1683a871a0700e.

ee951a37 02/21/2011 04:46 pm Jan Kiszka

isa-bus: Remove bogus IRQ sharing check

Nothing prevented IRQ sharing on the ISA bus in principle. Not all
boards supported this, neither each and every card nor driver and OS.
Still, there existed valid IRQ sharing scenarios, (at least) two of them
can also be found in QEMU: >2 PC UARTs and the PREP IDE buses....

7096a96d 02/21/2011 04:41 pm Roy Tam

PS/2 keyboard Scancode Set 3 support

The following patch adds PS/2 keyboard Scancode Set 3 support.

Signed-off-by: Roy Tam <>
Signed-off-by: Aurelien Jarno <>

92cdfaeb 02/21/2011 04:39 pm Peter Maydell

target-arm: Fix shift by immediate and narrow where src, dest overlap

For Neon shifts by immediate and narrow, correctly handle the case
where the source registers and the destination registers overlap
(the second pass should use the original register contents, not the...

c33171c7 02/21/2011 04:39 pm Peter Maydell

target-arm: Refactor to pull narrowing decode into separate function

Pull the code which decodes narrowing operations as being either
signed/unsigned saturate or plain out into its own function.

Signed-off-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

57a8821b 02/20/2011 10:18 pm Stefan Weil

w32: Remove implementation of function ffs

This implementation is no longer needed.

ffs is either a built-in function (for compilations with optimisation)
or taken from libiberty.a (which was added by the previous patch).

Cc: Anthony Liguori <>...

08f3896a 02/20/2011 10:18 pm Stefan Weil

w32: Use additional library libiberty.a

libiberty.a is part of MinGW and provides useful functions
like ffs (MinGW) and getopt (MinGW-w64).

It is needed for w64 compilations and allows simpler code for w32.

Cc: Anthony Liguori <>
Signed-off-by: Stefan Weil <>...

9dda2465 02/20/2011 09:28 pm Vasily Khoruzhick

Fix obvious mistake in pxa2xx i2s driver

RST bit is (1 << 4) bit, not (1 << 3), fix condition
that enables i2s if ENB is set and RST is not set.

Signed-off-by: Vasily Khoruzhick <>
Signed-off-by: Aurelien Jarno <>

582798b5 02/20/2011 08:53 pm Vasily Khoruzhick

pxa2xx_keypad: Handle 0xe0xx keycodes

Add handling of 0xe0xx keycodes to pxa2xx_driver.
Extended keycodes in keymap should be marked with most significant
bit set (i.e. 0x80). Without this patch it's not possible to handle
i.e. cursor keys.

Signed-off-by: Vasily Khoruzhick <>...

b976b4c0 02/20/2011 08:53 pm Vasily Khoruzhick

pxa2xx_keypad: enhance emulation of KPAS, KPASMKP regs

Add emulation of KPAS register and proper emulation of
KPASMKP regs, so now driver supports multipresses and properly
works with Linux driver.

Signed-off-by: Vasily Khoruzhick <>
Signed-off-by: Aurelien Jarno <>

5a5e3d55 02/20/2011 07:51 pm David 'Digit' Turner

qdev: Fix printout of bit device properties with bit index >= 8

Signed-off-by: David 'Digit' Turner <>
Acked-by: Markus Armbruster <>
Signed-off-by: Aurelien Jarno <>

7464f058 02/20/2011 07:45 pm Stefan Weil

check-qdict: Fix possible crash

This warning is reported by cppcheck:

check-qdict.c:270: warning: scanf without field width limits can crash with huge input data

Fix it by limiting the field widths to 127 (both key and value take
127 characters + a terminating '\0' byte)....

8da91fff 02/20/2011 07:45 pm Stefan Weil

tests: Fix two memory leaks

Although both leaks are not really important, fix them
to avoid cppcheck warnings:

tests/linux-test.c:433: error: Memory leak: stack1
tests/linux-test.c:433: error: Memory leak: stack2

Signed-off-by: Stefan Weil <>...

1bbd185f 02/20/2011 07:26 pm Stefan Hajnoczi

qemu-char: Check for missing backend name

Check if the backend option is missing before searching the backend
table. This fixes a NULL pointer dereference when QEMU is invoked with
the following invalid command-line:

$ qemu -chardev id=foo,path=/tmp/socket...
e98ccb3f 02/20/2011 07:23 pm Stefan Weil

ppc405: Fix memory leak

Signed-off-by: Stefan Weil <>
Acked-by: Andreas Färber <>
Signed-off-by: Aurelien Jarno <>

9f953ca0 02/20/2011 07:23 pm Stefan Weil

s390: Fix memory leak

Signed-off-by: Stefan Weil <>
Signed-off-by: Aurelien Jarno <>

386bbf45 02/20/2011 07:23 pm Stefan Weil

pci: Fix memory leak

Signed-off-by: Stefan Weil <>
Signed-off-by: Aurelien Jarno <>

32993698 02/20/2011 07:06 pm Michael S. Tsirkin

vhost: disable on tap link down

qemu makes it possible to disable link at tap which is not communicated
to the guest but causes all packets to be dropped.

When vhost-net is enabled, vhost needs to be aware of both the virtio
link_down and the peer link_down. we switch to userspace emulation when...

ab1cbe1c 02/20/2011 07:05 pm Michael S. Tsirkin

net: notify peer about link status change

qemu makes it possible to disable link at tap which is not communicated
to the guest but causes all packets to be dropped.

This works for virtio userspace, as qemu stops giving it packets, but
not for virtio-net connected to vhost-net as that does not get notified...

f45a1108 02/20/2011 07:01 pm Stefan Weil

w32: Fix arguments for GetProcessAffinityMask, SetProcessAffinityMask

These functions take arguments of type PDWORD_PTR which is a
pointer to a DWORD_PTR, not a pointer to a DWORD.

Cc: Anthony Liguori <>
Signed-off-by: Stefan Weil <>...

4bd4ee07 02/20/2011 06:43 pm Christophe Lyon

target-arm: Fix rounding constant addition for Neon shifts

Handle cases where adding the rounding constant could overflow in Neon
shift instructions: VRSHR, VRSRA, VQRSHRN, VQRSHRUN, VRSHRN.

Signed-off-by: Christophe Lyon <>
[: fix handling of large shifts in rshl_s32,...

0670a7b6 02/20/2011 06:43 pm Peter Maydell

target-arm: Fix signed VRSHL by large shift counts

Correctly handle VRSHL of signed values by a shift count of the
width of the data type or larger, which must be special-cased in the
rshl_s* helper functions.

Signed-off-by: Peter Maydell <>...

b6c63b98 02/20/2011 06:43 pm Christophe Lyon

target-arm: Fix unsigned VRSHL.s8 and .s16 right shifts by type width

Fix handling of unsigned VRSHL.s8 and .s16 right shifts by the type
width.

Signed-off-by: Christophe Lyon <>
Reviewed-by: Peter Maydell <>...

51e3930f 02/20/2011 06:43 pm Christophe Lyon

target-arm: fix unsigned 64 bit right shifts.

Fix range of shift amounts which always give 0 as result.

Signed-off-by: Christophe Lyon <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

960e623b 02/20/2011 06:43 pm Peter Maydell

target-arm: Fix saturated values for Neon right shifts

Fix value returned by signed 8 and 16 bit qrshl helpers
when the result has saturated.

Signed-off-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

b408a9b0 02/20/2011 06:43 pm Christophe Lyon

target-arm: fix Neon VQSHRN and VSHRN.

Call the normal shift helpers instead of the rounding ones.

Signed-off-by: Christophe Lyon <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

0b36f4cd 02/20/2011 06:43 pm Christophe Lyon

target-arm: fix decoding of Neon 64 bit shifts.

Fix decoding of 64 bits variants of VSHRN, VRSHRN, VQSHRN, VQSHRUN,
VQRSHRN, VQRSHRUN, taking into account whether inputs are unsigned
or not.

Signed-off-by: Christophe Lyon <>
Reviewed-by: Peter Maydell <>...

7b6ecf5b 02/20/2011 06:43 pm Peter Maydell

target-arm: Fix signed VQRSHL by large shift counts

Handle the case of signed VQRSHL by a shift count of the width of the
data type or larger, which must be special cased in the qrshl_s*
helper functions.

Signed-off-by: Peter Maydell <>...

33ebc293 02/20/2011 06:43 pm Peter Maydell

target-arm: Fix unsigned VQRSHL by large shift counts

Correctly handle VQRSHL of unsigned values by a shift count of the
width of the data type or larger, which must be special-cased in the
qrshl_u* helper functions.

Signed-off-by: Peter Maydell <>...

d68a6f3a 02/20/2011 06:31 pm Peter Maydell

target-arm: Move Neon VZIP to helper functions

Move the implementation of the Neon VUZP unzip instruction from inline
code to helper functions. (At 50+ TCG ops it was well over the
recommended limit for coding inline.) The helper implementations also
give the correct answers where the inline implementation did not....

02acedf9 02/20/2011 06:31 pm Peter Maydell

target-arm: Move Neon VUZP to helper functions

Move the implementation of the Neon VUZP unzip instruction from inline
code to helper functions. (At 50+ TCG ops it was well over the
recommended limit for coding inline.) The helper implementations also
fix the handling of the quadword version of the instruction....

f06053e3 02/20/2011 06:30 pm Juha Riihimäki

target-arm: Correct conversion of Thumb Neon dp encodings into ARM

We handle Thumb Neon data processing instructions by converting them
into the equivalent ARM encoding, as the two are very close. However
the ARM encoding should have bit 28 set, not clear. This wasn't causing...

4dc064e6 02/20/2011 06:28 pm Peter Maydell

target-arm: Fix Neon VQDMLSL instruction

For VQDMLSL, negation has to occur after saturation, not before.

Signed-off-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

ebcd88ce 02/20/2011 06:28 pm Peter Maydell

target-arm: Refactor handling of VQDMULL

Refactor the handling of VQDMULL so that it is dealt with in
its own if() case rather than together with the accumulating
instructions.

Signed-off-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

e5ca24cb 02/20/2011 06:26 pm Peter Maydell

target-arm: Implement VMULL.P8

Implement VMULL.P8 (the 32x32->64 version of the polynomial multiply
instruction).

Signed-off-by: Peter Maydell <>
Signed-off-by: Aurelien Jarno <>

02615337 02/20/2011 04:20 pm Peter Maydell

qemu-lock.h: Remove non-pthreads spinlock implementations

Since configure guarantees us that we have pthreads on all hosts
except mingw (which doesn't support a USER_ONLY config), we can
and should use the pthread_mutex based implementation of spin_lock()...

322fd48a 02/20/2011 04:18 pm Michael S. Tsirkin

e1000: verify we have buffers, upfront

The spec says: Any descriptor with a non-zero status byte has been
processed by the hardware, and is ready to be handled by the software.

Thus, once we change a descriptor status to non-zero we should
never move the head backwards and try to reuse this...

ee912ccf 02/20/2011 04:18 pm Michael S. Tsirkin

e1000: clear EOP for multi-buffer descriptors

The e1000 spec says: if software statically allocates
buffers, and uses memory read to check for completed descriptors, it
simply has to zero the status byte in the descriptor to make it ready
for reuse by hardware. This is not a hardware requirement (moving the...

b19487e2 02/20/2011 04:18 pm Michael S. Tsirkin

e1000: multi-buffer packet support

e1000 supports multi-buffer packets larger than rxbuf_size.

This fixes the following (on linux):
- in guest: ifconfig eth1 mtu 16110
- in host: ifconfig tap0 mtu 16110
ping -s 16082 <guest-ip>

Signed-off-by: Michael S. Tsirkin <>...

1c693710 02/20/2011 04:13 pm Aurelien Jarno

pc: remove test on TARGET_PHYS_ADDR_BITS == 32

Both i386 and x86_64 targets are now using target_phys_bits=64. Remove
useless code.

Signed-off-by: Aurelien Jarno <>

71deff27 02/20/2011 04:13 pm Aurelien Jarno

target-i386: set target_phys_bits to 64

qemu i386 used to support more than 4GB of RAM through PAE, but it has
been disabled for an unknown reason. Reenable it.

Note that simply running qemu x86_64 and emulating a 32-bit CPU is not
a solution to this problem as it is about 15% slower (it needs to...

0899965f 02/20/2011 03:47 pm Aurelien Jarno

Merge branch 'linux-user-for-upstream' of git://gitorious.org/qemu-maemo/qemu

  • 'linux-user-for-upstream' of git://gitorious.org/qemu-maemo/qemu:
    linux-user: correct core dump format
    linux-user: Define target alignment size
    linux-user: Support the epoll syscalls...
64d7e9a4 02/20/2011 11:35 am Blue Swirl

i8254: convert to qdev

Convert to qdev. Don't expose PITState.

Signed-off-by: Blue Swirl <>

c74b88df 02/20/2011 11:34 am Blue Swirl

vga-isa: make optional

Ignore failure with vga-isa device creation, but print a warning
message.

Signed-off-by: Blue Swirl <>

7435b791 02/20/2011 11:34 am Blue Swirl

vga-isa: convert to qdev

Signed-off-by: Blue Swirl <>

1c9c5fcd 02/20/2011 11:34 am Blue Swirl

applesmc: make optional

Based on patch by David Ahern.

Signed-off-by: Blue Swirl <>

17801c78 02/20/2011 11:34 am Blue Swirl

fdc: make optional

Ignore failure with fdc device creation.

Signed-off-by: Blue Swirl <>

63ffb564 02/20/2011 11:33 am Blue Swirl

fdc: refactor device creation

Turn fdc_init_isa into an inline function.

Get floppy geometry directly from the drives.

Don't expose FDCtrl.

Signed-off-by: Blue Swirl <>

d288c7ba 02/20/2011 11:33 am Blue Swirl

fdc: use FDriveType for floppy drive type

Signed-off-by: Blue Swirl <>

5bbdbb46 02/20/2011 11:33 am Blue Swirl

fdc: move floppy geometry guessing to block.c

Other geometry guessing functions already reside in block.c.

Remove some unused or debugging only fields.

Signed-off-by: Blue Swirl <>

9b13ef9f 02/20/2011 11:33 am Blue Swirl

serial: make optional

Ignore failure with serial device creation.

Signed-off-by: Blue Swirl <>

e22cf21e 02/20/2011 11:32 am Blue Swirl

serial: refactor device creation

Turn serial_init into an inline function.

Signed-off-by: Blue Swirl <>

cd1b8a8b 02/20/2011 11:32 am Blue Swirl

ne2000_isa: make optional

Ignore failure with ne2000_isa device creation.

Signed-off-by: Blue Swirl <>

60a14ad3 02/20/2011 11:32 am Blue Swirl

ne2000_isa: refactor device creation

Turn isa_ne2000_init into an inline function.

Signed-off-by: Blue Swirl <>

73531538 02/20/2011 11:31 am Blue Swirl

parallel: make optional

Ignore failure with parallel device creation.

Signed-off-by: Blue Swirl <>

defdb20e 02/20/2011 11:31 am Blue Swirl

parallel: refactor device creation

Turn parallel_init into an inline function.

Don't expose ParallelState.

Signed-off-by: Blue Swirl <>

e14da0af 02/17/2011 09:34 pm Marcelo Tosatti

Fix vmport segfault (v2)

Fix regression caused by qdev conversion.

Signed-off-by: Marcelo Tosatti <>
Signed-off-by: Blue Swirl <>

4de596cb 02/17/2011 11:46 am Laurent Vivier

linux-user: add rmdir() strace

Signed-off-by: Laurent Vivier <>
Signed-off-by: Riku Voipio <>

d2ee72a5 02/17/2011 11:46 am Laurent Vivier

linux-user: in linux-user/strace.c, tswap() is useless

Syscall parameters are already swapped by the caller.

This patch removes useless tswap() from strace.c

$ QEMU_STRACE=1 chroot /m68k mknod myramdisk b 1 1
with tswap()
...
29944 mknod("myramdisk",026630200000) = 0...

3b6edd16 02/17/2011 11:46 am Peter Maydell

linux-user: Support the epoll syscalls

Support the epoll family of syscalls: epoll_create(), epoll_create1(),
epoll_ctl(), epoll_wait() and epoll_pwait(). Note that epoll_create1()
and epoll_pwait() are later additions, so we have to test separately
in configure for their presence....

c2e3dee6 02/17/2011 11:46 am Laurent Vivier

linux-user: Define target alignment size

Datatype alignment can be found using following application:

int main(void) {
printf("alignof(short) %ld\n", alignof(short));
printf("alignof(int) %ld\n", alignof(int));
printf("alignof(long) %ld\n", alignof(long));...

80f5ce75 02/17/2011 11:46 am Laurent Vivier

linux-user: correct core dump format

This patch allows to really use the core dumped by qemu with guest
architecture tools.

- it adds a missing bswap_phdr() for the program headers
of memory regions.

"objdump -x" sample:

BEFORE:

0x1000000 off 0x00200000 vaddr 0x00000400 paddr 0x00000000 align 2**21...

79f2b6fc 02/16/2011 04:47 pm Anthony Liguori

Merge remote branch 'kwolf/for-anthony' into staging

c5d69e6b 02/16/2011 04:47 pm Anthony Liguori

Merge remote branch 'qemu-kvm/uq/master' into staging

630ecca0 02/16/2011 04:35 pm Tristan Gingold

Handle icount for powerpc tbl/tbu/decr load and store.

Handle option '-icount X' on powerpc targets.

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

459505a2 02/16/2011 03:04 am Dmitry Eremin-Solenikov

Merge mainstone.h header into mainstone.c

Now the only user of mainstone.h is mainstone.c file. Merge header
into board file.

Signed-off-by: Dmitry Eremin-Solenikov <>
Signed-off-by: Andrzej Zaborowski <>

cb380f61 02/16/2011 03:04 am Dmitry Eremin-Solenikov

mainstone: convert FPGA emulation code to use QDev/SysBus

Signed-off-by: Dmitry Eremin-Solenikov <>
Signed-off-by: Andrzej Zaborowski <>

43d91709 02/16/2011 03:00 am Dmitry Eremin-Solenikov

mainstone: correct and simplify irq handling

Simplify IRQ handling to stop setting an input irq pin. As a win, also get
correct IRQ status after save/load cycle.

Signed-off-by: Dmitry Eremin-Solenikov <>
Signed-off-by: Andrzej Zaborowski <>

8fe3046f 02/14/2011 10:24 pm Anthony Liguori

Fix build from previous commit

I unfortunately got on an unnamed branch and pushed the wrong bits

Signed-off-by: Anthony Liguori <>

53fae6d2 02/14/2011 09:23 pm Bruce Rogers

PATCH] slirp: fix buffer overrun

Since the addition of the slirp member to struct mbuf, the value of
SLIRP_MSIZE and the initialization of m_size have not been correct,
resulting in overrunning the end of the malloc'd buffer in some cases.

Signed-off-by: Bruce Rogers <>...

ed94592b 02/14/2011 04:43 pm Anthony Liguori

io-thread: make sure to initialize qemu_work_cond and qemu_cpu_cond

Signed-off-by: Anthony Liguori <>

0fbfbb59 02/14/2011 04:43 pm Gleb Natapov

correctly check ppr priority during interrupt injection]

TPR blocks all interrupts in a priority class, so simple "less or
equal" check is not enough.

Signed-off-by: Gleb Natapov <>
Reviewed-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

0ec329da 02/14/2011 04:43 pm Jan Kiszka

kvm: x86: Introduce kvmclock device to save/restore its state

If kvmclock is used, which implies the kernel supports it, register a
kvmclock device with the sysbus. Its main purpose is to save and restore
the kernel state on migration, but this will also allow to visualize it...

e5896b12 02/14/2011 04:39 pm Anthony PERARD

Introduce log_start/log_stop in CPUPhysMemoryClient

In order to use log_start/log_stop with Xen as well in the vga code,
this two operations have been put in CPUPhysMemoryClient.

The two new functions cpu_physical_log_start,cpu_physical_log_stop are
used in hw/vga.c and replace the kvm_log_start/stop. With this, vga does...

638a84af 02/14/2011 04:39 pm Jan Kiszka

cirrus: Remove obsolete kvm.h include

Signed-off-by: Jan Kiszka <>
Signed-off-by: Marcelo Tosatti <>

6a7af8cb 02/14/2011 04:39 pm Jan Kiszka

kvm: Make kvm_state globally available

KVM-assisted devices need access to it but we have no clean channel to
distribute a reference. As a workaround until there is a better
solution, export kvm_state for global use, though use should remain
restricted to the mentioned scenario....

b8cc45d6 02/14/2011 04:39 pm Glauber Costa

kvm: make tsc stable over migration and machine start

If the machine is stopped, we should not record two different tsc values
upon a save operation. The same problem happens with kvmclock.

But kvmclock is taking a different diretion, being now seen as a separate...

7e97cd88 02/14/2011 04:39 pm Jan Kiszka

Refactor kvm&tcg function names in cpus.c

Pure interface cosmetics: Ensure that only kvm core services (as
declared in kvm.h) start with "kvm_". Prepend "qemu_" to those that
violate this rule in cpus.c. Also rename the corresponding tcg functions
for the sake of consistency....

16400322 02/14/2011 04:39 pm Jan Kiszka

Refactor cpu_has_work/any_cpu_has_work in cpus.c

Avoid duplicate use of the function name cpu_has_work, it's confusing,
also their scope. Refactor cpu_has_work to cpu_thread_is_idle and do the
same with any_cpu_has_work.

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

0ab07c62 02/14/2011 04:39 pm Jan Kiszka

Fix a few coding style violations in cpus.c

No functional changes.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Marcelo Tosatti <>

e07bbac5 02/14/2011 04:39 pm Jan Kiszka

Improve vm_stop reason declarations

Define and use dedicated constants for vm_stop reasons, they actually
have nothing to do with the EXCP_* defines used so far. At this chance,
specify more detailed reasons so that VM state change handlers can
evaluate them....

8cf71710 02/14/2011 04:39 pm Jan Kiszka

Refactor debug and vmstop request interface

Instead of fiddling with debug_requested and vmstop_requested directly,
introduce qemu_system_debug_request and turn qemu_system_vmstop_request
into a public interface. This aligns those services with exiting ones in...

83f338f7 02/14/2011 04:39 pm Jan Kiszka

Move debug exception handling out of cpu_exec

To prepare splitting up KVM and TCG CPU entry/exit, move the debug
exception into cpus.c and invoke cpu_handle_debug_exception on return
from qemu_cpu_exec.

This also allows to clean up the debug request signaling: We can assign...

6792a57b 02/14/2011 04:39 pm Jan Kiszka

kvm: Separate TCG from KVM cpu execution

Mixing up TCG bits with KVM already led to problems around eflags
emulation on x86. Moreover, quite some code that TCG requires on cpu
enty/exit is useless for KVM. So dispatch between tcg_cpu_exec and
kvm_cpu_exec as early as possible....

db1669bc 02/14/2011 04:39 pm Jan Kiszka

kvm: x86: Prepare VCPU loop for in-kernel irqchip

Effectively no functional change yet as kvm_irqchip_in_kernel still only
returns 0, but this patch will allow qemu-kvm to adopt the VCPU loop of
upsteam KVM.

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

7a39fe58 02/14/2011 04:39 pm Jan Kiszka

kvm: Drop return values from kvm_arch_pre/post_run

We do not check them, and the only arch with non-empty implementations
always returns 0 (this is also true for qemu-kvm).

Signed-off-by: Jan Kiszka <>
CC: Alexander Graf <>...

ce377af3 02/14/2011 04:39 pm Jan Kiszka

kvm: x86: Catch and report failing IRQ and NMI injections

We do not need to abort, but the user should be notified that weird
things go on.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Marcelo Tosatti <>

8e045ac4 02/14/2011 04:39 pm Jan Kiszka

kvm: Remove unneeded memory slot reservation

The number of slots and the location of private ones changed several
times in KVM's early days. However, it's stable since 2.6.29 (our
required baseline), and slots 8..11 are no longer reserved since then.
So remove this unneeded restriction....