Statistics
| Branch: | Revision:

root @ 5b50e790

# Date Author Comment
d0ff8d05 07/27/2013 01:04 am Andreas Färber

target-lm32: Move cpu_gdb_{read,write}_register()

Acked-by: Michael Walle <>
Signed-off-by: Andreas Färber <>

25d8ac0e 07/27/2013 01:04 am Andreas Färber

target-xtensa: Move cpu_gdb_{read,write}_register()

Acked-by: Max Filippov <>
Signed-off-by: Andreas Färber <>

986a2998 07/27/2013 01:04 am Andreas Färber

gdbstub: Replace GET_REG*() macros with gdb_get_reg*() functions

This avoids polluting the global namespace with a non-prefixed macro and
makes it obvious in the call sites that we return.

Semi-automatic conversion using, e.g.,
sed i 's/GET_REGL(/return gdb_get_regl(mem_buf, /g' target*/gdbstub.c...

5b50e790 07/27/2013 01:04 am Andreas Färber

cpu: Introduce CPUClass::gdb_{read,write}_register()

Completes migration of target-specific code to new target-*/gdbstub.c.

Acked-by: Michael Walle <> (for lm32)
Acked-by: Max Filippov <> (for xtensa)
Signed-off-by: Andreas Färber <>

2f937732 07/27/2013 01:04 am Andreas Färber

target-sh4: Move cpu_gdb_{read,write}_register()

Signed-off-by: Andreas Färber <>

eabfc239 07/27/2013 01:04 am Andreas Färber

target-microblaze: Move cpu_gdb_{read,write}_register()

Signed-off-by: Andreas Färber <>

213c19d6 07/27/2013 01:04 am Andreas Färber

target-cris: Move cpu_gdb_{read,write}_register()

Signed-off-by: Andreas Färber <>

c3ce8eb3 07/27/2013 01:04 am Andreas Färber

target-alpha: Move cpu_gdb_{read,write}_register()

Signed-off-by: Andreas Färber <>

cfae5c90 07/27/2013 01:04 am Andreas Färber

target-s390x: Move cpu_gdb_{read,write}_register()

Signed-off-by: Andreas Färber <>

30028739 07/27/2013 01:04 am Andreas Färber

target-openrisc: Move cpu_gdb_{read,write}_register()

Reviewed-by: Jia Liu <>
Signed-off-by: Andreas Färber <>

0980bfab 07/27/2013 12:24 am Andreas Färber

target-ppc: Move cpu_gdb_{read,write}_register()

Signed-off-by: Andreas Färber <>

d19c87f4 07/27/2013 12:24 am Andreas Färber

target-sparc: Move cpu_gdb_{read,write}_register()

Signed-off-by: Andreas Färber <>

58850dad 07/27/2013 12:24 am Andreas Färber

target-arm: Move cpu_gdb_{read,write}_register()

Signed-off-by: Andreas Färber <>

c88de14c 07/27/2013 12:24 am Andreas Färber

target-m68k: Move cpu_gdb_{read,write}_register()

Signed-off-by: Andreas Färber <>

814ac26c 07/27/2013 12:24 am Andreas Färber

target-mips: Move cpu_gdb_{read,write}_register()

Signed-off-by: Andreas Färber <>

f20f9df0 07/27/2013 12:24 am Andreas Färber

target-i386: Move cpu_gdb_{read,write}_register()

Signed-off-by: Andreas Färber <>

47d74ef5 07/27/2013 12:23 am Andreas Färber

gdbstub: Fix cpu_gdb_{read,write}_register() Coding Style

Add braces, replace tabs, remove trailing whitespace, drop space before
parenthesis and place break etc. below case statements.

Signed-off-by: Andreas Färber <>

19a77215 07/27/2013 12:23 am Andreas Färber

gdbstub: Drop dead code in cpu_gdb_{read,write}_register()

GET_REG*() macros include a return statement, thus no need for break.

Acked-by: Michael Walle <> (for lm32)
Signed-off-by: Andreas Färber <>

a0e372f0 07/27/2013 12:23 am Andreas Färber

cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs

CPUState::gdb_num_regs replaces num_g_regs.
CPUClass::gdb_num_core_regs replaces NUM_CORE_REGS.

Allows building gdb_register_coprocessor() for xtensa, too.

As a side effect this should fix coprocessor register numbering for SMP....

67cce561 07/27/2013 12:23 am Andreas Färber

