qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 5ddfff: throttle: Add a new throttling API im


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 5ddfff: throttle: Add a new throttling API implementing co...
Date: Wed, 11 Sep 2013 13:30:15 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 5ddfffbdc5e024014b77816dab88d372ad95a5b0
      
https://github.com/qemu/qemu/commit/5ddfffbdc5e024014b77816dab88d372ad95a5b0
  Author: Benoît Canet <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    A include/qemu/throttle.h
    M util/Makefile.objs
    A util/throttle.c

  Log Message:
  -----------
  throttle: Add a new throttling API implementing continuous leaky bucket.

Implement the continuous leaky bucket algorithm devised on IRC as a separate
module.

Signed-off-by: Benoit Canet <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: f17cfe813c40792cc1622ba447581c906beb091e
      
https://github.com/qemu/qemu/commit/f17cfe813c40792cc1622ba447581c906beb091e
  Author: Benoît Canet <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M tests/Makefile
    A tests/test-throttle.c

  Log Message:
  -----------
  throttle: Add units tests

Signed-off-by: Benoit Canet <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: cc0681c45430a1f1a4c2d06e9499b7775afc9a18
      
https://github.com/qemu/qemu/commit/cc0681c45430a1f1a4c2d06e9499b7775afc9a18
  Author: Benoît Canet <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c
    M block/qapi.c
    M blockdev.c
    M include/block/block.h
    M include/block/block_int.h

  Log Message:
  -----------
  block: Enable the new throttling code in the block layer.

Signed-off-by: Benoit Canet <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 3e9fab690d59ac15956c3733fe0794ce1ae4c4af
      
https://github.com/qemu/qemu/commit/3e9fab690d59ac15956c3733fe0794ce1ae4c4af
  Author: Benoît Canet <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block/qapi.c
    M blockdev.c
    M hmp.c
    M qapi-schema.json
    M qemu-options.hx
    M qmp-commands.hx

  Log Message:
  -----------
  block: Add support for throttling burst max in QMP and the command line.

The max parameter of the leaky bucket throttling algorithm can be used to
allow the guest to do bursts.
The max value is a pool of I/O that the guest can use without being throttled
at all. Throttling is triggered once this pool is empty.

Signed-off-by: Benoit Canet <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 2024c1df43eae0d2e35663da0c6e8c51290a386e
      
https://github.com/qemu/qemu/commit/2024c1df43eae0d2e35663da0c6e8c51290a386e
  Author: Benoît Canet <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block/qapi.c
    M blockdev.c
    M hmp.c
    M qapi-schema.json
    M qemu-options.hx
    M qmp-commands.hx

  Log Message:
  -----------
  block: Add iops_size to do the iops accounting for a given io size.

This feature can be used in case where users are avoiding the iops limit by
doing jumbo I/Os hammering the storage backend.

Signed-off-by: Benoit Canet <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: b3f3a30f387f34308b3e4d910a2824e69c34182f
      
https://github.com/qemu/qemu/commit/b3f3a30f387f34308b3e4d910a2824e69c34182f
  Author: Max Reitz <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M tests/qemu-iotests/039.out

  Log Message:
  -----------
  qemu-iotests: Adjust test result 039

The moved OFLAG_COPIED check in qcow2_check_refcounts results in a
different output from test 039 (mismatches are now found after the
general refcount check (as far as any remain)). This patch adjusts the
expected test result accordingly.

Signed-off-by: Max Reitz <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: b2e10493c71160d88bb823cae9a92e806a79b9d6
      
https://github.com/qemu/qemu/commit/b2e10493c71160d88bb823cae9a92e806a79b9d6
  Author: Alexandre Derumier <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M qemu-img-cmds.hx
    M qemu-img.c
    M qemu-img.texi
    A tests/qemu-iotests/063
    A tests/qemu-iotests/063.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  add qemu-img convert -n option (skip target volume creation)

Add a -n option to skip volume creation on qemu-img convert.
This is useful for targets such as rbd / ceph, where the
target volume may already exist; we cannot always rely on
qemu-img convert to create the image, as dependent on the
output format, there may be parameters which are not possible
to specify through the qemu-img convert command line.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Alexandre Derumier <address@hidden>
Signed-off-by: Alex Bligh <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 68dc036488dfea170627a55e6ee3dfd7f2c2063e
      
https://github.com/qemu/qemu/commit/68dc036488dfea170627a55e6ee3dfd7f2c2063e
  Author: Stefan Weil <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block/raw-win32.c

  Log Message:
  -----------
  w32: Fix access to host devices (regression)

QEMU failed to open host devices like \\.\PhysicalDrive0 (first hard disk)
since some time (commit 8a79380b8ef1b02d2abd705dd026a18863b09020?).

Those devices use hdev_open which did not use the latest API for options.
This resulted in a fatal runtime error:

  Block protocol 'host_device' doesn't support the option 'filename'

Duplicate code from raw_open to fix this.

Cc: address@hidden
Reported-by: David Brenner <address@hidden>
Signed-off-by: Stefan Weil <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: a94a3fac19c37c093203e9e01c3a54e92e1dc701
      
https://github.com/qemu/qemu/commit/a94a3fac19c37c093203e9e01c3a54e92e1dc701
  Author: Alex Bligh <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M tests/test-aio.c

  Log Message:
  -----------
  aio / timers: fix build of test/test-aio.c on non-linux platforms

tests/test-aio.c used pipe2 which is Linux only. Use qemu_pipe
and qemu_set_nonblock for portabillity. Addition of O_CLOEXEC
is a harmless bonus.

Signed-off-by: Alex Bligh <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 3d34c6cd99f434126365150c2535bbf93b94f891
      
https://github.com/qemu/qemu/commit/3d34c6cd99f434126365150c2535bbf93b94f891
  Author: Fam Zheng <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block/vvfat.c

  Log Message:
  -----------
  vvfat: use bdrv_new() to allocate BlockDriverState

we need bdrv_new() to properly initialize BDS, don't allocate memory
manually.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 13c91cb7e28b47f5c4227f7e88a1378570117704
      
https://github.com/qemu/qemu/commit/13c91cb7e28b47f5c4227f7e88a1378570117704
  Author: Fam Zheng <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: use bdrv_new() instead of stack structure

BlockDriverState structure needs bdrv_new() to initialize refcnt, don't
allocate a local structure variable and memset to 0, becasue with coming
refcnt implementation, bdrv_unref will crash if bs->refcnt not
initialized to 1.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 9fcb025146676ab376e6159b58f5a5ddb67bf03c
      
https://github.com/qemu/qemu/commit/9fcb025146676ab376e6159b58f5a5ddb67bf03c
  Author: Fam Zheng <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c
    M include/block/block.h
    M include/block/block_int.h

  Log Message:
  -----------
  block: implement reference count for BlockDriverState

Introduce bdrv_ref/bdrv_unref to manage the lifecycle of
BlockDriverState. They are unused for now but will used to replace
bdrv_delete() later.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 4f6fd3491cf0f768b135ed2e242bd1d1d2a2efec
      
https://github.com/qemu/qemu/commit/4f6fd3491cf0f768b135ed2e242bd1d1d2a2efec
  Author: Fam Zheng <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c
    M block/backup.c
    M block/blkverify.c
    M block/cow.c
    M block/iscsi.c
    M block/mirror.c
    M block/qcow.c
    M block/qcow2.c
    M block/qed.c
    M block/sheepdog.c
    M block/snapshot.c
    M block/stream.c
    M block/vmdk.c
    M block/vvfat.c
    M blockdev.c
    M hw/block/xen_disk.c
    M include/block/block.h
    M qemu-img.c
    M qemu-io.c

  Log Message:
  -----------
  block: make bdrv_delete() static

Manage BlockDriverState lifecycle with refcnt, so bdrv_delete() is no
longer public and should be called by bdrv_unref() if refcnt is
decreased to 0.

This is an identical change because effectively, there's no multiple
reference of BDS now: no caller of bdrv_ref() yet, only bdrv_new() sets
bs->refcnt to 1, so all bdrv_unref() now actually delete the BDS.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 8442cfd0346de849264494c5adedbac12553867e
      
https://github.com/qemu/qemu/commit/8442cfd0346de849264494c5adedbac12553867e
  Author: Fam Zheng <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block-migration.c

  Log Message:
  -----------
  migration: omit drive ref as we have bdrv_ref now

block-migration.c does not actually use DriveInfo anywhere.  Hence it's
safe to drive ref code, we really only care about referencing BDS.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: c0777fe18b08c3a6de0c53325d6b9b75ebb9de9a
      
https://github.com/qemu/qemu/commit/c0777fe18b08c3a6de0c53325d6b9b75ebb9de9a
  Author: Fam Zheng <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M hw/block/xen_disk.c

  Log Message:
  -----------
  xen_disk: simplify blk_disconnect with refcnt

