Statistics
| Branch: | Revision:

root @ d1a0cf73

# Date Author Comment
d1a0cf73 03/12/2013 08:40 pm Stefan Berger

Support for TPM command line options

This patch adds support for TPM command line options.
The command line options supported here are

./qemu-... -tpmdev passthrough,path=<path to TPM device>,id=<id>
-device tpm-tis,tpmdev=<id>,id=<other id>
...

fe3cc14f 03/11/2013 03:30 pm Anthony Liguori

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

  1. By Paolo Bonzini (40) and others
  2. Via Juan Quintela
    • quintela/migration.next: (46 commits)
      page_cache: dup memory on insert
      page_cache: fix memory leak
      Fix cache_resize to keep old entry age...
bba18e23 03/11/2013 02:39 pm Paolo Bonzini

arm: fix compilation with CONFIG_FDT

A conflict was resolved the wrong way when merging commit 320ba5f (build:
always link device_tree.o into emulators if libfdt available, 2013-02-05).
This causes a build failure for the arm-softmmu target due to multiply...

404a7c05 03/11/2013 02:32 pm Paolo Bonzini

migration: move contents of migration_close to migrate_fd_cleanup

With this patch, the migration_file is not needed anymore.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

b352365f 03/11/2013 02:32 pm Paolo Bonzini

migration: eliminate s->migration_file

The indirection is useless now. Backends can open s->file directly.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

6f190a06 03/11/2013 02:32 pm Paolo Bonzini

migration: inline migrate_fd_close

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

0db65d62 03/11/2013 02:32 pm Orit Wasserman

Fix page_cache leak in cache_resize

Signed-off-by: Orit Wasserman <>

Reviewed-by: Peter Maydell <>
Signed-off-by: Juan Quintela <>

a0ee2031 03/11/2013 02:32 pm Orit Wasserman

Fix cache_resize to keep old entry age

Instead of using cache_insert do the update itself

Signed-off-by: Orit Wasserman <>

Reviewed-by: Peter Maydell <>
Signed-off-by: Juan Quintela <>

32a1c08b 03/11/2013 02:32 pm Peter Lieven

page_cache: fix memory leak

XBZRLE encoded migration introduced a MRU page cache
meachnism. Unfortunately, cached items where never freed in
case of a collision in the page cache on cache_insert().

This lead to out of memory conditions during XBZRLE migration...

ee0b44aa 03/11/2013 02:32 pm Peter Lieven

page_cache: dup memory on insert

The page cache frees all data on finish, on resize and
if there is collision on insert. So it should be the caches
responsibility to dup the data that is stored in the cache.

Signed-off-by: Peter Lieven <>
Signed-off-by: Orit Wasserman <>...

edaae611 03/11/2013 02:32 pm Paolo Bonzini

migration: yay, buffering is gone

Buffering was needed because blocking writes could take a long time
and starve other threads seeking to grab the big QEMU mutex.

Now that all writes (except within _complete callbacks) are done
outside the big QEMU mutex, we do not need buffering at all....

5f496a1b 03/11/2013 02:32 pm Juan Quintela

Rename buffered_ to migration_

This is consistent once that we have moved everything to migration.c

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Juan Quintela <>

05f28b83 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: make qemu_fflush and qemu_file_set_error private again

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

059f896c 03/11/2013 02:32 pm Paolo Bonzini

migration: eliminate last_round

We will go around the loop exactly once after setting last_round.
Eliminate the variable altogether.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

fd45ee2c 03/11/2013 02:32 pm Paolo Bonzini

migration: detect error before sleeping

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

db2f2530 03/11/2013 02:32 pm Paolo Bonzini

migration: remove useless qemu_file_get_error check

migration_put_buffer is never called if there has been an error.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

a0ff044b 03/11/2013 02:32 pm Paolo Bonzini

migration: use qemu_file_rate_limit consistently

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

817b9ed5 03/11/2013 02:32 pm Paolo Bonzini

migration: merge qemu_popen_cmd with qemu_popen

There is no reason for outgoing exec migration to do popen manually
anymore (the reason used to be that we needed the FILE* to make it
non-blocking). Use qemu_popen_cmd.

Reviewed-by: Orit Wasserman <>...