target-xtensa: Introduce XtensaCPU subclasses

Register a CPU type per core registered. Save the XtensaConfig in
XtensaCPUClass and copy it from there to CPUXtensaState, to avoid
touching every env->config access for now.

Prepares for storing per-class GDB register count....

0ac46af3 07/27/2013 12:05 am Andreas Färber

linux-user: Avoid redundant ENV_GET_CPU()

This fixes a mismerge in 874ec3c5b3821bb964f9f37b2f930f2a9ce51652.

Acked-by: Riku Voipio <>
Signed-off-by: Andreas Färber <>

38e478ec 07/27/2013 12:05 am Stefan Weil

kvm: Change prototype of kvm_update_guest_debug()

Passing a CPUState pointer instead of a CPUArchState pointer eliminates
the last target dependent data type in sysemu/kvm.h.

It also simplifies the code.

Signed-off-by: Stefan Weil <>
Acked-by: Paolo Bonzini <>...

9282b73a 07/27/2013 12:05 am Christian Borntraeger

target-s390x: Fix CPUState rework fallout

Commit f17ec444c3d39f76bcd8b71c2c05d5754bfe333e
exec: Change cpu_memory_rw_debug() argument to CPUState

missed to update s390x KVM code, breaking the build.

Let's fix it up.

Signed-off-by: Christian Borntraeger <>...

f0ef1cf4 07/26/2013 09:04 pm Anthony Liguori

Merge remote-tracking branch 'rth/tcg-next' into staging

  1. By Claudio Fontana (1) and others
  2. Via Richard Henderson
    • rth/tcg-next:
      tcg: Remove temp_buf
      tcg/aarch64: Implement tlb lookup fast path
      tcg/aarch64: implement ldst 12bit scaled uimm offset...
b142d793 07/26/2013 09:04 pm Anthony Liguori

Merge remote-tracking branch 'jliu/or32' into staging

  1. By Jia Liu
  2. Via Jia Liu
    • jliu/or32:
      target-openrisc: Free typename in openrisc_cpu_class_by_name
      hw/openrisc: Use stderr output instead of qemu_log
      hw/openrisc: Indent typo

Message-id: ...

003e26bc 07/25/2013 11:58 pm Anthony Liguori

Merge remote-tracking branch 'mdroth/qga-pull-2013-7-25' into staging

  1. By Laszlo Ersek
  2. Via Michael Roth
    • mdroth/qga-pull-2013-7-25:
      qga: escape cmdline args when registering win32 service (CVE-2013-2231)
      ga_install_service(): nest error paths more idiomatically...
d1ed9f41 07/25/2013 11:57 pm Anthony Liguori

Merge remote-tracking branch 'kraxel/seabios-1.7.3' into staging

  1. By Gerd Hoffmann
  2. Via Gerd Hoffmann
    • kraxel/seabios-1.7.3:
      seabios: update to 1.7.3

Message-id:
Signed-off-by: Anthony Liguori <>

874ec3c5 07/25/2013 11:56 pm Anthony Liguori

Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging

  • riku/linux-user-for-upstream: (21 commits)
    linux-user: Handle compressed ISA encodings when processing MIPS exceptions
    linux-user: Unlock mmap_lock when resuming guest from page_unprotect...
febf1c49 07/25/2013 10:49 pm Laszlo Ersek

qga/service-win32.c: diagnostic output should go to stderr

Acked-by: Michael Roth <>
Reviewed-by: Eric Blake <>
Signed-off-by: Laszlo Ersek <>
Signed-off-by: Michael Roth <>

108365fd 07/25/2013 10:49 pm Laszlo Ersek

ga_install_service(): nest error paths more idiomatically

Acked-by: Michael Roth <>
Reviewed-by: Eric Blake <>
Signed-off-by: Laszlo Ersek <>
Signed-off-by: Michael Roth <>

340d51df 07/25/2013 10:49 pm Laszlo Ersek

qga: escape cmdline args when registering win32 service (CVE-2013-2231)

Reported-by: Lev Veyde <>
Reviewed-by: Eric Blake <>
Signed-off-by: Laszlo Ersek <>
Signed-off-by: Michael Roth <>

2b8fbcd8 07/25/2013 04:12 pm Paolo Bonzini

sparc64: unbreak

... by making apb a subclass of TYPE_PCI_HOST_BRIDGE.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

be6d08be 07/25/2013 04:12 pm Paolo Bonzini