We call bdrv_attach_dev when initializing whether or not bs is created
locally, so call bdrv_detach_dev and let the refcnt handle the
lifecycle.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 38b54b6dc18ae7e2a32e5ae38b312fb13f0584c8
      
https://github.com/qemu/qemu/commit/38b54b6dc18ae7e2a32e5ae38b312fb13f0584c8
  Author: Fam Zheng <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M blockdev-nbd.c
    M nbd.c

  Log Message:
  -----------
  nbd: use BlockDriverState refcnt

Previously, nbd calls drive_get_ref() on the drive of bs. A BDS doesn't
always have associated dinfo, which nbd doesn't care either. We already
have BDS ref count, so use it to make it safe for a BDS w/o blockdev.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: fa510ebffa1fd509323e2e0888e369e23adbb508
      
https://github.com/qemu/qemu/commit/fa510ebffa1fd509323e2e0888e369e23adbb508
  Author: Fam Zheng <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M blockdev.c
    M blockjob.c

  Log Message:
  -----------
  block: use BDS ref for block jobs

Block jobs used drive_get_ref(drive_get_by_blockdev(bs)) to avoid BDS
being deleted. Now we have BDS reference count, and block jobs don't
care about dinfo, so replace them to get cleaner code. It is also the
safe way when BDS has no drive info.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 0ca0b0d5f8a87dbc6daa5095771d036d0e6dc5b4
      
https://github.com/qemu/qemu/commit/0ca0b0d5f8a87dbc6daa5095771d036d0e6dc5b4
  Author: Max Reitz <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M QMP/qmp-events.txt

  Log Message:
  -----------
  qmp: Documentation for BLOCK_IMAGE_CORRUPTED

Add an appropriate entry describing this event and its parameters into
qmp-events.txt.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 276cbc7f2fc1bd3810887995dbc9cbb739c975bf
      
https://github.com/qemu/qemu/commit/276cbc7f2fc1bd3810887995dbc9cbb739c975bf
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block/cow.c

  Log Message:
  -----------
  cow: make reads go at a decent speed

Do not do two reads for each sector; load each sector of the bitmap
and use bitmap operations to process it.

Writes are still dog slow!

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 26ae980492920e417bc91761cc85950f18e41f85
      
https://github.com/qemu/qemu/commit/26ae980492920e417bc91761cc85950f18e41f85
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block/cow.c

  Log Message:
  -----------
  cow: make writes go at a less indecent speed

Only sync once per write, rather than once per sector.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: e641c1e81e54fc14908ff6785ef7d51e42c2e1bb
      
https://github.com/qemu/qemu/commit/e641c1e81e54fc14908ff6785ef7d51e42c2e1bb
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block/cow.c

  Log Message:
  -----------
  cow: do not call bdrv_co_is_allocated

As we change bdrv_is_allocated to gather more information from bs and
bs->file, it will become a bit slower.  It is still appropriate for online
jobs, but not for reads/writes.  Call the internal function instead.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: df2a6f29a5019707d69f6eeb30cf792841cae5aa
      
https://github.com/qemu/qemu/commit/df2a6f29a5019707d69f6eeb30cf792841cae5aa
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: keep bs->total_sectors up to date even for growable block devices

If a BlockDriverState is growable, after every write we need to
check if bs->total_sectors might have changed.  With this change,
bdrv_getlength does not need anymore a system call.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: bdad13b9deec47d5d9eaf7f43867d19a79471244
      
https://github.com/qemu/qemu/commit/bdad13b9deec47d5d9eaf7f43867d19a79471244
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c
    M block/backup.c
    M block/raw_bsd.c
    M block/stream.c
    M include/block/block.h

  Log Message:
  -----------
  block: make bdrv_co_is_allocated static

bdrv_is_allocated can detect coroutine context and go through a fast
path, similar to other block layer functions.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 617ccb466e1937a5c99332ce77a47ebd29861ae4
      
https://github.com/qemu/qemu/commit/617ccb466e1937a5c99332ce77a47ebd29861ae4
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: do not use ->total_sectors in bdrv_co_is_allocated

This is more robust when the device has removable media.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 4f5786376e41980e78af45a123c56ebdc5295099
      
https://github.com/qemu/qemu/commit/4f5786376e41980e78af45a123c56ebdc5295099
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c
    M block/commit.c
    M block/mirror.c
    M block/stream.c
    M include/block/block.h

  Log Message:
  -----------
  block: remove bdrv_is_allocated_above/bdrv_co_is_allocated_above distinction

Now that bdrv_is_allocated detects coroutine context, the two can
use the same code.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: d663640c04f2aab810915c556390211d75457704
      
https://github.com/qemu/qemu/commit/d663640c04f2aab810915c556390211d75457704
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c
    M block/cow.c
    M block/qcow2.c
    M block/stream.c
    M qemu-img.c
    M qemu-io-cmds.c

  Log Message:
  -----------
  block: expect errors from bdrv_co_is_allocated

Some bdrv_is_allocated callers do not expect errors, but the fallback
in qcow2.c might make other callers trip on assertion failures or
infinite loops.

Fix the callers to always look for errors.

Cc: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: e4a86f88cc6b214c37b4abe9160e41f0338ce4cd
      
https://github.com/qemu/qemu/commit/e4a86f88cc6b214c37b4abe9160e41f0338ce4cd
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: always probe the input image for allocated sectors

qemu-img convert can assume "that sectors which are unallocated in the
input image are present in both the output's and input's base images".

However it is only doing this if the output image returns true for
bdrv_has_zero_init().  Testing bdrv_has_zero_init() does not make much
sense if the output image is copy-on-write, because a copy-on-write
image is never initialized to zero (it is initialized to the content
of the backing file).

There is nothing here that makes has_zero_init images special.  The
input and output must be equal for the operation to make sense, and
that's it.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 11212d8fa08a4e5bd56bb4f6877f9a4c0439a02b
      
https://github.com/qemu/qemu/commit/11212d8fa08a4e5bd56bb4f6877f9a4c0439a02b
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c
    M qemu-img.c

  Log Message:
  -----------
  block: make bdrv_has_zero_init return false for copy-on-write-images

This helps implementing is_allocated on top of get_block_status.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: b6b8a33354a448ee421f57676c1a93a536a63269
      
https://github.com/qemu/qemu/commit/b6b8a33354a448ee421f57676c1a93a536a63269
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c
    M block/cow.c
    M block/qcow.c
    M block/qcow2.c
    M block/qed.c
    M block/raw-posix.c
    M block/raw_bsd.c
    M block/sheepdog.c
    M block/vdi.c
    M block/vmdk.c
    M block/vvfat.c
    M include/block/block.h
    M include/block/block_int.h

  Log Message:
  -----------
  block: introduce bdrv_get_block_status API

For now, bdrv_get_block_status is just another name for bdrv_is_allocated.
The next patches will add more flags.

This also touches all block drivers with a mostly mechanical rename.  The
sole exception is cow; because it calls cow_co_is_allocated from the read
code, we keep that function and make cow_co_get_block_status a wrapper.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 4333bb71405f58a8dc8d3255feb3ca5960b0daf8
      
https://github.com/qemu/qemu/commit/4333bb71405f58a8dc8d3255feb3ca5960b0daf8
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c
    M include/block/block.h

  Log Message:
  -----------
  block: define get_block_status return value

Define the return value of get_block_status.  Bits 0, 1, 2 and 9-62
are valid; bit 63 (the sign bit) is reserved for errors.  Bits 3-8
are left for future extensions.

The return code is compatible with the old is_allocated API: if a driver
only returns 0 or 1 (aka BDRV_BLOCK_DATA) like is_allocated used to,
clients of is_allocated will not have any change in behavior.  Still,
we will return more precise information in the next patches and the
new definition of bdrv_is_allocated is already prepared for this.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 4bc74be997a72922170f4f272fd5e8074a3ecc27
      
https://github.com/qemu/qemu/commit/4bc74be997a72922170f4f272fd5e8074a3ecc27
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block/cow.c
    M block/qcow.c
    M block/qcow2.c
    M block/qed.c
    M block/sheepdog.c
    M block/vdi.c
    M block/vmdk.c
    M block/vvfat.c

  Log Message:
  -----------
  block: return get_block_status data and flags for formats

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 415b5b013ce74126e71459b922a92377918ae2ef
      
https://github.com/qemu/qemu/commit/415b5b013ce74126e71459b922a92377918ae2ef
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: use bdrv_has_zero_init to return BDRV_BLOCK_ZERO

Alternatively, this could use a "discard zeroes data" flag returned
by bdrv_get_info.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: f0ad5712d5d15ff272b9e107910be4aae468fb3d
      
https://github.com/qemu/qemu/commit/f0ad5712d5d15ff272b9e107910be4aae468fb3d
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: return BDRV_BLOCK_ZERO past end of backing file