ce39ee31 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: fsync a writable stdio QEMUFile

This is what fd_close does. Prepare for switching to a QEMUFile.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

13c7b2da 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: check exit status when closing a pipe QEMUFile

This is what exec_close does. Move this to the underlying QEMUFile.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

0cc3f3cc 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: add writable socket QEMUFile

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

3f2d38fa 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: simplify and export qemu_ftell

Force a flush when qemu_ftell is called. This simplifies the buffer magic
(it also breaks qemu_ftell for input QEMUFiles, but we never use it).

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>...

f8bbc128 03/11/2013 02:32 pm Paolo Bonzini

migration: use QEMUFile for migration channel lifetime

As a start, use QEMUFile to store the destination and close it.
qemu_get_fd gets a file descriptor that will be used by the write
callbacks.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>...

e6a1cf21 03/11/2013 02:32 pm Paolo Bonzini

migration: use QEMUFile for writing outgoing migration data

Second, drop the file descriptor indirection, and write directly to the
QEMUFile.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

be7172e2 03/11/2013 02:32 pm Paolo Bonzini

migration: use qemu_ftell to compute bandwidth

Prepare for when s->bytes_xfer will be removed.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

442773ce 03/11/2013 02:32 pm Paolo Bonzini

migration: small changes around rate-limiting

This patch extracts a few small changes from the next patch, which
are unrelated to adding generic rate-limiting functionality to
QEMUFile. Make migration_set_rate_limit a simple accessor, and
use qemu_file_set_rate_limit consistently. Also fix a typo where...

1964a397 03/11/2013 02:32 pm Paolo Bonzini

migration: move rate limiting to QEMUFile

Rate limiting is now simply a byte counter; client call
qemu_file_rate_limit() manually to determine if they have to exit.
So it is possible and simple to move the functionality to QEMUFile.

This makes the remaining functionality of s->file redundant;...

93bf2104 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: pass errno from qemu_fflush via f->last_error

This is done by almost all callers of qemu_fflush, move the code
directly to qemu_fflush.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

47c8c17a 03/11/2013 02:32 pm Paolo Bonzini

migration: use qemu_file_set_error to pass error codes back to qemu_savevm_state

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

4eb93810 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: temporarily expose qemu_file_set_error and qemu_fflush

Right now, migration cannot entirely rely on QEMUFile's automatic
drop of I/O after an error, because it does its "real" I/O outside
the put_buffer callback. To fix this until buffering is gone, expose...

f5821518 03/11/2013 02:32 pm Paolo Bonzini

migration: flush all data to fd when buffered_flush is called

Including data that resided in the QEMUFile's own buffer.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

63dfbd7e 03/11/2013 02:32 pm Paolo Bonzini

migration: use qemu_file_set_error

Remove the return value of buffered_flush, pass it via the error code
of s->file. Once this is done, the error can be retrieved simply
via migrate_fd_close's call to qemu_fclose.

Reviewed-by: Orit Wasserman <>...

dba433c0 03/11/2013 02:32 pm Paolo Bonzini

migration: simplify error handling

Always use qemu_file_get_error to detect errors, since that is how
QEMUFile itself drops I/O after an error occurs. There is no need
to propagate and check return values all the time.