default-configs: add test device to all machines supporting ISA

This will let these machines run an endianness test for ISA
I/O port space.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

85d3846a 07/25/2013 04:12 pm Paolo Bonzini

default-configs: add SuperIO to SH4

The device provides an ISA bus to run the endianness test on.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

9c998424 07/25/2013 04:12 pm Paolo Bonzini

default-configs/ppc64: add all components of i82378 SuperIO chip used by prep

The device provides an ISA bus so that pseries can also run the
endianness test.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>...

8fefa31b 07/25/2013 04:12 pm Paolo Bonzini

qtest: add test for ISA I/O space endianness

This writes a register and reads its 1/2/4 byte parts. Masking
is done in the device model.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

e11ef3d1 07/25/2013 04:12 pm Paolo Bonzini

memory: move functions around

Prepare for next patch, no semantic change.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

547e9201 07/25/2013 04:12 pm Paolo Bonzini

memory: pass MemoryRegion to access_with_adjusted_size

The accessors all use a MemoryRegion opaque value. Avoid going
uselessly through void*.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

e7342aa3 07/25/2013 04:12 pm Paolo Bonzini

memory: check memory region endianness, not target's

When combining multiple accesses into a single value, we need to do so
in the device's desired endianness. The target endianness does not have
any influence.

Signed-off-by: Paolo Bonzini <>...

d2f5ea97 07/25/2013 04:12 pm Paolo Bonzini

pc-testdev: add I/O port to test memory.c auto split/combine

The ports at 0xe8..0xeb have impl.min/max_access_size == 1, so
that memory accesses are split and combined by the memory core.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>...

39594968 07/25/2013 04:12 pm Paolo Bonzini

mips_r4k: do not use isa_mmio

This fixes endianness bugs in I/O port access.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

ee77854f 07/25/2013 04:12 pm Paolo Bonzini

mips_malta: do not use isa_mmio

This fixes endianness bugs in I/O port access.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

68501502 07/25/2013 04:12 pm Paolo Bonzini

ppc440_bamboo: do not use isa_mmio

This fixes endianness bugs in I/O port access.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

bdb75c79 07/25/2013 04:12 pm Paolo Bonzini

mipssim: do not use isa_mmio

Untested, this board does not support PCI so it cannot run endianness-test.
It should fix endianness bugs in I/O port access.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>...

e37b80fa 07/25/2013 04:12 pm Paolo Bonzini

mips_fulong2e: do not use isa_mmio

This board is little-endian, but still isa_mmio should die. :)

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

5519ad0c 07/25/2013 04:12 pm Paolo Bonzini

sparc64: remove indirection for I/O port access

This fixes endianness bugs in I/O port access.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

0a70e094 07/25/2013 04:12 pm Paolo Bonzini

ebus: do not use isa_mmio

This is untested, because ebus does not have a libqos module.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

61fcb628 07/25/2013 04:12 pm Paolo Bonzini

isa_mmio: delete

It is not used anymore.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

f36a6382 07/25/2013 04:12 pm Paolo Bonzini

Revert "ioport: remove LITTLE_ENDIAN mark for portio"

This reverts commit c3cb8e77804313e1be99b5f28a34a346736707a5.

The scenario where I/O ports are accessed with DEVICE_LITTLE_ENDIAN
endianness now works and will soon be unit tested. Since the PortioList...

b7faba71 07/25/2013 04:12 pm Paolo Bonzini

pc-testdev: support 8 and 16-bit accesses to 0xe0

This will let us use the testdev to test endianness.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

50405435 07/25/2013 04:12 pm Paolo Bonzini

pc-testdev: remove useless cpu_to_le64/le64_to_cpu

So far the device was only used on little-endian machines.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

b332d24a 07/25/2013 04:12 pm Paolo Bonzini

mips: degrade BIOS error to warning

No free MIPS BIOS is available, so it makes little sense to quit.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

b23ea25f 07/25/2013 04:12 pm Paolo Bonzini

sh4: unbreak r2d

... by making sh_pci a subclass of TYPE_PCI_HOST_BRIDGE.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

2b1096e0 07/25/2013 04:12 pm Paolo Bonzini

ppc_newworld: do not use isa_mmio

This fixes endianness bugs in I/O port access.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

66aab867 07/25/2013 04:12 pm Alexey Kardashevskiy

spapr_pci: remove indirection for I/O port access

This fixes endianness bugs in I/O port access.