If the sectors are unallocated and we are past the end of the
backing file, they will read as zero.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 4c93a13b5daf9bd5fca1a547661b0fb9a2f0ca52
      
https://github.com/qemu/qemu/commit/4c93a13b5daf9bd5fca1a547661b0fb9a2f0ca52
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M qemu-img-cmds.hx
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: add a "map" subcommand

This command dumps the metadata of an entire chain, in either tabular or JSON
format.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: facd6e2b5c0217f9d9eeb2ee497dda28009518bd
      
https://github.com/qemu/qemu/commit/facd6e2b5c0217f9d9eeb2ee497dda28009518bd
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M qapi-schema.json
    M qemu-img.texi

  Log Message:
  -----------
  docs, qapi: document qemu-img map

Eric Blake also requested including the output in qapi-schema.json,
so that it is published through the introspection mechanism.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 63390a8d14c9006f42bdaab22291c9c97676322d
      
https://github.com/qemu/qemu/commit/63390a8d14c9006f42bdaab22291c9c97676322d
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  raw-posix: return get_block_status data and flags

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: f5f7abcfd50bca38ae278a9c7a3ed60fba3d76dc
      
https://github.com/qemu/qemu/commit/f5f7abcfd50bca38ae278a9c7a3ed60fba3d76dc
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  raw-posix: report unwritten extents as zero

These are created for example with XFS_IOC_ZERO_RANGE.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 918e92d71b38306a6bf4fedfd1109367f1425587
      
https://github.com/qemu/qemu/commit/918e92d71b38306a6bf4fedfd1109367f1425587
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: add default get_block_status implementation for protocols

Protocols return raw data, so you can assume the offsets to pass
through unchanged.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 5daa74a6ebce7543aaad178c4061dc087bb4c705
      
https://github.com/qemu/qemu/commit/5daa74a6ebce7543aaad178c4061dc087bb4c705
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: look for zero blocks in bs->file

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 8caf907f07688972e5e7cd11526079b1665d6dba
      
https://github.com/qemu/qemu/commit/8caf907f07688972e5e7cd11526079b1665d6dba
  Author: Cornelia Huck <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c

  Log Message:
  -----------
  dataplane: Fix startup race.

Avoid trying to setup dataplane again if dataplane setup is already in
progress. This may happen if an eventfd is triggered during setup.

I saw this occasionally with an experimental s390 irqfd implementation:

virtio_blk_handle_output
-> virtio_blk_data_plane_start
-> virtio_ccw_set_host_notifier
...
-> virtio_queue_set_host_notifier_fd_handler
-> virtio_queue_host_notifier_read
-> virtio_queue_notify_vq
-> virtio_blk_handle_output
-> virtio_blk_data_plane_start
-> vring_setup
-> hostmem_init
-> memory_listener_register
-> BOOM

As virtio-ccw tries to follow what virtio-pci does, it might be triggerable
for other platforms as well.

Signed-off-by: Cornelia Huck <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 79e40ab10e1f4450c11ab8430cb2547146ded639
      
https://github.com/qemu/qemu/commit/79e40ab10e1f4450c11ab8430cb2547146ded639
  Author: Kevin Wolf <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common
    M tests/qemu-iotests/common.config
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.pattern
    M tests/qemu-iotests/common.rc

  Log Message:
  -----------
  qemu-iotests: Whitespace cleanup

These scripts used to have a four characters indentation, with eight
consecutive spaces converted into a tab. Convert everything into spaces.

Signed-off-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 8f94b077877151de93a63c73f796897309568ddb
      
https://github.com/qemu/qemu/commit/8f94b077877151de93a63c73f796897309568ddb
  Author: Kevin Wolf <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M tests/qemu-iotests/026.out
    A tests/qemu-iotests/026.out.nocache
    M tests/qemu-iotests/check

  Log Message:
  -----------
  qemu-iotests: Fixed test case 026

The reference output for test case 026 hasn't been updated in a long
time and it's one of the "known failing" cases. This patch updates the
reference output so that unintentional changes can be reliably detected
again.

The problem with this test case is that it produces different output
depending on whether -nocache is used or not. The solution of this patch
is to actually have two different reference outputs. If nnn.out.nocache
exists, it is used as the reference output for -nocache; otherwise,
nnn.out stays valid for both cases.

Signed-off-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: aa4f082f7526d39dac8e2ca64d192d858014ee10
      
https://github.com/qemu/qemu/commit/aa4f082f7526d39dac8e2ca64d192d858014ee10
  Author: Brad Smith <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M net/tap-bsd.c

  Log Message:
  -----------
  tap: Use numbered tap/tun devices on all *BSD OS's

The following patch simplifies the *BSD tap/tun code and makes use of numbered
tap/tun interfaces on all *BSD OS's. NetBSD has a patch in their pkgsrc tree
to make use of this feature and DragonFly also supports this as well.

Signed-off-by: Brad Smith <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 067404be626d03656788adb7deff8072ca84299f
      
https://github.com/qemu/qemu/commit/067404be626d03656788adb7deff8072ca84299f
  Author: Jan Kiszka <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M include/net/net.h
    M net/hub.c
    M net/net.c

  Log Message:
  -----------
  net: Rename send_queue to incoming_queue

Each networking client has a queue for packets that could not yet be
delivered to that client. Calling this queue "send_queue" is highly
confusing as it has nothing to to with packets send from this client but
to it. Avoid this confusing by renaming it to "incoming_queue".

Signed-off-by: Jan Kiszka <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: e9845f0985f088dd01790f4821026df0afba5795
      
https://github.com/qemu/qemu/commit/e9845f0985f088dd01790f4821026df0afba5795
  Author: Vincenzo Maffione <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/net/e1000.c
    M include/hw/i386/pc.h

  Log Message:
  -----------
  e1000: add interrupt mitigation support

This patch partially implements the e1000 interrupt mitigation mechanisms.
Using a single QEMUTimer, it emulates the ITR register (which is the newer
mitigation register, recommended by Intel) and approximately emulates
RADV and TADV registers. TIDV and RDTR register functionalities are not
emulated (RDTR is only used to validate RADV, according to the e1000 specs).

RADV, TADV, TIDV and RDTR registers make up the older e1000 mitigation
mechanism and would need a timer each to be completely emulated. However,
a single timer has been used in order to reach a good compromise between
emulation accuracy and simplicity/efficiency.

The implemented mechanism can be enabled/disabled specifying the command
line e1000-specific boolean parameter "mitigation", e.g.

    qemu-system-x86_64 -device e1000,mitigation=on,... ...

For more information, see the Software developer's manual at
http://download.intel.com/design/network/manuals/8254x_GBe_SDM.pdf.

Interrupt mitigation boosts performance when the guest suffers from
an high interrupt rate (i.e. receiving short UDP packets at high packet
rate). For some numerical results see the following link
http://info.iet.unipi.it/~luigi/papers/20130520-rizzo-vm.pdf

Signed-off-by: Vincenzo Maffione <address@hidden>
Reviewed-by: Andreas Färber <address@hidden> (for pc-* machines)
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 3dbb9786e9f5fa8429824818b6f799d8f65d1199
      
https://github.com/qemu/qemu/commit/3dbb9786e9f5fa8429824818b6f799d8f65d1199
  Author: Brad Smith <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M hw/net/vmxnet3.h

  Log Message:
  -----------
  vmxnet3: Eliminate __packed redefined warning

This eliminates a warning about __packed being redefined as exposed by the
vmxnet3 code. __packed is not used anywhere in the vmxnet3 code.

  CC    hw/net/vmxnet3.o
In file included from hw/net/vmxnet3.c:29:
hw/net/vmxnet3.h:37:1: warning: "__packed" redefined
In file included from /usr/include/stdlib.h:38,
           from 
/buildbot-qemu/default_openbsd_current/build/include/qemu-common.h:26,
           from /buildbot-qemu/default_openbsd_current/build/include/hw/hw.h:5,
           from hw/net/vmxnet3.c:18:
/usr/include/sys/cdefs.h:209:1: warning: this is the location of the previous 
definition

Signed-off-by: Brad Smith <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 45d883dcf208160e2db308d1b368beb74f37dc7e
      
https://github.com/qemu/qemu/commit/45d883dcf208160e2db308d1b368beb74f37dc7e
  Author: Aurelien Jarno <address@hidden>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M hw/net/ne2000.c

  Log Message:
  -----------
  ne2000: mark I/O as LITTLE_ENDIAN

Now that the memory subsystem is propagating the endianness correctly,
the ne2000 device should have its I/O ports marked as LITTLE_ENDIAN, as
PCI devices are little endian.

This makes the ne2000 NIC to work again on PowerPC.

Cc: address@hidden
Cc: Stefan Hajnoczi <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d
      
https://github.com/qemu/qemu/commit/04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d
  Author: Anthony PERARD <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M hw/i386/pc_piix.c
    M include/hw/xen/xen.h
    M xen-all.c
    M xen-stub.c

  Log Message:
  -----------
  pc: Initializing ram_memory under Xen.