Also remove the "complete" member, since we know that it is set (via...

a3fa1d78 03/11/2013 02:32 pm Paolo Bonzini

migration: do not nest flushing of device data

Completion of migration is currently done with a "nested" loop that
invokes buffered_flush: migrate_fd_completed is called by
buffered_file_thread, which calls migrate_fd_cleanup, which calls
buffered_close (via qemu_fclose), which flushes the buffer....

c09e5bb1 03/11/2013 02:32 pm Kazuya Saito

migration: add migrate_set_state tracepoint

Signed-off-by: Kazuya Saito <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

f4410a5d 03/11/2013 02:32 pm Paolo Bonzini

migration: prepare to access s->state outside critical sections

Accessing s->state outside the big QEMU lock will simplify a bit the
locking/unlocking of the iothread lock.

We need to keep the lock in migrate_fd_error and migrate_fd_completed,
however, because they call migrate_fd_cleanup....

bb1fadc4 03/11/2013 02:32 pm Paolo Bonzini

migration: cleanup migration (including thread) in the iothread

Perform final cleanup in a bottom half, and add joining the thread to
the series of cleanup actions.

migrate_fd_error remains for connection error, but it doesn't need
to cleanup anything anymore....

a55ce1c8 03/11/2013 02:32 pm Paolo Bonzini

block-migration: remove variables that are never read

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

13197e3c 03/11/2013 02:32 pm Paolo Bonzini

block-migration: small preparatory changes for locking

Some small changes that will simplify the positioning of lock/unlock
primitives.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

323920c4 03/11/2013 02:32 pm Paolo Bonzini

block-migration: document usage of state across threads

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

52e850de 03/11/2013 02:32 pm Paolo Bonzini

block-migration: add lock

Some state is shared between the block migration code and its AIO
callbacks. Once block migration will run outside the iothread,
the block migration code and the AIO callbacks will be able to
run concurrently. Protect the critical sections with a separate...

8c8de19d 03/11/2013 02:32 pm Paolo Bonzini

migration: reorder SaveVMHandlers members

This groups together the callbacks that later will have similar
locking rules.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

32c835ba 03/11/2013 02:32 pm Paolo Bonzini

migration: run pending/iterate callbacks out of big lock

This makes it possible to do blocking writes directly to the socket,
with no buffer in the middle. For RAM, only the migration_bitmap_sync()
call needs the iothread lock. For block migration, it is needed by...

9b095037 03/11/2013 02:32 pm Paolo Bonzini

migration: run setup callbacks out of big lock

Only the migration_bitmap_sync() call needs the iothread lock.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

5da5aad0 03/11/2013 02:32 pm Paolo Bonzini

migration: simplify while loop

Unify the goto around the loop, with the exit condition at the end of it.
Both can be expressed as "while (ret >= 0)".

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

891518ab 03/11/2013 02:32 pm Paolo Bonzini

migration: always use vm_stop_force_state

vm_stop_force_state does:

if (runstate_is_running()) {
vm_stop(state);
} else {
runstate_set(state);
}

migration.c does:

if (runstate_is_running()) {
vm_stop(state);
} else {...
7a2c1721 03/11/2013 02:32 pm Paolo Bonzini

migration: move more error handling to migrate_fd_cleanup

The next patch will add more cases where qemu_savevm_state_cancel
needs to be called; prepare for that already, the function can be
called twice with no ill effect.

Reviewed-by: Orit Wasserman <>...

04943eba 03/11/2013 02:32 pm Paolo Bonzini

migration: push qemu_savevm_state_cancel out of qemu_savevm_state_*

This is useful, because it lets us keep the cancellation callbacks
inside the big lock while pushing the others out.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>...

d418cf57 03/11/2013 02:32 pm Paolo Bonzini

block-migration: remove useless calls to blk_mig_cleanup

Now that the cancel callback is called consistently for all errors,
we can avoid doing its work in the other callbacks.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>...

fa388916 03/11/2013 03:39 am Anthony Liguori

Merge remote-tracking branch 'origin/master' into staging

  • origin/master: (75 commits)
    tcg: Don't make exitreq flag a local temporary
    Makefile: Add subdir dependency on config-devices-all.mak
    make_device_config.sh: Emit dependency file to directory where included...
6e72a00f 03/11/2013 02:56 am Anthony Liguori

Merge remote-tracking branch 'bonzini/hw-dirs' into staging

  • bonzini/hw-dirs:
    sh: move files referencing CPU to hw/sh4/
    ppc: move more files to hw/ppc
    ppc: move files referencing CPU to hw/ppc/
    m68k: move files referencing CPU to hw/m68k/
    i386: move files referencing CPU to hw/i386/...
6a245c66 03/11/2013 02:33 am Anthony Liguori

Merge remote-tracking branch 'stefanha/trivial-patches' into staging

  1. By Lei Li (2) and others
  2. Via Stefan Hajnoczi
    • stefanha/trivial-patches:
      Fix the wrong description in qemu manual
      pci_host: Drop write-only address_space field
      rng-random: Use qemu_open / qemu_close...
6d06368d 03/11/2013 02:30 am Anthony Liguori

Merge remote-tracking branch 'bonzini/scsi-next' into staging

  1. By Paolo Bonzini (4) and Peter Lieven (2)
  2. Via Paolo Bonzini
    • bonzini/scsi-next:
      scsi-disk: handle io_canceled uniformly and correctly
      scsi-disk: do not complete canceled UNMAP requests...
7830cf78 03/11/2013 02:26 am Blue Swirl

baum: fix build

08744c98115cfa144ed3493556024e400b2e2573 removed hw/baum.h
but did not adjust hw/baum.c, breaking build. Fix.

Signed-off-by: Blue Swirl <>
Message-id: ...

44ab9ed4 03/11/2013 02:26 am Blue Swirl

qemu-char: fix win32 build

96c6384776d631839a9c8fe02bf135f9ba22586c did not adjust
Win32 #ifdeffery properly, breaking build in later commits. Fix.

Signed-off-by: Blue Swirl <>
Tested-by: Igor Mitsyanko <>
Message-id: ...

a4960ef3 03/09/2013 07:16 pm Richard Henderson

tcg: Don't make exitreq flag a local temporary

The value is not actually live across basic blocks, so there's no
need for the local property. This eliminates storing the temporary
to its home location at the branch.

Signed-off-by: Richard Henderson <>...

1b304817 03/09/2013 02:00 pm Andreas Färber

Revert "make_device_config.sh: Fix target path in generated dependency file"

This reverts commit 23bf49b5eca716aaad073f2b47613434e1515cb5.

While *-softmmu/config-devices.mak.d is included through *.d pattern via
Makefile.target, the make_devices_config.sh call these dependencies are...

88070801 03/09/2013 02:00 pm Andreas Färber

make_device_config.sh: Emit dependency file to directory where included

Placing the config-devices.mak.d file alongside the config-devices.mak
file in -softmmu/ lead to it getting included into through
-softmmu/Makefile in addition to ./Makefile, leading to confusion....

916359f6 03/09/2013 02:00 pm Andreas Färber

Makefile: Add subdir dependency on config-devices-all.mak

What 23bf49b5eca716aaad073f2b47613434e1515cb5 really seemed to try to
fix is that Makefile could recurse into *-softmmu/ subdirectories before
a new *-softmmu/config-devices.mak was generated from pci.mak....

eb839909 03/09/2013 01:02 pm Blue Swirl

Merge branch 's390-for-upstream' of git://github.com/agraf/qemu

  • 's390-for-upstream' of git://github.com/agraf/qemu:
    s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del
    s390/css: Fix subchannel detection
    Allow virtio-net features for legacy s390 virtio bus...
62e1aeae 03/09/2013 01:02 pm Blue Swirl

Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu

  • 'ppc-for-upstream' of git://github.com/agraf/qemu: (66 commits)
    pseries: Add compatible property to root of device tree
    target-ppc: Move CPU aliases out of translate_init.c
    target-ppc: Report CPU aliases for QMP...
1c9d2a1d 03/08/2013 10:17 pm Christian Borntraeger

s390: simplify kvm cpu init

There is no special code right now and the reset ioctl is done later
on in the the reset handler anyway. Lets simplify the cpu init.

Signed-off-by: Christian Borntraeger <>
Signed-off-by: Alexander Graf <>

dd4ad64a 03/08/2013 10:17 pm Cornelia Huck

s390: virtio-ccw maintainer

Add myself as maintainer for virtio-ccw and the s390-ccw-virtio machine.

Signed-off-by: Cornelia Huck <>
[agraf: add myself for virtio-ccw machine]
Signed-off-by: Alexander Graf <>

35569cea 03/08/2013 10:17 pm Christian Borntraeger

Allow virtio-net features for legacy s390 virtio bus

Enable all virtio-net features for the legacy s390 virtio bus. This also fixes
kernel BUG at /usr/src/packages/BUILD/kernel-default-3.0.58/linux-3.0/drivers/s390/kvm/kvm_virtio.c:121!

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

38dd7cc7 03/08/2013 10:17 pm Christian Borntraeger

s390/css: Fix subchannel detection

We have to consider the m bit to find the real channel subsystem when
determining the last subchannel.

If we fail to take this into account, removal of a subchannel in
the middle of a big list of devices will stop device detection after...

8a7df84f 03/08/2013 10:17 pm Christian Borntraeger

s390/virtio-ccw: remove redundant call to blockdev_mark_auto_del

blockdev_mark_auto_del is already called in virtio-blk-exit.
Remove the redundant call.

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

edbe35e0 03/08/2013 10:04 pm Andreas Färber

target-ppc: Fix PPC_DUMP_SPR_ACCESS build

A victim of the d523dd00a7d73b28f2e99acf45a4b3f92e56e40a AREG0
conversion, insert the missing cpu_env arguments.

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

e13da404 03/08/2013 10:04 pm Amadeusz Sławiński

PPC: Fix dma interrupt

In openbios (drivers/ide.c) they are set to

0000000d 00000000 00000002 00000000
0000000e 00000000 00000003 00000000
0000000f 00000000 00000004 00000000
(The last one seems to be not implemented in qemu)

It follows convention of how they are set on real machines,...

987422bc 03/08/2013 10:04 pm Amadeusz Sławiński

PPC: xnu kernel expects FLUSH to be cleared on STOP

otherwise it gets stuck in a loop
so clear it when unsetting run when flush is set

void
IODBDMAStop( volatile IODBDMAChannelRegisters *registers) {

IOSetDBDMAChannelControl( registers,
IOClearDBDMAChannelControlBits( kdbdmaRun )...
5ba4576b 03/08/2013 10:04 pm Andreas Färber

target-ppc: Make host CPU a subclass of the host's CPU model

This avoids assigning individual class fields and contributors
forgetting to add field assignments in KVM-only code.

ppc_cpu_class_find_by_pvr() requires the CPU model classes to be
registered, so defer host CPU type registration to kvm_arch_init()....

55d3d1a4 03/08/2013 10:04 pm Andreas Färber

target-ppc: List alias names alongside CPU models

Revert adding a separate -cpu ? output section for aliases and list them
per CPU subclass.

Requested-by: Alexander Graf <>
Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

35e21d3f 03/08/2013 10:04 pm Andreas Färber

target-ppc: Report CPU aliases for QMP

The QMP query-cpu-definitions implementation iterated over CPU classes
only, which were getting less and less as aliases were extracted.

Keep them in QMP as valid -cpu arguments even if not guaranteed stable.

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

e9a96075 03/08/2013 10:04 pm Andreas Färber

target-ppc: Move CPU aliases out of translate_init.c

Move array of CPU aliases to cpu-models.c, alongside model definitions.
This requires to zero-terminate the aliases array since ARRAY_SIZE() can
no longer be used in translate_init.c then.

Suggested-by: Alexander Graf <>...

d63919c9 03/08/2013 10:04 pm David Gibson

pseries: Add compatible property to root of device tree

Currently, for the pseries machine the device tree supplied by qemu to SLOF
and from there to the guest does not include a 'compatible property' at the
root level. Usually that works fine, since in this case the compatible...

e0233c9a 03/08/2013 10:04 pm Andreas Färber

target-ppc: Turn descriptive CPU model comments into device descriptions

Fix microcontroller typo while at it.

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

09cc86f2 03/08/2013 10:04 pm Andreas Färber

target-ppc: Update Coding Style for CPU models

Drop the space in #if defined (TODO).

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

953af181 03/08/2013 10:04 pm Andreas Färber

target-ppc: Split model definitions out of translate_init.c

Now that model definitions only reference their parent type, model
definitions are independent of the family definitions and can be
compiled independently of TCG translation.

Keep all #if defined(TODO) code local to cpu-models.c....

cc4a04db 03/08/2013 10:04 pm Andreas Färber

target-ppc: Fix remaining microcontroller typos among models

controler -> controller

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

befa8af3 03/08/2013 10:04 pm Andreas Färber

target-ppc: Change "POWER7" CPU alias

Let it resolve to v2.3 rather than v2.0.

Suggested-by: David Gibson <>
Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

6bbd5dde 03/08/2013 10:04 pm Erlon Cruz

pseries: Implement h_read hcall

This h_call is useful for DLPAR in future amongst other things. Given an index
it fetches the corresponding PTE stored in the htab.

Signed-off-by: Erlon Cruz <>
Acked-by: David Gibson <>...

d60fa42e 03/08/2013 10:04 pm Fabien Chouteau

Save memory allocation in the elf loader

The current elf loader uses too much memory. For example, I have a
executable with a bss section of 400 MB and I set the ram size to 512
MB. Qemu uses about 780MB of RAM (which is fine), but there's a peak at
1.6 GB during initialization (this is not fine)....

d67d40ea 03/08/2013 10:04 pm David Gibson

target-ppc: Add mechanism for synchronizing SPRs with KVM

Currently when runing under KVM on ppc, we synchronize a certain number of
vital SPRs to KVM through the SET_SREGS call. This leaves out quite a lot
of important SPRs which are maintained in KVM. It would be helpful to...

70b79849 03/08/2013 10:04 pm David Gibson

target-ppc: Synchronize FPU state with KVM

Currently qemu does not get and put the state of the floating point and
vector registers to KVM. This is obviously a problem for savevm, as well
as possibly being problematic for debugging of FP-using guests.

This patch fixes this by using new extensions to the ONE_REG interface to...

cfe34f44 03/08/2013 10:04 pm Andreas Färber

target-ppc: Convert CPU definitions

Turn the array of model definitions into a set of self-registering QOM
types with their own class_init. Unique identifiers are obtained from
the combination of PVR, SVR and family identifiers; this requires all
alias #defines to be removed from the list. Possibly there are some more...

7856e3a4 03/08/2013 10:04 pm Andreas Färber

target-ppc: Introduce abstract CPU family types

Instead of assigning *_<family> constants, set .parent to a family type.

Introduce a POWERPC_FAMILY() macro to keep type registration close to
its implementation. This macro will need tweaking later.

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

53116ebf 03/08/2013 10:04 pm Andreas Färber

target-ppc: Set instruction flags on CPU family classes

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

4d7fb187 03/08/2013 10:04 pm Andreas Färber

target-ppc: Register all types for TARGET_PPCEMB

Don't attempt to suppress registration of CPU types, since the criteria
is actually a property of the class and should thus become a field.
Since we can't check a field set in a class_init function before
registering the type that leads to execution of that function, guard the...

ba9fd9f1 03/08/2013 10:04 pm Andreas Färber

target-ppc: Set remaining fields on CPU family classes

Now POWERPC_DEF_SVR() no longer sets family-specific fields itself.

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

ca5dff0a 03/08/2013 10:04 pm Andreas Färber

target-ppc: Turn descriptive CPU family comments into device descriptions

This gets rid of some more overly long comments that have lost most of
their purpose now that in most cases there's only two functions left per
CPU family.

The class field is inherited by the actual CPU models, so override it....

df43f4b8 03/08/2013 10:04 pm Andreas Färber

target-ppc: Extract 970 aliases

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

f591784b 03/08/2013 10:04 pm Andreas Färber

target-ppc: Extract POWER7 alias

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

de400129 03/08/2013 10:04 pm Andreas Färber

target-ppc: Get model name from type name

We are about to drop the redundant name field along with ppc_def_t.

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

d329ceb2 03/08/2013 10:04 pm Andreas Färber

target-ppc: Extract MPC82xx_HiP{3, 4} aliases

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

cf9314cd 03/08/2013 10:04 pm Andreas Färber

target-ppc: Extract MPC52xx alias

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

236824f2 03/08/2013 10:04 pm Andreas Färber

target-ppc: Extract MPC5200/MPC5200B aliases

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

7b48a1ad 03/08/2013 10:04 pm Andreas Färber

target-ppc: Extract MPC8240 alias

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

4bdba7fd 03/08/2013 10:04 pm Andreas Färber

target-ppc: Extract 405GPe alias

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

63499f21 03/08/2013 10:04 pm Andreas Färber

target-ppc: Extract MPC82xx alias

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

4d55320f 03/08/2013 10:04 pm Andreas Färber

target-ppc: Extract MPC8247/MPC8248/MPC8270-80 aliases

This depends on the fix for "G2leGP3" PVR.

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

f172e4b9 03/08/2013 10:04 pm Andreas Färber

target-ppc: Extract MPC82xx aliases to *_HiP4

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