Signed-off-by: Alexey Kardashevskiy <>
Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

921f8040 07/25/2013 04:12 pm Paolo Bonzini

prep: fix I/O port endianness

Do not swap endianness here, it will happen during cpu_{in,out}{b,w,l}.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id: ...

f51100cc 07/25/2013 04:12 pm Paolo Bonzini

mips_jazz: do not use isa_mmio

This fixes endianness bugs in I/O port access.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

4759ab6b 07/25/2013 04:12 pm Paolo Bonzini

sh4: do not use isa_mmio

This fixes endianness bugs in I/O port access (for sh4eb).

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

7d52857e 07/25/2013 04:12 pm Paolo Bonzini

ppc_oldworld: do not use isa_mmio

This fixes endianness bugs in I/O port access.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Message-id:
Signed-off-by: Anthony Liguori <>

41b8280a 07/24/2013 04:37 pm Gerd Hoffmann

seabios: update to 1.7.3

Changes summary (git shortlog rel-1.7.2.2..rel-1.7.3):

Alex Williamson (4):
seabios q35: Enable all PIRQn IRQs at startup
seabios q35: Add new PCI slot to irq routing function
seabios: Add a dummy PCI slot to irq mapping function...

0cd8eaa0 07/23/2013 11:45 pm Stefan Weil

po/Makefile: Use macro quiet-command for nice looking messages

Suppress also the "... done" message from msgmerge.

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

18e12d49 07/23/2013 11:45 pm Stefan Weil

po/Makefile: Fix and improve help message

The help message contains single quotes which got lost in the output.
Fix also a typo and use two instead of three lines.

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

00134a62 07/23/2013 11:45 pm Stefan Weil

po/Makefile: Fix *.mo generation for out-of-tree builds (regression)

Commit f84756554e32d97db3aa949db1dd58c7eea62375 added a wildcard search
for *.po files. This search found no files for out of tree builds, so
those builds no longer created and installed *.mo files....

1fa44923 07/23/2013 11:45 pm Stefan Weil