Signed-off-by: Anthony PERARD <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
CC: address@hidden


  Commit: 254c12825f93f405658ca3366cd34f8a8ad23511
      
https://github.com/qemu/qemu/commit/254c12825f93f405658ca3366cd34f8a8ad23511
  Author: Anthony PERARD <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M hw/i386/pc_q35.c

  Log Message:
  -----------
  pc_q35: Initialize Xen.

Signed-off-by: Anthony PERARD <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>


  Commit: 83f73fce4cf18cf36e99f0e78e8e87dfb6b12a71
      
https://github.com/qemu/qemu/commit/83f73fce4cf18cf36e99f0e78e8e87dfb6b12a71
  Author: Tomoki Sekiyama <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M configure
    M rules.mak

  Log Message:
  -----------
  configure: Support configuring C++ compiler

Add configuration for C++ compiler in configure and Makefiles.
The C++ compiler is choosed as following:
 - ${CXX}, if it is specified.
 - ${cross_prefix}g++, if ${cross_prefix} is specified.
 - Otherwise, c++ is used.

Currently, usage of C++ language is only for access to Windows VSS
using COM+ services in qemu-guest-agent for Windows.

Signed-off-by: Tomoki Sekiyama <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Reviewed-by: Micael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 6f88009ee505e1e9fbf6b74b2e2fb3e24cd3411b
      
https://github.com/qemu/qemu/commit/6f88009ee505e1e9fbf6b74b2e2fb3e24cd3411b
  Author: Tomoki Sekiyama <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M hmp.c
    M hw/pci/pci.c
    M scripts/qapi.py

  Log Message:
  -----------
  Add c++ keywords to QAPI helper script

Add c++ keywords to avoid errors in compiling with c++ compiler.
This also renames class member of PciDeviceInfo to q_class.

Signed-off-by: Tomoki Sekiyama <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 69d5d21f90516a8b988a88915865b38e543fc994
      
https://github.com/qemu/qemu/commit/69d5d21f90516a8b988a88915865b38e543fc994
  Author: Tomoki Sekiyama <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  checkpatch.pl: Check .cpp files

Enable checkpatch.pl to apply the same checks as C source files for
C++ files with .cpp extensions. It also adds some exceptions for C++
sources to suppress errors for:
  - <> used in C++ template arguments (e.g. template <class T>)
  - :: used to represent namespaces   (e.g. SomeClass::method())
  - : used in class declaration       (e.g. class T : public Super)
  - ~ used in destructor method name  (e.g. T::~T())
  - spacing around 'catch'            (e.g. catch (...))

Signed-off-by: Tomoki Sekiyama <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 24482749c7d6d7bc0106a43ebac124526fb5b376
      
https://github.com/qemu/qemu/commit/24482749c7d6d7bc0106a43ebac124526fb5b376
  Author: Tomoki Sekiyama <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    A scripts/extract-vsssdk-headers

  Log Message:
  -----------
  Add a script to extract VSS SDK headers on POSIX system

VSS SDK(*) setup.exe is only runnable on Windows. This adds a script
to extract VSS SDK headers on POSIX-systems using msitools.

  * http://www.microsoft.com/en-us/download/details.aspx?id=23490

From: Paolo Bonzini <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Tomoki Sekiyama <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: d9840e2592493c816ad50f4211a9a4ec35371def
      
https://github.com/qemu/qemu/commit/d9840e2592493c816ad50f4211a9a4ec35371def
  Author: Tomoki Sekiyama <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M .gitignore
    M Makefile
    M configure

  Log Message:
  -----------
  qemu-ga: Add configure options to specify path to Windows/VSS SDK

To enable VSS support in qemu-ga for Windows, header files included in
VSS SDK are required.
The VSS support is enabled by the configure option like below:
  ./configure --with-vss-sdk="/path/to/VSS SDK"

If the path is omitted, it tries to search the headers from default paths
and VSS support is enabled only if the SDK is found.
VSS support is disabled if --without-vss-sdk or --with-vss-sdk=no is
specified.

VSS SDK is available from:
  http://www.microsoft.com/en-us/download/details.aspx?id=23490

To cross-compile using mingw, you need to setup the SDK on Windows
environments to extract headers. You can also extract the SDK headers on
POSIX environments using scripts/extract-vss-headers and msitools.

In addition, --with-win-sdk="/path/to/Windows SDK" option is also added to
specify path to Windows SDK, which may be used for native-compile of .tlb
file of qemu-ga VSS provider. However, this is usually unnecessary because
pre-compiled .tlb file is included.

Signed-off-by: Tomoki Sekiyama <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 20840d4cfe5198cde313ac953279e76f16c5b76d
      
https://github.com/qemu/qemu/commit/20840d4cfe5198cde313ac953279e76f16c5b76d
  Author: Tomoki Sekiyama <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M include/qapi/error.h
    M util/error.c

  Log Message:
  -----------
  error: Add error_set_win32 and error_setg_win32

These functions help maintaining homogeneous formatting of error messages
with Windows error code and description (generated by
g_win32_error_message()).

Signed-off-by: Tomoki Sekiyama <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: b39297aedfabe9b2c426cd540413be991500da25
      
https://github.com/qemu/qemu/commit/b39297aedfabe9b2c426cd540413be991500da25
  Author: Tomoki Sekiyama <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M Makefile
    M Makefile.objs
    M configure
    M qga/Makefile.objs
    A qga/vss-win32/Makefile.objs
    A qga/vss-win32/install.cpp
    A qga/vss-win32/provider.cpp
    A qga/vss-win32/qga-vss.def
    A qga/vss-win32/qga-vss.idl
    A qga/vss-win32/qga-vss.tlb
    A qga/vss-win32/requester.cpp
    A qga/vss-win32/requester.h
    A qga/vss-win32/vss-common.h

  Log Message:
  -----------
  qemu-ga: Add Windows VSS provider and requester as DLL

Adds VSS provider and requester as a qga-vss.dll, which is loaded by
Windows VSS service as well as by qemu-ga.

"provider.cpp" implements a basic stub of a software VSS provider.
Currently, this module only relays a frozen event from VSS service to the
agent, and thaw event from the agent to VSS service, to block VSS process
to keep the system frozen while snapshots are taken at the host.

To register the provider to the guest system as COM+ application, the type
library (.tlb) for qga-vss.dll is required. To build it from COM IDL (.idl),
VisualC++, MIDL and stdole2.tlb in Windows SDK are required. This patch also
adds pre-compiled .tlb file in the repository in order to enable
cross-compile qemu-ga.exe for Windows with VSS support.

"requester.cpp" provides the VSS requester to kick the VSS snapshot process.
Qemu-ga.exe works without the DLL, although fsfreeze features are disabled.

These functions are only supported in Windows 2003 or later. In older
systems, fsfreeze features are disabled.

In several versions of Windows which don't support attribute
VSS_VOLSNAP_ATTR_NO_AUTORECOVERY, DoSnapshotSet fails with error
VSS_E_OBJECT_NOT_FOUND. In this patch, we just ignore this error.
To solve this fundamentally, we need a framework to handle mount writable
snapshot on guests, which is required by VSS auto-recovery feature
(cleanup phase after a snapshot is taken).

Signed-off-by: Tomoki Sekiyama <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 64c003174039d0c63ea2bef48d600363ce80a58b
      
https://github.com/qemu/qemu/commit/64c003174039d0c63ea2bef48d600363ce80a58b
  Author: Tomoki Sekiyama <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M qga/Makefile.objs
    M qga/commands-win32.c
    A qga/vss-win32.c
    A qga/vss-win32.h

  Log Message:
  -----------
  qemu-ga: Call Windows VSS requester in fsfreeze command handler

Support guest-fsfreeze-freeze and guest-fsfreeze-thaw commands for Windows
guests. When fsfreeze command is issued, it calls the VSS requester to
freeze filesystems and applications. On thaw command, it again tells the VSS
requester to thaw them.

This also adds calling of initialize functions for the VSS requester.

Signed-off-by: Tomoki Sekiyama <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: f311f2c20a1e33c1e5fdb50ee21e69a5bf26c950
      