po/Makefile: Fix generation of messages.po

  • Tell xgettext that we use UTF-8 encoding (this is currently optional).
  • Set charset=UTF-8 in messages.po. This avoids warnings from msgmerge:
    warning: Charset "CHARSET" is not a portable encoding name.
  • Use filename relative to root directory (ui/gtk.c instead of ../ui/gtk.c...
f03d07d4 07/23/2013 06:57 pm Anthony Liguori

Merge remote-tracking branch 'quintela/migration.next' into staging

  1. By Michael R. Hines (8) and others
  2. Via Juan Quintela
    • quintela/migration.next:
      migration: add autoconvergence documentation
      Fix real mode guest segments dpl value in savevm
      Fix real mode guest migration...
3988982c 07/23/2013 06:57 pm Anthony Liguori

Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging

QOM CPUState refactorings

  • Fix NULL pointer dereference in gdbstub
  • Introduce vaddr type
  • Introduce CPUClass::set_pc()
  • Introduce CPUClass::synchronize_from_tb()
  • Introduce CPUClass::get_phys_page_debug()...
931f0adf 07/23/2013 06:56 pm Anthony Liguori

Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into staging

QOM device refactorings

  • Avoid TYPE_* in VMStateDescription name
  • Replace some DO_UPCAST()s and FROM_SYSBUS()s with QOM casts
  • Limit legacy SCSI command line handling to non-hotplugged devices...
a0333817 07/23/2013 05:31 pm Kwok Cheung Yeung

linux-user: Handle compressed ISA encodings when processing MIPS exceptions

Decode trap instructions during the handling of an EXCP_BREAK or EXCP_TRAP
according to the current ISA mode.

Signed-off-by: Kwok Cheung Yeung <>
Signed-off-by: Riku Voipio <>

c7819dfb 07/23/2013 05:28 pm Peter Maydell

linux-user: Fix target_stat and target_stat64 for OpenRISC

OpenRISC uses the asm-generic versions of target_stat and
target_stat64, but it was incorrectly using the x86/ARM/etc version
due to a misplaced defined(TARGET_OPENRISC). The previously unused
OpenRISC section of the ifdef ladder also defined an incorrect...

82f05b69 07/23/2013 05:28 pm Peter Maydell

linux-user: Fix pipe syscall return for SPARC

SPARC is one of the CPUs which has a funny syscall ABI for the
pipe syscall; add it to the set of special cases in do_pipe().

Signed-off-by: Peter Maydell <>
Signed-off-by: Riku Voipio <>

732f9e89 07/23/2013 05:28 pm Alexander Graf

linux-user: fix segmentation fault passing with h2g(x) != x

When forwarding a segmentation fault into the guest process, we were passing
the host's address directly into the guest process's signal descriptor.

That obviously confused the guest process, since it didn't know what to make...

ddaa7e5a 07/23/2013 05:28 pm Alexander Graf

linux-user: Fix epoll on ARM hosts

The epoll emulation uses data structures without packing them, so the
compiler might choose to add padding inside.

This patch makes the most offending one (target_epoll_event) a packed
structure to make sure we don't pad it by accident. ARM would pad it,...

b24c882b 07/23/2013 05:28 pm Alexander Graf

linux-user: Reset copied CPUs in cpu_copy() always

When a new thread gets created, we need to reset non arch specific state to
get the new CPU into clean state.

However this reset should happen before the arch specific CPU contents get
copied over. Otherwise we end up having clean reset state in our newly created...

d02532f0 07/23/2013 05:28 pm Alexander Graf

linux-user: Unlock mmap_lock when resuming guest from page_unprotect

The page_unprotect() function is running everything locked. Before every
potential exit path of the function mmap_unlock() gets called to make sure
we don't leak the lock.

However, the function calls tb_invalidate_phys_page() which again can...

9781c371 07/23/2013 04:21 pm Juan Quintela

migration: add autoconvergence documentation

This hunk got lost during merge. It is documentation.

Spotted-by: Peter Lieven <>
Signed-off-by: Juan Quintela <>

444ba679 07/23/2013 03:36 pm Orit Wasserman

Fix real mode guest migration

Older KVM versions save CS dpl value to an invalid value for real mode guests
(0x3). This patch detect this situation when loading CPU state and set all the
segments dpl to zero.
This will allow migration from older KVM on host without unrestricted guest...

3e47c249 07/23/2013 03:36 pm Orit Wasserman

Fix real mode guest segments dpl value in savevm

Older KVM version put invalid value in the segments registers dpl field for
real mode guests (0x3).
This breaks migration from those hosts to hosts with unrestricted guest support.
We detect it by checking CS dpl value for real mode guest and fix the dpl values...

29ae8a41 07/23/2013 02:06 pm Michael R. Hines

rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition

As described in the previous patch, until now, the MIG_STATE_SETUP
state was not really a 'formal' state. It has been used as a 'zero' state
(what we're calling 'NONE' here) and QEMU has been unconditionally transitioning...

ed4fbd10 07/23/2013 02:06 pm Michael R. Hines

rdma: account for the time spent in MIG_STATE_SETUP through QMP

Using the previous patches, we're now able to timestamp the SETUP
state. Once we have this time, let the user know about it in the
schema.

Reviewed-by: Juan Quintela <>
Reviewed-by: Eric Blake <>...

d58f574b 07/23/2013 02:06 pm Michael R. Hines

rdma: allow state transitions between other states besides ACTIVE

This patch is in preparation for the next ones: Until now the MIG_STATE_SETUP
state was not really a 'formal' state. It has been used as a 'zero' state
and QEMU has been unconditionally transitioning into this state when...

9b146e9a 07/23/2013 01:32 pm Jia Liu

target-openrisc: Free typename in openrisc_cpu_class_by_name

We should free typename here.

Signed-off-by: Jia Liu <>
Reviewed-by: Andreas Färber <>

4284c051 07/23/2013 01:31 pm Jia Liu

hw/openrisc: Use stderr output instead of qemu_log

We should use stderr output instead of qemu_log in order to output ErrMsg
onto the screen.

Signed-off-by: Jia Liu <>
Reviewed-by: Peter Maydell <>
Reviewed-by: Andreas Färber <>

68f12828 07/23/2013 01:30 pm Jia Liu

hw/openrisc: Indent typo

Indent typo.

Signed-off-by: Jia Liu <>
Reviewed-by: Peter Maydell <>
Reviewed-by: Andreas Färber <>

2da776db 07/23/2013 12:12 pm Michael R. Hines

rdma: core logic

Code that does need to be visible is kept
well contained inside this file and this is the only
new additional file to the entire patch.

This file includes the entire protocol and interfaces
required to perform RDMA migration.

Also, the configure and Makefile modifications to link...

0033b8b4 07/23/2013 12:12 pm Michael R. Hines

rdma: send pc.ram

This takes advantages of the previous patches:

1. use the new QEMUFileOps hook 'save_page'

2. call out to the right accessor methods to invoke
the iteration hooks defined in QEMUFileOps

Reviewed-by: Paolo Bonzini <>...

a5f56b90 07/23/2013 12:11 pm Michael R. Hines

rdma: update documentation to reflect new unpin support

As requested, the protocol now includes memory unpinning support.
This has been implemented in a non-optimized manner, in such a way
that one could devise an LRU or other workload-specific information...

de7b685c 07/23/2013 12:11 pm Michael R. Hines

rdma: bugfix: ram_control_save_page()

We were not checking for a valid 'bytes_sent' pointer before accessing it.

Reviewed-by: Eric Blake <>
Signed-off-by: Michael R. Hines <>
Signed-off-by: Juan Quintela <>

44c3b58c 07/23/2013 12:11 pm Michael R. Hines

rdma: introduce ram_handle_compressed()

This gives RDMA shared access to madvise() on the destination side
when an entire chunk is found to be zero.

Reviewed-by: Juan Quintela <>
Reviewed-by: Paolo Bonzini <>
Reviewed-by: Chegu Vinod <>...

db6b81d4 07/23/2013 03:41 am Andreas Färber

gdbstub: Change gdb_handlesig() argument to CPUState

Prepares for changing GDBState::c_cpu to CPUState.

Signed-off-by: Andreas Färber <>

385b9f0e 07/23/2013 03:41 am Andreas Färber

gdbstub: Change gdb_{read,write}_register() argument to CPUState

Use CPUState::env_ptr for now.

Prepares for changing GDBState::g_cpu to CPUState.

Signed-off-by: Andreas Färber <>

00b941e5 07/23/2013 03:41 am Andreas Färber

cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook

Change breakpoint_invalidate() argument to CPUState alongside.

Since all targets now assign a softmmu-only field, we can drop helpers
cpu_class_set_{do_unassigned_access,vmsd}() and device_class_set_vmsd()....

f17ec444 07/23/2013 03:41 am Andreas Färber

exec: Change cpu_memory_rw_debug() argument to CPUState

Propagate X86CPU in kvmvapic for simplicity.

Signed-off-by: Andreas Färber <>

f3659eee 07/23/2013 03:41 am Andreas Färber

cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug()

Make inline target_memory_rw_debug() always available and change its
argument to CPUState. Let it check if CPUClass::memory_rw_debug provides
a specialized callback and fall back to cpu_memory_rw_debug() otherwise....

2e0f2cfb 07/23/2013 03:41 am Andreas Färber

gdbstub: Change GDBState::{c,g}_cpu and find_cpu() to CPUState

Use CPUState::env_ptr where still needed.

Signed-off-by: Andreas Färber <>

eac8b355 07/23/2013 03:41 am Andreas Färber

cpu: Move gdb_regs field from CPU_COMMON to CPUState

Prepares for changing gdb_register_coprocessor() argument to CPUState.

Signed-off-by: Andreas Färber <>

22169d41 07/23/2013 03:41 am Andreas Färber

gdbstub: Change gdb_register_coprocessor() argument to CPUState

Signed-off-by: Andreas Färber <>

6f152e9b 07/23/2013 03:41 am Andreas Färber

linux-user: Use X86CPU property to retrieve CPUID family

Avoids duplicating the calculation.

Reviewed-by: Igor Mammedov <>
Signed-off-by: Andreas Färber <>

3825b28f 07/23/2013 03:41 am Andreas Färber

cpu: Change cpu_single_step() argument to CPUState

Use CPUState::env_ptr for now.

Needed for GdbState::c_cpu.

Signed-off-by: Andreas Färber <>

62278814 07/23/2013 03:41 am Andreas Färber

kvm: Change kvm_{insert,remove}_breakpoint() argument to CPUState

CPUArchState is no longer directly used since converting CPU loops to
CPUState.

Prepares for changing GDBState::c_cpu to CPUState.

Signed-off-by: Andreas Färber <>

9e0c5422 07/23/2013 03:41 am Andreas Färber

gdbstub: Change syscall callback argument to CPUState

Callback implementations were specific to arm and m68k, so can easily
cast to ARMCPU and M68kCPU respectively.

Prepares for changing GDBState::c_cpu to CPUState.

Signed-off-by: Andreas Färber <>