https://github.com/qemu/qemu/commit/f311f2c20a1e33c1e5fdb50ee21e69a5bf26c950
  Author: Tomoki Sekiyama <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M qga/main.c
    M qga/vss-win32.c
    M qga/vss-win32.h

  Log Message:
  -----------
  qemu-ga: Install Windows VSS provider on `qemu-ga -s install'

Register QGA VSS provider library into Windows when qemu-ga is installed as
Windows service ('-s install' option). It is deregistered when the service
is uninstalled ('-s uninstall' option).

Signed-off-by: Tomoki Sekiyama <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: e2682db06a6c218f149ff990959c31f3b3d82003
      
https://github.com/qemu/qemu/commit/e2682db06a6c218f149ff990959c31f3b3d82003
  Author: Tomoki Sekiyama <address@hidden>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M QMP/qemu-ga-client

  Log Message:
  -----------
  QMP/qemu-ga-client: Make timeout longer for guest-fsfreeze-freeze command

guest-fsfreeze-freeze command can take longer than 3 seconds when heavy
disk I/O is running. To avoid unexpected timeout, this changes the timeout
to 60 seconds (timeout of pre-commit phase of VSS).

Signed-off-by: Tomoki Sekiyama <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 6735aa99a43c70c09b53af190b24600a61178b95
      
https://github.com/qemu/qemu/commit/6735aa99a43c70c09b53af190b24600a61178b95
  Author: Christophe Fergeau <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M ui/spice-core.c

  Log Message:
  -----------
  spice-core: Use g_strdup_printf instead of snprintf

Several places in spice-core.c were using either g_malloc+snprintf
or snprintf+g_strdup to achieve the same result as g_strdup_printf.

Signed-off-by: Christophe Fergeau <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 18b203850a859f1d4688baa8a0ddb8e7af55962f
      
https://github.com/qemu/qemu/commit/18b203850a859f1d4688baa8a0ddb8e7af55962f
  Author: Gerd Hoffmann <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M hw/display/qxl.c
    M trace-events

  Log Message:
  -----------
  qxl: trace io port name

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: c58c7b959b93b864a27fd6b3646ee1465ab8832b
      
https://github.com/qemu/qemu/commit/c58c7b959b93b864a27fd6b3646ee1465ab8832b
  Author: Gerd Hoffmann <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M hw/display/qxl-render.c

  Log Message:
  -----------
  qxl: fix local renderer

The local spice renderer assumes the primary surface is located at the
start of the "ram" bar.  This used to be a requirement in qxl hardware
revision 1.  In revision 2+ this is relaxed.  Nevertheless guest drivers
continued to use the traditional location, for historical and backward
compatibility reasons.  The qxl kms driver doesn't though as it depends
on qxl revision 4+ anyway.

Result is that local rendering is hosed for recent linux guests, you'll
get pixel garbage with non-spice ui (gtk, sdl, vnc) and when doing
screendumps.  Fix that by doing a proper mapping of the guest-specified
memory location.

https://bugzilla.redhat.com/show_bug.cgi?id=948717

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: c60174e847082ab9f70720f86509a3353f816fad
      
https://github.com/qemu/qemu/commit/c60174e847082ab9f70720f86509a3353f816fad
  Author: Gerd Hoffmann <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M hw/usb/bus.c

  Log Message:
  -----------
  usb: sanity check setup_index+setup_len in post_load

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 644e1a8a34d2f799bfeefae94b71593a2aa662ae
      
https://github.com/qemu/qemu/commit/644e1a8a34d2f799bfeefae94b71593a2aa662ae
  Author: Miroslav Rezanina <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M hw/bt/core.c
    M hw/bt/hci.c
    M include/hw/bt.h
    M vl.c

  Log Message:
  -----------
  Preparation for usb-bt-dongle conditional build

To allow disable usb-bt-dongle device using CONFIG_BLUETOOTH option, some of
functions in vl.c file has to be made accessible in dev-bluetooth.c. This is
pure code moving.

Signed-off-by: Miroslav Rezanina <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 615fe4de4b3c26619611078960d3103550bde7d0
      
https://github.com/qemu/qemu/commit/615fe4de4b3c26619611078960d3103550bde7d0
  Author: Miroslav Rezanina <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M hw/usb/Makefile.objs
    M hw/usb/dev-bluetooth.c
    M include/hw/usb.h
    M vl.c

  Log Message:
  -----------
  Remove dev-bluetooth.c dependency from vl.c

Use usb_legacy_register handling to create bt-dongle device and remove code
dependency from vl.c so CONFIG_USB_BLUETOOTH can be disabled.

Signed-off-by: Miroslav Rezanina <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: adbecc89731cf3e0ae656d50ea9fa58c589c4bdc
      
https://github.com/qemu/qemu/commit/adbecc89731cf3e0ae656d50ea9fa58c589c4bdc
  Author: Gerd Hoffmann <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M hw/usb/hcd-ehci.c
    M hw/usb/hcd-ehci.h

  Log Message:
  -----------
  ehci: save device pointer in EHCIState

We'll need a pointer to the actual pci/sysbus device,
stick a pointer to it into the EHCIState struct.

https://bugzilla.redhat.com/show_bug.cgi?id=1005495

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 02dc4bf5684d3fb46786fab2ecff98214b1df9fe
      
https://github.com/qemu/qemu/commit/02dc4bf5684d3fb46786fab2ecff98214b1df9fe
  Author: Cole Robinson <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M scripts/qapi-types.py

  Log Message:
  -----------
  qapi-types.py: Fix enum struct sizes on i686

Unlike other list types, enum wasn't adding any padding, which caused
a mismatch between the generated struct size and GenericList struct
size. More details in a678e26cbe89f7a27cbce794c2c2784571ee9d21

This crashed qemu if calling qmp query-tpm-types for example, which
upsets libvirt capabilities probing. Reproducer on i686:

(sleep 5; printf 
'{"execute":"qmp_capabilities"}\n{"execute":"query-tpm-types"}\n') | 
./i386-softmmu/qemu-system-i386 -S -nodefaults -nographic -M none -qmp stdio

https://bugs.launchpad.net/qemu/+bug/1219207

Cc: address@hidden
Signed-off-by: Cole Robinson <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Tested-by: Richard W.M. Jones <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>


  Commit: f5f6d38b7458b8a1a46a750ac131ca8a2d45d946
      
https://github.com/qemu/qemu/commit/f5f6d38b7458b8a1a46a750ac131ca8a2d45d946
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/cpu.c

  Log Message:
  -----------
  target-arm: Make '-cpu any' available in linux-user mode only

Make the 'any' CPU for target-arm available only in linux-user mode.
The ARM target provides a CPU named "any", which turns on support for
all user-level instruction set extensions we know about. This is
intended for linux-user emulation mode, where it is the default CPU type.
It makes no sense to try to use this for system emulation, since we don't
initialize it with any system-level information like feature register
values or implementation specific cp15 registers. (Unsurprisingly, some
boards won't boot at all, though you might get lucky in some cases where
the guest doesn't happen to prod things that aren't there.)

Prevent users from making this command line error by removing the
CPU definition from the softmmu build.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>
Message-id: address@hidden


  Commit: 534df156090539854c2ac819dcdb096d01dab5c1
      
https://github.com/qemu/qemu/commit/534df156090539854c2ac819dcdb096d01dab5c1
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Use sextract32() in branch decode

In the decode of ARM B and BL insns, swap the order of the
"append 2 implicit zeros to imm24" and the sign extend, and
use the new sextract32() utility function to do the latter.
This avoids a direct dependency on the undefined C behaviour
of shifting into the sign bit of an integer.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-id: address@hidden


  Commit: 78dbbbe4dff95369c63bf77ee0df23371e1d6602
      
https://github.com/qemu/qemu/commit/78dbbbe4dff95369c63bf77ee0df23371e1d6602
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: Avoid "1 << 31" undefined behaviour

Avoid the undefined behaviour of "1 << 31" by using 1U to make
the shift be of an unsigned value rather than shifting into the
sign bit of a signed integer. For consistency, we make all the
CPSR_* constants unsigned, though the only one which triggers
undefined behaviour is CPSR_N.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-id: address@hidden


  Commit: f62cafd4c87fad7bb9b9544b4cf4991d34764b11
      
https://github.com/qemu/qemu/commit/f62cafd4c87fad7bb9b9544b4cf4991d34764b11
  Author: Sebastian Ottlik <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/cpu.c

  Log Message:
  -----------
  target-arm: fix ARMv7M stack alignment on reset

When the initial SP is loaded from the vector table on ARMv7M systems the two
least significant bits are ignored as the stack is always aligned at a four byte
boundary (see ARM DDI 0403C, B1.4.1 and B1.5.5). So far QEMU did not ignore
these bits leading to a stack alignment inconsitent with real hardware for
binaries that rely on this behaviour. This patch fixes this issue by masking the
two least significant bits when loading the SP.

Signed-off-by: Sebastian Ottlik <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 78027bb6d9111c8ccd515930cfa05d7f532ecb2a
      
https://github.com/qemu/qemu/commit/78027bb6d9111c8ccd515930cfa05d7f532ecb2a
  Author: Cole Robinson <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: Implement qmp query-cpu-definitions

Libvirt uses this to introspect available CPU models.

Signed-off-by: Cole Robinson <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 031c44e4deedbd7829703654e381ca0b18e78a12
      
https://github.com/qemu/qemu/commit/031c44e4deedbd7829703654e381ca0b18e78a12
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M hw/display/pl110.c

  Log Message:
  -----------
  pl110: Clarify comment about PL110 ID on VersatilePB

Clarify a comment about the ID register value presented by
the PL110 variant present on the VersatilePB board (based
on testing what the actual hardware does), to indicate that
this is not an error in our emulation, and to remove an #if-0.

Signed-off-by: Peter Maydell <address@hidden>


  Commit: 4d017979aa1672b40ccc083daf455f8740eead82
      
https://github.com/qemu/qemu/commit/4d017979aa1672b40ccc083daf455f8740eead82
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M include/exec/user/abitypes.h

  Log Message:
  -----------
  abitypes.h: Remove incorrect ARM ABI_LLONG_ALIGNMENT

The ARM EABI specifies that 64 bit integers should be
8 aligned; remove our incorrect setting of 4 alignment.
This has no actual effect since it only set the alignment
for the 'abi_ullong' and 'abi_llong' types, which are used
only inside code which is MIPS-specific, but it will
avoid problems later if we use the types elsewhere.

Signed-off-by: Peter Maydell <address@hidden>


  Commit: 08307563ff6cf8cb8d2a7927804dfc5c7dbe86d6
      
https://github.com/qemu/qemu/commit/08307563ff6cf8cb8d2a7927804dfc5c7dbe86d6
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Abstract out load/store from a vaddr in AArch32

AArch32 code (ie traditional 32 bit world) expects to be
able to pass a vaddr in a TCGv_i32. However when QEMU is
compiled with TARGET_LONG_BITS=32 the TCG load/store
functions take a TCGv_i64. Abstract out load/store with
a 32 bit vaddr so we have a place to put the zero extension
of the vaddr and the extension/truncation of the data value.

Apart from the function definitions most of this patch is
a simple s/tcg_gen_qemu_/gen_aa32_/.

Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden


  Commit: f570c61e694d78fc2f6717f4fbb7e820bf72d8dc
      
https://github.com/qemu/qemu/commit/f570c61e694d78fc2f6717f4fbb7e820bf72d8dc
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/translate.c
    A target-arm/translate.h

  Log Message:
  -----------
  target-arm: Extract the disas struct to a header file

We will need to share the disassembly status struct between AArch32 and
AArch64 modes. So put it into a header file that both sides can use.

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 3407ad0e7a6f04905fc6a8ea72be03553e777988
      
https://github.com/qemu/qemu/commit/3407ad0e7a6f04905fc6a8ea72be03553e777988
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/translate.c
    M target-arm/translate.h

  Log Message:
  -----------
  target-arm: Export cpu_env

The cpu_env tcg variable will be used by both the AArch32 and AArch64
handling code. Unstaticify it, so that both sides can make use of it.

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 0a2461fa49e4d2aeb846390e1eb1bdb9e8196ca4
      
https://github.com/qemu/qemu/commit/0a2461fa49e4d2aeb846390e1eb1bdb9e8196ca4
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/cpu.h
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Fix target_ulong/uint32_t confusions

Correct a few places that were using uint32_t or a 32 bit
only format string to handle something that should be a target_ulong.

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
[PMM: split out to separate patch; added gen_goto_tb() and
gen_set_pc_im() dest params to list of things to change.]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: eaed129deaea393640cf6bff006cd5cec3b38d8f
      
https://github.com/qemu/qemu/commit/eaed129deaea393640cf6bff006cd5cec3b38d8f
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Pass DisasContext* to gen_set_pc_im()

We want gen_set_pc_im() to work for both AArch64 and AArch32, but
to do this we'll need the DisasContext* so we can tell which mode
we're in, so pass it in as a parameter.

Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden


  Commit: d14d42f19bf3dcef5c81ec2324843121f552a6fc
      
https://github.com/qemu/qemu/commit/d14d42f19bf3dcef5c81ec2324843121f552a6fc
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/Makefile.objs
    M target-arm/cpu-qom.h
    A target-arm/cpu64.c

  Log Message:
  -----------
  target-arm: Add new AArch64CPUInfo base class and subclasses

Create a new AArch64CPU class; all 64-bit capable ARM
CPUs are subclasses of this. (Currently we only support
one, the "any" CPU used by linux-user.)

Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden


  Commit: 15ee776bf2001883781cc83d456249a60532bb01
      
https://github.com/qemu/qemu/commit/15ee776bf2001883781cc83d456249a60532bb01
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/cpu.c

  Log Message:
  -----------
  target-arm: Disable 32 bit CPUs in 64 bit linux-user builds

If we're building aarch64-linux-user then the 32 bit CPUs are
all unwanted, because they can't possibly execute the 64 bit
binaries we will be running; disable them.

Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden


  Commit: 3926cc8433542e8c9b7cdc438355fb7660838fd0
      
https://github.com/qemu/qemu/commit/3926cc8433542e8c9b7cdc438355fb7660838fd0
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/cpu.c
    M target-arm/cpu.h
    M target-arm/machine.c
    M target-arm/translate.c
    M target-arm/translate.h

  Log Message:
  -----------
  target-arm: Prepare translation for AArch64 code

This patch adds all the prerequisites for AArch64 support that didn't
fit into split up patches. It extends important bits in the core cpu
headers to also take AArch64 mode into account.

Add new ARM_TBFLAG_AARCH64_STATE translation buffer flag
indicate an ARMv8 cpu running in aarch64 mode vs aarch32 mode.

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
[PMM:
 * rearranged tbflags so AArch64? is bit 31 and if it is set then
  30..0 are freely available for whatever makes most sense for that mode
 * added version bump since we change VFP migration state
 * added a comment about how VFP/Neon register state works
 * physical address space is 48 bits, not 64
 * added ARM_FEATURE_AARCH64 flag to identify 64-bit capable CPUs
]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 14ade10f840deec02d32530e5a64bd5ec275adbd
      
https://github.com/qemu/qemu/commit/14ade10f840deec02d32530e5a64bd5ec275adbd
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M target-arm/Makefile.objs
    M target-arm/cpu-qom.h
    M target-arm/cpu64.c
    A target-arm/translate-a64.c
    M target-arm/translate.c
    M target-arm/translate.h

  Log Message:
  -----------
  target-arm: Add AArch64 translation stub

We should translate AArch64 mode separately from AArch32 mode. In AArch64 mode,
registers look vastly different, instruction encoding is completely different,
basically the system turns into a different machine.

So let's do a simple if() in translate.c to decide whether we can handle the
current code in the legacy AArch32 code or in the new AArch64 code.

So far, the translation always complains about unallocated instructions. There
is no emulator functionality in this patch!

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
[PMM:
 * provide no-op versions of a64 functions ifndef TARGET_AARCH64;
   this lets us avoid #ifdefs in translate.c
 * insert the missing call to disas_a64_insn()
 * stash the insn in the DisasContext rather than reloading it in
   real_unallocated_encoding()
]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 96c04212ba80d4f9630a5e82681285eeb41af9cc
      
https://github.com/qemu/qemu/commit/96c04212ba80d4f9630a5e82681285eeb41af9cc
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    A gdb-xml/aarch64-core.xml
    M target-arm/Makefile.objs
    M target-arm/cpu-qom.h
    M target-arm/cpu64.c
    A target-arm/gdbstub64.c

  Log Message:
  -----------
  target-arm: Add AArch64 gdbstub support

We want to be able to debug AArch64 guests. So let's add the respective gdb
stub functions and xml descriptions that allow us to do so.

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
[PMM: dropped unused fp regs XML for now; moved 64 bit only functions
 to new gdbstub64.c; these are hooked up in AArch64CPU, not via
 ifdefs in ARMCPU]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 067d983127da5c05a365230b12f2f557ec721c97
      
https://github.com/qemu/qemu/commit/067d983127da5c05a365230b12f2f557ec721c97
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M linux-user/cpu-uname.c

  Log Message:
  -----------
  linux-user: Don't treat AArch64 cpu names specially

32-bit ARM has a lot of different names for different types of CPUs it supports.
On AArch64, we don't have this, so we really don't want to execute the 32-bit
logic. Stub it out for AArch64 linux-user guests.

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 1861c4543ffa6224d0661036afaa7ec1cf30e8bb
      
https://github.com/qemu/qemu/commit/1861c4543ffa6224d0661036afaa7ec1cf30e8bb
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M linux-user/main.c

  Log Message:
  -----------
  linux-user: Add cpu loop for AArch64

Add the main linux-user cpu loop for AArch64. Since AArch64
has a different system call interface, doesn't need to worry
about FPA emulation and may in the future keep the prefetch/data
abort information in different system registers, it's simplest
just to use a completely separate loop from the 32 bit ARM
target, rather than peppering it with ifdefs.

Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden


  Commit: c7907301e7df9623bc5216934e30125ce66cfaea
      
https://github.com/qemu/qemu/commit/c7907301e7df9623bc5216934e30125ce66cfaea
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    A linux-user/aarch64/syscall_nr.h

  Log Message:
  -----------
  linux-user: Add syscall number definitions for AArch64

The AArch64 syscall definitions are all publicly available in the Linux
kernel. Let's add them to our linux-user emulation target, so that we
can easily handle AArch64 syscalls.

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
[PMM: changes relating to cpu_loop() removed as they are superseded
 by an earlier patch]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 09701199f6d87ebfe609776156108c6dec812cde
      
https://github.com/qemu/qemu/commit/09701199f6d87ebfe609776156108c6dec812cde
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M linux-user/syscall.c
    M linux-user/syscall_defs.h

  Log Message:
  -----------
  linux-user: Fix up AArch64 syscall handlers

Some syscall handlers have special code for ARM enabled that we don't
need on AArch64. Exclude AArch64 in those cases. In other places we
can share struct definitions with other targets or have to provide our
own.

With this patch applied, most syscall definitions in linux-user should
be sound for AArch64.

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 1744aea182d0fe20e190d037ccf225cbe05e96ae
      
https://github.com/qemu/qemu/commit/1744aea182d0fe20e190d037ccf225cbe05e96ae
  Author: Andreas Schwab <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    A linux-user/aarch64/target_signal.h
    M linux-user/signal.c

  Log Message:
  -----------
  linux-user: Add signal handling for AArch64

This patch adds signal handling for AArch64. The code is based on the
respective source in the Linux kernel.

Signed-off-by: Andreas Schwab <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
[PMM: fixed style nits: tabs, long lines;
 pulled target_signal.h in from a later patch; it fits better here]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 848d72cdd894e3a883118fd0f1ede14ff66bfa21
      
https://github.com/qemu/qemu/commit/848d72cdd894e3a883118fd0f1ede14ff66bfa21
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M linux-user/qemu.h

  Log Message:
  -----------
  linux-user: Make sure NWFPE code is 32 bit ARM only

On ARM, linux-user emulation includes NWFPE support for emulating the
ancient FPA floating point coprocessor. This has long since been
superseded by VFP and is only required for legacy binaries. The
AArch64 linux-user target doesn't compile in NWFPE support, so make
sure the relevant code is protected by suitable ifdefs.

Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden


  Commit: e2cea499cc2e8da5b2d5753625d2c57685193783
      
https://github.com/qemu/qemu/commit/e2cea499cc2e8da5b2d5753625d2c57685193783
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    A linux-user/aarch64/target_cpu.h

  Log Message:
  -----------
  linux-user: Implement cpu_set_tls() and cpu_clone_regs() for AArch64

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
[PMM: pulled out from another patch; don't use is_a64() here;
 moved to linux-user from target-arm]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: af89c7dba52c509bdb72714139aadbe21a133f6e
      
https://github.com/qemu/qemu/commit/af89c7dba52c509bdb72714139aadbe21a133f6e
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    A linux-user/aarch64/termbits.h

  Log Message:
  -----------
  linux-user: Add AArch64 termbits.h definitions

Add the AArch64 termbits.h with all the target's termios related
constants and structures.

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
[PMM: split out from another patch]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 4a24a758101ff726c9bd3b867e12d5580c793af0
      
https://github.com/qemu/qemu/commit/4a24a758101ff726c9bd3b867e12d5580c793af0
  Author: Peter Maydell <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M linux-user/main.c
    M linux-user/qemu.h
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: Allow targets to specify a minimum uname release

For newer target architectures, glibc can be picky about the kernel
version: for example, it will not run on an aarch64 system unless
the kernel reports itself as at least 3.8.0. Accommodate this by
enhancing the existing support for faking the kernel version so
that each target can optionally specify a minimum version: if
the user doesn't force a specific fake version then we will override
with the minimum required version only if the real host kernel
version is insufficient.

Use this facility to let aarch64 report a minimum of 3.8.0.

Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden


  Commit: 99033caee6e9b339c89a368b5ed1f73ef17924a9
      
https://github.com/qemu/qemu/commit/99033caee6e9b339c89a368b5ed1f73ef17924a9
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    A linux-user/aarch64/syscall.h
    M linux-user/elfload.c
    M linux-user/main.c

  Log Message:
  -----------
  linux-user: Add AArch64 support

This patch adds support for AArch64 in all the small corners of
linux-user (primarily in image loading and startup code).

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
[PMM:
 * removed some unnecessary #defines from syscall.h
 * catch attempts to use a 32 bit only cpu with aarch64-linux-user
 * termios stuff moved into its own patch
 * we specify our minimum uname version here now
]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: 6a49fa95c98cd155f7aaf48e5c6fa6bb6adea862
      
https://github.com/qemu/qemu/commit/6a49fa95c98cd155f7aaf48e5c6fa6bb6adea862
  Author: Alexander Graf <address@hidden>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Add handling code for AArch64 targets

Add the necessary code to configure to handle AArch64 as a target
CPU (we already have some code for supporting it as host). Note
that this doesn't enable the AArch64 targets yet.

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
[PMM:
 * don't need to set TARGET_ABI_DIR to aarch64 as that is the default
 * don't build nwfpe -- this is 32 bit legacy only
 * rewrite commit message
 * add aarch64 to the list of "fdt required" targets
]
Signed-off-by: Peter Maydell <address@hidden>


  Commit: ce2b69417caae3731fb50f67854afa006f624a2d
      
https://github.com/qemu/qemu/commit/ce2b69417caae3731fb50f67854afa006f624a2d
  Author: Anthony Liguori <address@hidden>
  Date:   2013-09-11 (Wed, 11 Sep 2013)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/net/e1000.c
    M hw/net/ne2000.c
    M hw/net/vmxnet3.h
    M include/hw/i386/pc.h
    M include/net/net.h
    M net/hub.c
    M net/net.c
    M net/tap-bsd.c

  Log Message:
  -----------
  Merge remote-tracking branch 'stefanha/net' into staging

# By Brad Smith (2) and others
# Via Stefan Hajnoczi
* stefanha/net:
  ne2000: mark I/O as LITTLE_ENDIAN
  vmxnet3: Eliminate __packed redefined warning
  e1000: add interrupt mitigation support
  net: Rename send_queue to incoming_queue
  tap: Use numbered tap/tun devices on all *BSD OS's

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 964737ea195de1560f3bcf55b8b6d4f7d0d4a619
      
https://github.com/qemu/qemu/commit/964737ea195de1560f3bcf55b8b6d4f7d0d4a619
  Author: Anthony Liguori <address@hidden>
  Date:   2013-09-11 (Wed, 11 Sep 2013)

  Changed paths:
    M QMP/qmp-events.txt
    M block-migration.c
    M block.c
    M block/backup.c
    M block/blkverify.c
    M block/commit.c
    M block/cow.c
    M block/iscsi.c
    M block/mirror.c
    M block/qapi.c
    M block/qcow.c
    M block/qcow2.c
    M block/qed.c
    M block/raw-posix.c
    M block/raw-win32.c
    M block/raw_bsd.c
    M block/sheepdog.c
    M block/snapshot.c
    M block/stream.c
    M block/vdi.c
    M block/vmdk.c
    M block/vvfat.c
    M blockdev-nbd.c
    M blockdev.c
    M blockjob.c
    M hmp.c
    M hw/block/dataplane/virtio-blk.c
    M hw/block/xen_disk.c
    M include/block/block.h
    M include/block/block_int.h
    A include/qemu/throttle.h
    M nbd.c
    M qapi-schema.json
    M qemu-img-cmds.hx
    M qemu-img.c
    M qemu-img.texi
    M qemu-io-cmds.c
    M qemu-io.c
    M qemu-options.hx
    M qmp-commands.hx
    M tests/Makefile
    M tests/qemu-iotests/026.out
    A tests/qemu-iotests/026.out.nocache
    M tests/qemu-iotests/039.out
    A tests/qemu-iotests/063
    A tests/qemu-iotests/063.out
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common
    M tests/qemu-iotests/common.config
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.pattern
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/group
    M tests/test-aio.c
    A tests/test-throttle.c
    M util/Makefile.objs
    A util/throttle.c

  Log Message:
  -----------
  Merge remote-tracking branch 'stefanha/block' into staging

# By Paolo Bonzini (21) and others
# Via Stefan Hajnoczi
* stefanha/block: (42 commits)
  qemu-iotests: Fixed test case 026
  qemu-iotests: Whitespace cleanup
  dataplane: Fix startup race.
  block: look for zero blocks in bs->file
  block: add default get_block_status implementation for protocols
  raw-posix: report unwritten extents as zero
  raw-posix: return get_block_status data and flags
  docs, qapi: document qemu-img map
  qemu-img: add a "map" subcommand
  block: return BDRV_BLOCK_ZERO past end of backing file
  block: use bdrv_has_zero_init to return BDRV_BLOCK_ZERO
  block: return get_block_status data and flags for formats
  block: define get_block_status return value
  block: introduce bdrv_get_block_status API
  block: make bdrv_has_zero_init return false for copy-on-write-images
  qemu-img: always probe the input image for allocated sectors
  block: expect errors from bdrv_co_is_allocated
  block: remove bdrv_is_allocated_above/bdrv_co_is_allocated_above distinction
  block: do not use ->total_sectors in bdrv_co_is_allocated
  block: make bdrv_co_is_allocated static
  ...

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 97fdb9410bb5398fd33f51a37e637d697ace9f73
      
https://github.com/qemu/qemu/commit/97fdb9410bb5398fd33f51a37e637d697ace9f73
  Author: Anthony Liguori <address@hidden>
  Date:   2013-09-11 (Wed, 11 Sep 2013)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M include/hw/xen/xen.h
    M xen-all.c
    M xen-stub.c

  Log Message:
  -----------
  Merge remote-tracking branch 'sstabellini/xen-2013-09-09' into staging

# By Anthony PERARD
# Via Stefano Stabellini
* sstabellini/xen-2013-09-09:
  pc_q35: Initialize Xen.
  pc: Initializing ram_memory under Xen.

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: f69f0bcac951f3c3089246695874b84ea8967936
      
https://github.com/qemu/qemu/commit/f69f0bcac951f3c3089246695874b84ea8967936
  Author: Anthony Liguori <address@hidden>
  Date:   2013-09-11 (Wed, 11 Sep 2013)

  Changed paths:
    M .gitignore
    M Makefile
    M Makefile.objs
    M QMP/qemu-ga-client
    M configure
    M hmp.c
    M hw/mips/mips_malta.c
    M hw/pci/pci.c
    M include/qapi/error.h
    M qga/Makefile.objs
    M qga/commands-win32.c
    M qga/main.c
    A qga/vss-win32.c
    A qga/vss-win32.h
    A qga/vss-win32/Makefile.objs
    A qga/vss-win32/install.cpp
    A qga/vss-win32/provider.cpp
    A qga/vss-win32/qga-vss.def
    A qga/vss-win32/qga-vss.idl
    A qga/vss-win32/qga-vss.tlb
    A qga/vss-win32/requester.cpp
    A qga/vss-win32/requester.h
    A qga/vss-win32/vss-common.h
    M rules.mak
    M scripts/checkpatch.pl
    A scripts/extract-vsssdk-headers
    M scripts/qapi.py
    M util/error.c

  Log Message:
  -----------
  Merge remote-tracking branch 'mdroth/qga-pull-2013-9-9' into staging

# By Tomoki Sekiyama (10) and Paul Burton (1)
# Via Michael Roth
* mdroth/qga-pull-2013-9-9:
  QMP/qemu-ga-client: Make timeout longer for guest-fsfreeze-freeze command
  qemu-ga: Install Windows VSS provider on `qemu-ga -s install'
  qemu-ga: Call Windows VSS requester in fsfreeze command handler
  qemu-ga: Add Windows VSS provider and requester as DLL
  error: Add error_set_win32 and error_setg_win32
  qemu-ga: Add configure options to specify path to Windows/VSS SDK
  Add a script to extract VSS SDK headers on POSIX system
  checkpatch.pl: Check .cpp files
  Add c++ keywords to QAPI helper script
  configure: Support configuring C++ compiler
  mips_malta: support up to 2GiB RAM

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: a640f07c0d03bfa3031af1fc0a32b0d779917d17
      
https://github.com/qemu/qemu/commit/a640f07c0d03bfa3031af1fc0a32b0d779917d17
  Author: Anthony Liguori <address@hidden>
  Date:   2013-09-11 (Wed, 11 Sep 2013)

  Changed paths:
    M hw/bt/core.c
    M hw/bt/hci.c
    M hw/usb/Makefile.objs
    M hw/usb/bus.c
    M hw/usb/dev-bluetooth.c
    M hw/usb/hcd-ehci.c
    M hw/usb/hcd-ehci.h
    M include/hw/bt.h
    M include/hw/usb.h
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'kraxel/usb.89' into staging

# By Gerd Hoffmann (2) and Miroslav Rezanina (2)
# Via Gerd Hoffmann
* kraxel/usb.89:
  ehci: save device pointer in EHCIState
  Remove dev-bluetooth.c dependency from vl.c
  Preparation for usb-bt-dongle conditional build
  usb: sanity check setup_index+setup_len in post_load

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: d985bd4d55555a06c4239eadba4e367880e938ba
      
https://github.com/qemu/qemu/commit/d985bd4d55555a06c4239eadba4e367880e938ba
  Author: Anthony Liguori <address@hidden>
  Date:   2013-09-11 (Wed, 11 Sep 2013)

  Changed paths:
    M hw/display/qxl-render.c
    M hw/display/qxl.c
    M trace-events
    M ui/spice-core.c

  Log Message:
  -----------
  Merge remote-tracking branch 'spice/spice.v73' into staging

# By Gerd Hoffmann (2) and Christophe Fergeau (1)
# Via Gerd Hoffmann
* spice/spice.v73:
  qxl: fix local renderer
  qxl: trace io port name
  spice-core: Use g_strdup_printf instead of snprintf

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 6f52e51bb7706562634e5dd2755a1e9b8a5037cc
      
https://github.com/qemu/qemu/commit/6f52e51bb7706562634e5dd2755a1e9b8a5037cc
  Author: Anthony Liguori <address@hidden>
  Date:   2013-09-11 (Wed, 11 Sep 2013)

  Changed paths:
    M scripts/qapi-types.py

  Log Message:
  -----------
  Merge remote-tracking branch 'luiz/queue/qmp' into staging

# By Cole Robinson
# Via Luiz Capitulino
* luiz/queue/qmp:
  qapi-types.py: Fix enum struct sizes on i686

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 2d1fe1873a984d1c2c89ffa3d12949cafc718551
      
https://github.com/qemu/qemu/commit/2d1fe1873a984d1c2c89ffa3d12949cafc718551
  Author: Anthony Liguori <address@hidden>
  Date:   2013-09-11 (Wed, 11 Sep 2013)

  Changed paths:
    M configure
    A gdb-xml/aarch64-core.xml
    M hw/display/pl110.c
    M include/exec/user/abitypes.h
    A linux-user/aarch64/syscall.h
    A linux-user/aarch64/syscall_nr.h
    A linux-user/aarch64/target_cpu.h
    A linux-user/aarch64/target_signal.h
    A linux-user/aarch64/termbits.h
    M linux-user/cpu-uname.c
    M linux-user/elfload.c
    M linux-user/main.c
    M linux-user/qemu.h
    M linux-user/signal.c
    M linux-user/syscall.c
    M linux-user/syscall_defs.h
    M target-arm/Makefile.objs
    M target-arm/cpu-qom.h
    M target-arm/cpu.c
    M target-arm/cpu.h
    A target-arm/cpu64.c
    A target-arm/gdbstub64.c
    M target-arm/helper.c
    M target-arm/machine.c
    A target-arm/translate-a64.c
    M target-arm/translate.c
    A target-arm/translate.h

  Log Message:
  -----------
  Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130910' into 
staging

ARM queue:
 * aarch64 preparation patchset (excluding the defconfigs, so this
   doesn't actually enable the new targets yet)
 * minor bugfixes and cleanups
 * disable "-cpu any" in system emulation mode
 * fix ARMv7M stack alignment on reset

# gpg: Signature made Tue 10 Sep 2013 01:46:11 PM CDT using RSA key ID 14360CDE
# gpg: Can't check signature: public key not found

# By Alexander Graf (13) and others
# Via Peter Maydell
* pmaydell/tags/pull-target-arm-20130910: (28 commits)
  configure: Add handling code for AArch64 targets
  linux-user: Add AArch64 support
  linux-user: Allow targets to specify a minimum uname release
  linux-user: Add AArch64 termbits.h definitions
  linux-user: Implement cpu_set_tls() and cpu_clone_regs() for AArch64
  linux-user: Make sure NWFPE code is 32 bit ARM only
  linux-user: Add signal handling for AArch64
  linux-user: Fix up AArch64 syscall handlers
  linux-user: Add syscall number definitions for AArch64
  linux-user: Add cpu loop for AArch64
  linux-user: Don't treat AArch64 cpu names specially
  target-arm: Add AArch64 gdbstub support
  target-arm: Add AArch64 translation stub
  target-arm: Prepare translation for AArch64 code
  target-arm: Disable 32 bit CPUs in 64 bit linux-user builds
  target-arm: Add new AArch64CPUInfo base class and subclasses
  target-arm: Pass DisasContext* to gen_set_pc_im()
  target-arm: Fix target_ulong/uint32_t confusions
  target-arm: Export cpu_env
  target-arm: Extract the disas struct to a header file
  ...

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


Compare: https://github.com/qemu/qemu/compare/94c2b6aff43c...2d1fe1873a98

reply via email to

[Prev in Thread] Current Thread [Next in Thread]