qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 7e213f: block: Make essential BlockDriver obj


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 7e213f: block: Make essential BlockDriver objects public
Date: Tue, 10 Mar 2015 11:00:16 -0700

  Branch: refs/heads/stable-2.2
  Home:   https://github.com/qemu/qemu
  Commit: 7e213f853551c6d528af9f7bddb3ab1b7b03903f
      
https://github.com/qemu/qemu/commit/7e213f853551c6d528af9f7bddb3ab1b7b03903f
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block/qcow2.c
    M block/raw-posix.c
    M block/raw-win32.c
    M block/raw_bsd.c
    M include/block/block_int.h

  Log Message:
  -----------
  block: Make essential BlockDriver objects public

There are some block drivers which are essential to QEMU and may not be
removed: These are raw, file and qcow2 (as the default non-raw format).
Make their BlockDriver objects public so they can be directly referenced
throughout the block layer without needing to call bdrv_find_format()
and having to deal with an error at runtime, while the real problem
occurred during linking (where raw, file or qcow2 were not linked into
qemu).

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 5f535a941e52229d81e55603eb69b2bd449b937a)
Signed-off-by: Michael Roth <address@hidden>


  Commit: e81703b42c7552e9f43701a3e7fd937b7fa3080b
      
https://github.com/qemu/qemu/commit/e81703b42c7552e9f43701a3e7fd937b7fa3080b
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block.c
    M block/qcow2.c

  Log Message:
  -----------
  block: Omit bdrv_find_format for essential drivers

We can always assume raw, file and qcow2 being available; so do not use
bdrv_find_format() to locate their BlockDriver objects but statically
reference the respective objects.

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit ef8104378c4a0497be079e48ee5ac5a89c68f978)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 1961d1c3474aa4d957f5eff4d122908250089fdb
      
https://github.com/qemu/qemu/commit/1961d1c3474aa4d957f5eff4d122908250089fdb
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block/vvfat.c

  Log Message:
  -----------
  block/vvfat: qcow driver may not be found

Although virtually impossible right now, bdrv_find_format("qcow") may
fail. The vvfat block driver should heed that case.

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 1bcb15cf776a57e8963072c1919a59a90aea8e94)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 0fc9a06b565ceea71662f69391ee6d86634faf25
      
https://github.com/qemu/qemu/commit/0fc9a06b565ceea71662f69391ee6d86634faf25
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block/nfs.c

  Log Message:
  -----------
  block/nfs: Add create_opts

The nfs protocol driver is capable of creating images, but did not
specify any creation options. Fix it.

A way to test this issue is the following:

$ qemu-img create -f nfs nfs://127.0.0.1/foo.qcow2 64M

Without this patch, it segfaults. With this patch, it does not. However,
this is not something that should really work; qemu-img should check
whether the parameter for the -f option (and -O for convert) is indeed a
format, and error out if it is not. Therefore, I am not making it an
iotest.

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit fd752801ae1cc729359a37f29e32265de6948d37)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 6065d5484a092d55b274876d1fafb8223041842a
      
https://github.com/qemu/qemu/commit/6065d5484a092d55b274876d1fafb8223041842a
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Check create_opts before image creation

If a driver supports image creation, it needs to set the .create_opts
field. We can use that to make sure .create_opts for both drivers
involved is not NULL in bdrv_img_create(), which is important so that
the create_opts pointer in that function is not NULL after the
qemu_opts_append() calls and when going into qemu_opts_create().

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit c6149724080af7b3d5d61eac8942655e6d212783)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 10be14ee7d1d82e439f0fab69e32c90427afa07c
      
https://github.com/qemu/qemu/commit/10be14ee7d1d82e439f0fab69e32c90427afa07c
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: Check create_opts before image creation

If a driver supports image creation, it needs to set the .create_opts
field. We can use that to make sure .create_opts for both drivers
involved is not NULL for the target image in qemu-img convert, which is
important so that the create_opts pointer in img_convert() is not NULL
after the qemu_opts_append() calls and when going into
qemu_opts_create().

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit f75613cf2488a37fb8019bc32a06ddbcd477d0ce)
Signed-off-by: Michael Roth <address@hidden>


  Commit: b15bfd0558934703cfa860117a38d7f0a71645ae
      
https://github.com/qemu/qemu/commit/b15bfd0558934703cfa860117a38d7f0a71645ae
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: Check create_opts before image amendment

The image options which can be amended are described by the .create_opts
field for every driver. This field must therefore be non-NULL so that
anything can be amended in the first place. Check that this holds true
before going into qemu_opts_create() (because if .create_opts is NULL,
the create_opts pointer in img_amend() will be NULL after
qemu_opts_append()).

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit b2439d26f078c826e5e06b34d978a6f6d5c7c56f)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 0a0a9843524a80a632e827e5c2cfb7c6a496f8ba
      
https://github.com/qemu/qemu/commit/0a0a9843524a80a632e827e5c2cfb7c6a496f8ba
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M tests/qemu-iotests/common.rc

  Log Message:
  -----------
  iotests: Only kill NBD server if it runs

There may be NBD tests which do not create a sample image and simply
test whether wrong usage of the protocol is rejected as expected. In
this case, there will be no NBD server and trying to kill it during
clean-up will fail.

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit f798068c565918ead63218d083ff814b7635be72)
Signed-off-by: Michael Roth <address@hidden>


  Commit: ff15187eca2d70cbd3f9352441920d9a545198e0
      
https://github.com/qemu/qemu/commit/ff15187eca2d70cbd3f9352441920d9a545198e0
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    A tests/qemu-iotests/113
    A tests/qemu-iotests/113.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  iotests: Add test for unsupported image creation

Add a test for creating and amending images (amendment uses the creation
options) with formats not supporting creation over protocols not
supporting creation.

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 2247798d13e5295a097da0a42f9d0d70d88690a4)

Conflicts:
        tests/qemu-iotests/group

*removed context dependency on iotest group 114

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


  Commit: 1e85e69fd6972d1990c6309dfa273ccd8b12d92a
      
https://github.com/qemu/qemu/commit/1e85e69fd6972d1990c6309dfa273ccd8b12d92a
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block/qcow2-cluster.c

  Log Message:
  -----------
  qcow2: Prevent numerical overflow

In qcow2_alloc_cluster_offset(), *num is limited to
INT_MAX >> BDRV_SECTOR_BITS by all callers. However, since remaining is
of type uint64_t, we might as well cast *num to that type before
performing the shift.

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 11c89769dc3e638ef72915d97058411ddf79b64b)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 6f45cda114497bafa4186d6395eb06d2b85c55c4
      
https://github.com/qemu/qemu/commit/6f45cda114497bafa4186d6395eb06d2b85c55c4
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block/qcow2.c
    M tests/qemu-iotests/026.out
    M tests/qemu-iotests/071.out
    M tests/qemu-iotests/089.out

  Log Message:
  -----------
  qcow2: Flushing the caches in qcow2_close may fail

qcow2_cache_flush() may fail; if one of the caches failed to be flushed
successfully to disk in qcow2_close() the image should not be marked
clean, and we should emit a warning.

This breaks the (qcow2-specific) iotests 026, 071 and 089; change their
output accordingly.

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 3b5e14c76a6bb142bf250ddf99e24a0ac8c7bc12)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 9b3f3d6da97727576b36958fa60f0b0faffb334a
      
https://github.com/qemu/qemu/commit/9b3f3d6da97727576b36958fa60f0b0faffb334a
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Respect bdrv_truncate() error

bdrv_truncate() may fail and qcow2_write_compressed() should return the
error code in that case.

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 6a69b9620ac1562a067990d87284a85552bfd61b)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 6950b92765595fe3255f6127a517c3866c5df4bd
      
https://github.com/qemu/qemu/commit/6950b92765595fe3255f6127a517c3866c5df4bd
  Author: Max Reitz <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  block/raw-posix: Fix ret in raw_open_common()

The return value must be negative on error; there is one place in
raw_open_common() where errp is set, but ret remains 0. Fix it.

Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 01212d4ed68fc8daa29062a9a38650cf8febe392)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 9fc6075d289702fd6a169dfadc42a52f49f219df
      
https://github.com/qemu/qemu/commit/9fc6075d289702fd6a169dfadc42a52f49f219df
  Author: Gary R Hook <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block-migration.c

  Log Message:
  -----------
  block migration: fix return value

Modify block_save_iterate() to return positive/zero/negative
(success/not done/failure) return status. The computation of
the blocks transferred (an int64_t) exceeds the size of an
int return value.

Signed-off-by: Gary R Hook <address@hidden>
Reviewed-by: ChenLiang <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit ebd9fbd7e102c533143c2c8372312b75c2b2678a)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 63a3acd24af4067c5f8604ddde53c735bf1b95e1
      
https://github.com/qemu/qemu/commit/63a3acd24af4067c5f8604ddde53c735bf1b95e1
  Author: Kevin Wolf <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block/qcow2.c
    M tests/qemu-iotests/080
    M tests/qemu-iotests/080.out

  Log Message:
  -----------
  qcow2: Fix header extension size check

After reading the extension header, offset is incremented, but not
checked against end_offset any more. This way an integer overflow could
happen when checking whether the extension end is within the allowed
range, effectively disabling the check.

This patch adds the missing check and a test case for it.

Cc: address@hidden
Reported-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 2ebafc854d109ff09b66fb4dd62c2c53fc29754a)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 9f8da0319dfc321abe98b6454e7970015ac4e23c
      
https://github.com/qemu/qemu/commit/9f8da0319dfc321abe98b6454e7970015ac4e23c
  Author: Kevin Wolf <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M tests/qemu-iotests/qcow2.py

  Log Message:
  -----------
  qcow2.py: Add required padding for header extensions

The qcow2 specification requires that the header extension data be
padded to round up the extension size to the next multiple of 8 bytes.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 8884dd1bbc5ce42cd657ffcbef3a477443468974)
Signed-off-by: Michael Roth <address@hidden>


  Commit: ebd2bd2227b1f949a0ad4a4226262d0c3f955034
      
https://github.com/qemu/qemu/commit/ebd2bd2227b1f949a0ad4a4226262d0c3f955034
  Author: Kevin Wolf <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block.c
    A tests/qemu-iotests/114
    A tests/qemu-iotests/114.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  block: Don't probe for unknown backing file format

If a qcow2 image specifies a backing file format that doesn't correspond
to any format driver that qemu knows, we shouldn't fall back to probing,
but simply error out.

Not looking up the backing file driver in bdrv_open_backing_file(), but
just filling in the "driver" option if it isn't there moves us closer to
the goal of having everything in QDict options and gets us the error
handling of bdrv_open(), which correctly refuses unknown drivers.

Cc: address@hidden
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit c5f6e493bb5339d244eae5d3f21c5b6d73996739)

Conflicts:
        tests/qemu-iotests/group

*resolved context conflict due to group 113 being present locally

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


  Commit: 51d703ff2e03285be7ba0433d814a688c923b1ea
      
https://github.com/qemu/qemu/commit/51d703ff2e03285be7ba0433d814a688c923b1ea
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M pc-bios/linuxboot.bin
    M pc-bios/optionrom/linuxboot.S

  Log Message:
  -----------
  linuxboot: fix loading old kernels

Old kernels that used high memory only allowed the initrd to be in the
first 896MB of memory.  If you load the initrd above, they complain
that "initrd extends beyond end of memory".

In order to fix this, while not breaking machines with small amounts
of memory fixed by cdebec5 (linuxboot: compute initrd loading address,
2014-10-06), we need to distinguish two cases.  If pc.c placed the
initrd at end of memory, use the new algorithm based on the e801
memory map.  If instead pc.c placed the initrd at the maximum address
specified by the bzImage, leave it there.

The only interesting part is that the low-memory info block is now
loaded very early, in real mode, and thus the 32-bit address has
to be converted into a real mode segment.  The initrd address is
also patched in the info block before entering real mode, it is
simpler that way.

This fixes booting the RHEL4.8 32-bit installation image with 1GB
of RAM.

Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 269e2358492b674c50160553d037702e916b9f1b)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 6569578197d93fcfeec4eb3e48c0659c18142dee
      
https://github.com/qemu/qemu/commit/6569578197d93fcfeec4eb3e48c0659c18142dee
  Author: Peter Maydell <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M audio/audio_template.h

  Log Message:
  -----------
  audio: Don't free hw resources until after hw backend is stopped

When stopping an audio voice, call the audio backend's fini
method before calling audio_pcm_hw_free_resources_ rather than
afterwards. This allows backends which use helper threads (like
pulseaudio) to terminate those threads before the conv_buf or
mix_buf are freed and avoids race conditions where the helper
may access a NULL pointer or freed memory.

Cc: address@hidden
Reviewed-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
(cherry picked from commit b28fb27b5edf77f6fd0ac550a156fb20f2218db3)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 27ad3df73ef88476a288e3aebd5fbcd501ff7e7f
      
https://github.com/qemu/qemu/commit/27ad3df73ef88476a288e3aebd5fbcd501ff7e7f
  Author: Max Filippov <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M target-xtensa/translate.c

  Log Message:
  -----------
  target-xtensa: fix translation for opcodes crossing page boundary

If TB ends with an opcode that crosses page boundary and the following
page is not executable then EPC1 for the code fetch exception wrongly
points at the beginning of the TB. Always treat instruction that crosses
page boundary as a separate TB.

Cc: address@hidden
Signed-off-by: Max Filippov <address@hidden>
(cherry picked from commit 01673a3401614b4199c9946ad47b97bedfc7a7c2)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 718ab310169c65bd8aa5692981a0e65e6d0ca775
      
https://github.com/qemu/qemu/commit/718ab310169c65bd8aa5692981a0e65e6d0ca775
  Author: Max Filippov <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M tests/tcg/xtensa/test_mmu.S

  Log Message:
  -----------
  target-xtensa: test cross-page opcode

Alter cross-page TB test to also test cross-page opcode.

Signed-off-by: Max Filippov <address@hidden>
(cherry picked from commit 85d36377e4ff8b98119420099d445369bfd6b7bb)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 83dbd88b5ce280e26a40a22aa473a248f9bb0f5e
      
https://github.com/qemu/qemu/commit/83dbd88b5ce280e26a40a22aa473a248f9bb0f5e
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M block-migration.c

  Log Message:
  -----------
  migration/block: fix pending() return value

Because of wrong return value of .save_live_pending() in
migration/block.c, migration finishes before the whole disk is
transferred. Such situation occurs when the migration process is fast
enough, for example when source and dest are on the same host.

If in the bulk phase we return something < max_size, we will skip
transferring the tail of the device. Currently we have "set pending to
BLOCK_SIZE if it is zero" for bulk phase, but there no guarantee, that
it will be < max_size.

True approach is to return, for example, max_size+1 when we are in the
bulk phase.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit 04636dc410b163c2243e66c3813dd4900a50a4ed)
Signed-off-by: Michael Roth <address@hidden>


  Commit: f738adeb5edef023fde0c47c3dce47987d7f6982
      
https://github.com/qemu/qemu/commit/f738adeb5edef023fde0c47c3dce47987d7f6982
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M include/qemu/atomic.h

  Log Message:
  -----------
  atomic: fix position of volatile qualifier

What needs to be volatile is not the pointer, but the pointed-to
value!

Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 2cbcfb281afa041a41f6e4c4da0f5c9314084604)
Signed-off-by: Michael Roth <address@hidden>


  Commit: cb3360dbdd85ce2eb97805e4ce70932ab333e8d1
      
https://github.com/qemu/qemu/commit/cb3360dbdd85ce2eb97805e4ce70932ab333e8d1
  Author: David Gibson <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M hw/ppc/spapr_iommu.c

  Log Message:
  -----------
  PPC: Fix crash on spapr_tce_table_finalize()

spapr_tce_table_finalize() can SEGV if the object was not previously
realized.  In particular this can be triggered by running
   qemu-system-ppc -device spapr-tce-table,?

The basic problem is that we have mismatched initialization versus
finalization: spapr_tce_table_finalize() is attempting to undo things that
are done in spapr_tce_table_realize(), not an instance_init function.

Therefore, replace spapr_tce_table_finalize() with
spapr_tce_table_unrealize().

Signed-off-by: David Gibson <address@hidden>
Cc: address@hidden
Signed-off-by: Alexander Graf <address@hidden>
(cherry picked from commit 5f9490de566c5b092a6cfedc3c7a37a9c9dee917)
Signed-off-by: Michael Roth <address@hidden>


  Commit: e1ce0c3cb7c99e71feb001e392489aa333e87f3c
      
https://github.com/qemu/qemu/commit/e1ce0c3cb7c99e71feb001e392489aa333e87f3c
  Author: Marcel Apfelbaum <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl.c: fix regression when reading machine type from config file

After 'Machine as QOM' series the machine type input triggers
the creation of the machine class.
If the machine type is set in the configuration file, the machine
class is not updated accordingly and remains the default.

Fixed that by querying the machine options after the configuration
file is loaded.

Cc: address@hidden
Reported-by: William Dauchy <address@hidden>
Signed-off-by: Marcel Apfelbaum <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 364c3e6b8dd7912e01d19122d791b8c8f6df4f6c)
Signed-off-by: Michael Roth <address@hidden>


  Commit: e54bcad901f4891dd5c3bf72e199175a23944214
      
https://github.com/qemu/qemu/commit/e54bcad901f4891dd5c3bf72e199175a23944214
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M hw/char/serial.c

  Log Message:
  -----------
  serial: reset thri_pending on IER writes with THRI=0

This is responsible for failure of migration from 2.2 to 2.1, because
thr_ipending is always one in practice.

serial.c is setting thr_ipending unconditionally.  However, thr_ipending
is not used at all if THRI=0, and it will be overwritten again the next
time THRE or THRI changes.  For that reason, we can set thr_ipending to
zero every time THRI is reset.

There is disagreement on whether LSR.THRE should be resampled when IER.THRI
goes from 1 to 1.  This patch does not touch the code, leaving that for
QEMU 2.3+.

This has no semantic change and is enough to fix migration in the common
case where the interrupt is not pending or is reported in IIR.  It does not
change the migration format, so 2.2.0 -> 2.1 will remain broken but we
can fix 2.2.1 -> 2.1 without breaking 2.2.1 <-> 2.2.0.

The case that remains broken (the one in which the subsection is strictly
necessary) is when THRE=1, the THRI interrupt has *not* been acknowledged
yet, and a higher-priority interrupt comes.  In this case, you need the
subsection to tell the source that the lower-priority THRI interrupt is
pending.  The subsection's breakage of migration, in this case, prevents
continuing the VM on the destination with an invalid state.

Cc: address@hidden
Reported-by: Igor Mammedov <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 4e02b0fcf5c97579d0d3261c80c65abcf92870fe)
Signed-off-by: Michael Roth <address@hidden>


  Commit: fdb2ed44f1bf3568f12858c5752dc5d3add57945
      
https://github.com/qemu/qemu/commit/fdb2ed44f1bf3568f12858c5752dc5d3add57945
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M hw/char/serial.c

  Log Message:
  -----------
  serial: refine serial_thr_ipending_needed

If the THR interrupt is disabled, there is no need to migrate thr_ipending
because LSR.THRE will be sampled again when the interrupt is enabled.
(This is the behavior that is not documented in the datasheet, but
relied on by Windows!)

Note that in this case IIR will never be 0x2 so, if thr_ipending were
to be one, QEMU would produce the subsection.

Reported-by: Igor Mammedov <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit bfa7362889d05d6951493d1c298289b39cf9bf86)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 49725cdf045e3bb7b6f5ae5d6c1331fdcc034d64
      
https://github.com/qemu/qemu/commit/49725cdf045e3bb7b6f5ae5d6c1331fdcc034d64
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M hw/input/pckbd.c

  Log Message:
  -----------
  pckbd: set bits 2-3-6-7 of the output port by default

OSes typically write 0xdd/0xdf to turn the A20 line off and on.  This
has bits 2-3-6-7 on, so that the output port subsection is migrated.
Change the reset value and migration default to include those four
bits, thus avoiding that the subsection is migrated.

This strictly speaking changes guest ABI, but the long time during which
we have not migrated the value means that the guests really do not care
much; so the change is for all machine types.

Reported-by: Igor Mammedov <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit d13c0404092eb46e548754a47a808da1bb8d4fd0)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 09e2753be0e7841ae0045a87ee974e47ba10befd
      
https://github.com/qemu/qemu/commit/09e2753be0e7841ae0045a87ee974e47ba10befd
  Author: Peter Maydell <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M linux-user/signal.c

  Log Message:
  -----------
  linux-user: Fix broken m68k signal handling on 64 bit hosts

The m68k signal frame setup code which writes the signal return
trampoline code to the stack was assuming that a 'long' was 32 bits;
on 64 bit systems this meant we would end up writing the 32 bit
(2 insn) trampoline sequence to retaddr+4,retaddr+6 instead of
the intended retaddr+0,retaddr+2, resulting in a guest crash when
it tried to execute the invalid zero-bytes at retaddr+0.
Fix by using uint32_t instead; also use uint16_t rather than short
for consistency. This fixes bug LP:1404690.

Reported-by: Michel Boaventura
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
(cherry picked from commit 1669add752d9f29283f8ebf6a863d7b1e2d0f146)
Signed-off-by: Michael Roth <address@hidden>


  Commit: b0a231a9a9ab7cca0ad24b8c2eb2249e17727fdb
      
https://github.com/qemu/qemu/commit/b0a231a9a9ab7cca0ad24b8c2eb2249e17727fdb
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M hw/scsi/scsi-bus.c

  Log Message:
  -----------
  scsi: fix cancellation when I/O was completed but DMA was not.

Commit d577646 (scsi: Introduce scsi_req_cancel_complete, 2014-09-25)
was supposed to have no semantic change, but it missed a case.  When
r->aiocb has already been NULLed, but DMA was not complete and the
SCSI layer was waiting for scsi_req_continue, after the patch the
SCSI layer will not call the .cancel callback of SCSIBusInfo.

Fixes: d5776465ee9a55815792efa34d79de240f4ffd99
Cc: address@hidden
Reported-by: Dr. David Alan Gilbert <address@hidden>
Tested-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 488eef2f1d16c97cf7f9ebf644ecafa1ea1e9acc)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 8d1fdb16cd92fee24c9d6e7181ae29ac2585c0d1
      
https://github.com/qemu/qemu/commit/8d1fdb16cd92fee24c9d6e7181ae29ac2585c0d1
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: fix movntsd on big-endian hosts

This was accessing an XMM register's low half without going through XMM_Q.

Cc: address@hidden
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 07958082fdf39284935d38a5b8aec1fe7d020637)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 0d093159b4a48e24350cb7092b3b62ec4402f447
      
https://github.com/qemu/qemu/commit/0d093159b4a48e24350cb7092b3b62ec4402f447
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M hw/isa/vt82c686.c

  Log Message:
  -----------
  vt82c686: avoid out-of-bounds read

superio_ioport_readb can read the 256th element of the array.
Coverity reports an out-of-bounds write in superio_ioport_writeb,
but it does not show the corresponding out-of-bounds read
because it cannot prove that it can happen.  Fix the root
cause of the problem (zhanghailang's patch instead fixes
the logic in superio_ioport_writeb).

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: zhanghailiang <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
Cc: address@hidden
(cherry picked from commit 9feb8adeaa850d15b930c30f22c1ed2f2f695172)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 451b9e2d4c65ad20cbd4247adc82cd69c8ebce2c
      
https://github.com/qemu/qemu/commit/451b9e2d4c65ad20cbd4247adc82cd69c8ebce2c
  Author: Cornelia Huck <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M hw/scsi/virtio-scsi.c
    M hw/virtio/dataplane/vring.c

  Log Message:
  -----------
  virtio: fix feature bit checks

Several places check against the feature bit number instead of against
the feature bit. Fix them.

Cc: address@hidden
Reported-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
(cherry picked from commit 91d5c57a2e98845c02cda026f3f6a88cb5e14225)
Signed-off-by: Michael Roth <address@hidden>


  Commit: e60fb7af55b3321431ffa6f3523f11111ae66714
      
https://github.com/qemu/qemu/commit/e60fb7af55b3321431ffa6f3523f11111ae66714
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M hw/audio/sb16.c

  Log Message:
  -----------
  sb16: fix interrupt acknowledgement

SoundBlaster 16 emulation is very broken and consumes a lot of CPU, but a
small fix was suggested offlist and it is enough to fix some games.  I
got Epic Pinball to work with the "SoundBlaster Clone" option.

The processing of the interrupt register is wrong due to two missing
"not"s.  This causes the interrupt flag to remain set even after the
Acknowledge ports have been read (0x0e and 0x0f).

The line was introduced by commit 85571bc (audio merge (malc), 2004-11-07),
but the code might have been broken before because I did not look closely
at the huge patches from 10 years ago.

Reported-by: Joshua Bair <address@hidden>
Cc: Gerd Hoffmann <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
(cherry picked from commit 9939375c282a0f97afa69dc6799d3c77aaf7d544)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 4ac8b01fa8de00bb649d0b87c1dc542e50dcf530
      
https://github.com/qemu/qemu/commit/4ac8b01fa8de00bb649d0b87c1dc542e50dcf530
  Author: Dinar Valeev <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

  Changed paths:
    M hw/input/hid.c

  Log Message:
  -----------
  hw/input/hid.c Fix capslock hid code

When ever USB keyboard is used, e.g. '-usbdevice keyboard' pressing
caps lock key send 0x32 hid code, which is treated as backslash.
Instead it should be 0x39 code. This affects sending uppercase keys,
as they typed whith caps lock active.

While on x86 this can be workarounded by using ps/2 protocol. On
Power it is crusial as we don't have anything else than USB.

This is fixes guest automation tasts over vnc.

Signed-off-by: Dinar Valeev <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
(cherry picked from commit 0ee4de5840ccc1072459ec68062bfb63c888a94d)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 3750d2588e8d8d204820fef4ce95d7c271bafd3f
      
https://github.com/qemu/qemu/commit/3750d2588e8d8d204820fef4ce95d7c271bafd3f
  Author: Peter Maydell <address@hidden>
  Date:   2015-02-22 (Sun, 22 Feb 2015)

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

  Log Message:
  -----------
  target-arm/translate-a64: Fix wrong mmu_idx usage for LDT/STT

The LDT/STT (load/store unprivileged) instruction decode was using
the wrong MMU index value. This meant that instead of these insns
being "always access as if user-mode regardless of current privilege"
they were "always access as if kernel-mode regardless of current
privilege". This went unnoticed because AArch64 Linux doesn't use
these instructions.

Cc: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Greg Bellows <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
---
I'm not counting this as a security issue because I'm assuming
nobody treats TCG guests as a security boundary (certainly I
would not recommend doing so...)

(cherry picked from commit 949013ce111eb64f8bc81cf9a9f1cefd6a1678c3)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 4d49de6b6f9b45446dd31990a177b13953f2e842
      
https://github.com/qemu/qemu/commit/4d49de6b6f9b45446dd31990a177b13953f2e842
  Author: Alex Williamson <address@hidden>
  Date:   2015-02-23 (Mon, 23 Feb 2015)

  Changed paths:
    M hw/misc/vfio.c

  Log Message:
  -----------
  vfio-pci: Fix missing unparent of dynamically allocated MemoryRegion

Commit d8d95814609e added explicit object_unparent() calls for
dynamically allocated MemoryRegions.  The VFIOMSIXInfo structure also
contains such a MemoryRegion, covering the mmap'd region of a PCI BAR
above the MSI-X table.  This structure is freed as part of the class
exit function and therefore also needs an explicit object_unparent().
Failing to do this results in random segfaults due to fields within
the structure, often the class pointer, being reclaimed and corrupted
by the time object_finalize_child_property() is called for the object.

Signed-off-by: Alex Williamson <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Cc: address@hidden # 2.2
(cherry picked from commit 3a4dbe6aa934370a92372528c1255ee1504965ee)
Signed-off-by: Michael Roth <address@hidden>


  Commit: a9eb2b60538e2cb48cc71824d2c6239a8aa85cb8
      
https://github.com/qemu/qemu/commit/a9eb2b60538e2cb48cc71824d2c6239a8aa85cb8
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-23 (Mon, 23 Feb 2015)

  Changed paths:
    M util/qemu-thread-posix.c

  Log Message:
  -----------
  qemu-thread: fix qemu_event without futexes

This had a possible deadlock that was visible with rcutorture.

    qemu_event_set                    qemu_event_wait
    ----------------------------------------------------------------
                                cmpxchg reads FREE, writes BUSY
                                futex_wait: pthread_mutex_lock
                                futex_wait: value == BUSY
    xchg reads BUSY, writes SET
    futex_wake: pthread_cond_broadcast
                                futex_wait: pthread_cond_wait
                                <deadlock>

The fix is simply to avoid condvar tricks and do the obvious locking
around pthread_cond_broadcast:

    qemu_event_set        qemu_event_wait
    ----------------------------------------------------------------
                                cmpxchg reads FREE, writes BUSY
                                futex_wait: pthread_mutex_lock
                                futex_wait: value == BUSY
    xchg reads BUSY, writes SET
    futex_wake: pthread_mutex_lock
    (blocks)
                                futex_wait: pthread_cond_wait
    (mutex unlocked)
    futex_wake: pthread_cond_broadcast
    futex_wake: pthread_mutex_unlock
                                futex_wait: pthread_mutex_unlock

Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 158ef8cbb7e0fe8bb430310924b8bebe5f186e6e)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 6833856e868d752fe7d70302c7fc550272ff2679
      
https://github.com/qemu/qemu/commit/6833856e868d752fe7d70302c7fc550272ff2679
  Author: Daniel P. Berrange <address@hidden>
  Date:   2015-02-23 (Mon, 23 Feb 2015)

  Changed paths:
    M libcacard/Makefile

  Log Message:
  -----------
  libcacard: stop linking against every single 3rd party library

Building QEMU results in a libcacard.so that links against
practically the entire world

        linux-vdso.so.1 =>  (0x00007fff71e99000)
        libssl3.so => /usr/lib64/libssl3.so (0x00007f49f94b6000)
        libsmime3.so => /usr/lib64/libsmime3.so (0x00007f49f928e000)
        libnss3.so => /usr/lib64/libnss3.so (0x00007f49f8f67000)
        libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007f49f8d3b000)
        libplds4.so => /usr/lib64/libplds4.so (0x00007f49f8b36000)
        libplc4.so => /usr/lib64/libplc4.so (0x00007f49f8931000)
        libnspr4.so => /usr/lib64/libnspr4.so (0x00007f49f86f2000)
        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f49f84ed000)
        libm.so.6 => /usr/lib64/libm.so.6 (0x00007f49f81e5000)
        libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 
(0x00007f49f7fe3000)
        librt.so.1 => /usr/lib64/librt.so.1 (0x00007f49f7dda000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x00007f49f7bc4000)
        libcap-ng.so.0 => /usr/lib64/libcap-ng.so.0 (0x00007f49f79be000)
        libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007f49f77b8000)
        libgnutls.so.28 => /usr/lib64/libgnutls.so.28 (0x00007f49f749a000)
        libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0 (0x00007f49f71fd000)
        libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f49f6fe0000)
        libvte.so.9 => /usr/lib64/libvte.so.9 (0x00007f49f6d3f000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f49f6b2d000)
        libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 
(0x00007f49f64a0000)
        libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 
(0x00007f49f61de000)
        libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 
(0x00007f49f5fd1000)
        libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007f49f5daa000)
        libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007f49f5a9d000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 
(0x00007f49f5878000)
        libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f49f5500000)
        libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 
(0x00007f49f52eb000)
        libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007f49f50a0000)
        libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 
(0x00007f49f4e4e000)
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f49f4b15000)
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f49f48d6000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f49f462b000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f49f42e8000)
        libxenstore.so.3.0 => /usr/lib64/libxenstore.so.3.0 (0x00007f49f40de000)
        libxenctrl.so.4.4 => /usr/lib64/libxenctrl.so.4.4 (0x00007f49f3eb6000)
        libxenguest.so.4.4 => /usr/lib64/libxenguest.so.4.4 (0x00007f49f3c8b000)
        libseccomp.so.2 => /usr/lib64/libseccomp.so.2 (0x00007f49f3a74000)
        librdmacm.so.1 => /usr/lib64/librdmacm.so.1 (0x00007f49f385d000)
        libibverbs.so.1 => /usr/lib64/libibverbs.so.1 (0x00007f49f364a000)
        libutil.so.1 => /usr/lib64/libutil.so.1 (0x00007f49f3447000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00007f49f3089000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f49f9902000)
        libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x00007f49f2e23000)
        libtspi.so.1 => /usr/lib64/libtspi.so.1 (0x00007f49f2bb2000)
        libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007f49f299f000)
        libnettle.so.4 => /usr/lib64/libnettle.so.4 (0x00007f49f276d000)
        libhogweed.so.2 => /usr/lib64/libhogweed.so.2 (0x00007f49f2545000)
        libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f49f22cd000)
        libncurses.so.5 => /usr/lib64/libncurses.so.5 (0x00007f49f20a5000)
        libtinfo.so.5 => /usr/lib64/libtinfo.so.5 (0x00007f49f1e7a000)
        libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 
(0x00007f49f1c76000)
        libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f49f1a6f000)
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f49f1865000)
        libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007f49f1662000)
        libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f49f1452000)
        libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f49f1247000)
        libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f49f103c000)
        libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007f49f0e39000)
        libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007f49f0c35000)
        libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f49f09dd000)
        libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007f49f072f000)
        libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007f49f0505000)
        libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f49f02d2000)
        libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007f49f00cd000)
        libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007f49efec3000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f49efca1000)
        libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f49efa06000)
        libffi.so.6 => /usr/lib64/libffi.so.6 (0x00007f49ef7fe000)
        libselinux.so.1 => /usr/lib64/libselinux.so.1 (0x00007f49ef5d8000)
        libresolv.so.2 => /usr/lib64/libresolv.so.2 (0x00007f49ef3be000)
        libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f49ef193000)
        libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f49eef83000)
        libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f49eed6c000)
        liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007f49eeb46000)
        libnl-route-3.so.200 => /usr/lib64/libnl-route-3.so.200 
(0x00007f49ee8e2000)
        libnl-3.so.200 => /usr/lib64/libnl-3.so.200 (0x00007f49ee6c4000)
        libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f49ee2d6000)
        libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f49ee067000)
        libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f49ede48000)
        libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007f49edc46000)
        libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x00007f49eda41000)
        libxcb-xfixes.so.0 => /usr/lib64/libxcb-xfixes.so.0 (0x00007f49ed838000)
        libxcb-shape.so.0 => /usr/lib64/libxcb-shape.so.0 (0x00007f49ed634000)
        libgbm.so.1 => /usr/lib64/libgbm.so.1 (0x00007f49ed426000)
        libwayland-client.so.0 => /usr/lib64/libwayland-client.so.0 
(0x00007f49ed217000)
        libwayland-server.so.0 => /usr/lib64/libwayland-server.so.0 
(0x00007f49ed005000)
        libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007f49ecddb000)
        libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007f49ecbce000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f49ec9ca000)
        libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 (0x00007f49ec7b0000)
        libxcb-dri3.so.0 => /usr/lib64/libxcb-dri3.so.0 (0x00007f49ec5ad000)
        libxcb-present.so.0 => /usr/lib64/libxcb-present.so.0 
(0x00007f49ec3aa000)
        libxcb-randr.so.0 => /usr/lib64/libxcb-randr.so.0 (0x00007f49ec19b000)
        libxcb-sync.so.1 => /usr/lib64/libxcb-sync.so.1 (0x00007f49ebf94000)
        libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1 (0x00007f49ebd91000)
        libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007f49ebb8a000)
        libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f49eb91d000)
        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 
(0x00007f49eb6cf000)
        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007f49eb3ec000)
        libcom_err.so.2 => /usr/lib64/libcom_err.so.2 (0x00007f49eb1e8000)
        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007f49eafb4000)
        libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 
(0x00007f49eada5000)
        libkeyutils.so.1 => /usr/lib64/libkeyutils.so.1 (0x00007f49eaba0000)

All libcacard actually needs are the NSS libs. Linking against the entire
world is a regression caused by

  commit 9d171bd9375e4d08feff9adda15163e0811f5f42
  Author: Michael Tokarev <address@hidden>
  Date:   Thu May 8 16:48:27 2014 +0400

    libcacard: remove libcacard-specific CFLAGS and LIBS from global vars

Which removed the setting of the LIBS variable in libcacard/Makefile.

Adding it back as an empty assignment brings the linked libs back to a more
reasonable set

        linux-vdso.so.1 =>  (0x00007fff575c1000)
        libssl3.so => /usr/lib64/libssl3.so (0x00007f7f753b1000)
        libsmime3.so => /usr/lib64/libsmime3.so (0x00007f7f75189000)
        libnss3.so => /usr/lib64/libnss3.so (0x00007f7f74e62000)
        libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007f7f74c36000)
        libplds4.so => /usr/lib64/libplds4.so (0x00007f7f74a31000)
        libplc4.so => /usr/lib64/libplc4.so (0x00007f7f7482c000)
        libnspr4.so => /usr/lib64/libnspr4.so (0x00007f7f745ed000)
        libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f7f743d0000)
        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f7f741cc000)
        libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 
(0x00007f7f73fca000)
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f7f73c90000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00007f7f738d3000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x00007f7f736bd000)
        librt.so.1 => /usr/lib64/librt.so.1 (0x00007f7f734b4000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f7f757fd000)

Signed-off-by: Daniel P. Berrange <address@hidden>
Cc: <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
(cherry picked from commit b41112c46b93f781669c0eb89e51d3a87af6bb49)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 2a020d29dff124003728d517c1896ed6f14a53d6
      
https://github.com/qemu/qemu/commit/2a020d29dff124003728d517c1896ed6f14a53d6
  Author: Zhang Haoyu <address@hidden>
  Date:   2015-02-23 (Mon, 23 Feb 2015)

  Changed paths:
    M hw/timer/mc146818rtc.c

  Log Message:
  -----------
  fix mc146818rtc wrong subsection name to avoid vmstate_subsection_load() fail

fix mc146818rtc wrong subsection name to avoid vmstate_subsection_load() fail
during incoming migration or loadvm.

Signed-off-by: Zhang Haoyu <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>
(cherry picked from commit bb426311901776b95b021cece831b69dce4ef5ee)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 7d389a2138a3b31895cf40300d052eda71ef0722
      
https://github.com/qemu/qemu/commit/7d389a2138a3b31895cf40300d052eda71ef0722
  Author: Peter Wu <address@hidden>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  block/iscsi: fix uninitialized variable

'ret' was never initialized in the success path.

Signed-off-by: Peter Wu <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit debfb917a4f9c0784772c86f110f2bcd22e5a14f)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 987aba53db2e9e62e3f0ae0c22aa0381a735e282
      
https://github.com/qemu/qemu/commit/987aba53db2e9e62e3f0ae0c22aa0381a735e282
  Author: Fam Zheng <address@hidden>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  qtest: Fix deadloop by running main loop AIO context's timers

qemu_clock_run_timers() only takes care of main_loop_tlg, we shouldn't
forget aio timer list groups.

Currently, the qemu_clock_deadline_ns_all (a few lines above) counts all
the timergroups of this clock type, including aio tlg, but we don't fire
them, so they are never cleared, which makes a dead loop.

For example, this function hangs when trying to drive throttled block
request queue with qtest clock_step.

Signed-off-by: Fam Zheng <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit efef88b3d9ad4325172ed288032807fa88d683cc)
Signed-off-by: Michael Roth <address@hidden>


  Commit: a97f9a7ec720d6f141cf4ee825f5c54c48747457
      
https://github.com/qemu/qemu/commit/a97f9a7ec720d6f141cf4ee825f5c54c48747457
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  exec: change default exception_index value for migration to -1

In QEMU 2.2 the exception_index value was added to the migration stream
through a subsection.  The default was set to 0, which is wrong and
should have been -1.

However, 2.2 does not have commit e511b4d (cpu-exec: reset exception_index
correctly, 2014-11-26), hence in 2.2 the exception_index is never used
and is set to -1 on the next call to cpu_exec.  So we can change the
migration stream to make the default -1.  The effects are:

- 2.2.1 -> 2.2.0: cpu->exception_index set incorrectly to 0 if it
were -1 on the source; then reset to -1 in cpu_exec.  This is TCG
only; KVM does not use exception_index.

- 2.2.0 -> 2.2.1: cpu->exception_index set incorrectly to -1 if it
were 0 on the source; but it would be reset to -1 in cpu_exec anyway.
This is TCG only; KVM does not use exception_index.

- 2.2.1 -> 2.1: two bugs fixed: 1) can migrate backwards if
cpu->exception_index is set to -1; 2) should not migrate backwards
(but 2.2.0 allows it) if cpu->exception_index is set to 0

- 2.2.0 -> 2.3.0: 2.2.0 will send the subsection unnecessarily if
exception_index is -1, but that is not a problem.  2.3.0 will set
cpu->exception_index to -1 if it is 0 on the source, but this would
be anyway a problem for 2.2.0 -> 2.2.x migration (due to lack of
commit e511b4d in 2.2.x) so we can ignore it

- 2.2.1 -> 2.3.0: everything works.

In addition, play it safe and never send the subsection unless TCG
is in use.  KVM does not use exception_index (PPC KVM stores values
in it for use in the subsequent call to ppc_cpu_do_interrupt, but
does not need it as soon as kvm_handle_debug returns).  Xen and
qtest do not run any code for the CPU at all.

Reported-by: Igor Mammedov <address@hidden>
Tested-by: Laurent Desnogues <address@hidden>
Tested-by: Eduardo Habkost <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
(cherry picked from commit adee64249ee37e822d578e65a765750e7f2081f6)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 3d1cd5997d24c83b5b1b534fc1650b715b5168cf
      
https://github.com/qemu/qemu/commit/3d1cd5997d24c83b5b1b534fc1650b715b5168cf
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-03-01 (Sun, 01 Mar 2015)

  Changed paths:
    M pc-bios/efi-e1000.rom
    M pc-bios/efi-eepro100.rom
    M pc-bios/efi-ne2k_pci.rom
    M pc-bios/efi-pcnet.rom
    M pc-bios/efi-rtl8139.rom
    M pc-bios/efi-virtio.rom
    M roms/ipxe

  Log Message:
  -----------
  update ipxe from 69313ed to 35c5379

Anton D. Kachalov (1):
      [intel] Add 8086:1557 card (Intel 82599 10G ethernet mezz)

Christian Hesse (1):
      [build] Merge util/geniso and util/genliso

Curtis Larsen (3):
      [efi] Use EFI_CONSOLE_CONTROL_PROTOCOL to set text mode if available
      [efi] Report errors from attempting to disconnect existing drivers
      [efi] Try various possible SNP receive filters

Dale Hamel (1):
      [smbios] Expose board serial number as ${board-serial}

Florian Schmaus (1):
      [build] Set GITVERSION only if there is a git repository

Hannes Reinecke (3):
      [ethernet] Provide eth_random_addr() to generate random Ethernet addresses
      [igbvf] Assign random MAC address if none is set
      [igbvf] Allow changing of MAC address

Jan Kiszka (1):
      [intel] Add I217-LM PCI ID

Marin Hannache (4):
      [nfs] Fix an invalid free() when loading a symlink
      [nfs] Fix an invalid free() when loading a regular (non-symlink) file
      [nfs] Rewrite NFS URI handling
      [readline] Add CTRL-W shortcut to remove a word

Michael Brown (144):
      [profile] Allow interrupts to be excluded from profiling results
      [intel] Exclude time spent in hypervisor from profiling
      [build] Fix version.o dependency upon git index
      [tcp] Defer sending ACKs until all received packets have been processed
      [lkrnprefix] Function as a bzImage kernel
      [build] Avoid errors when build directory is mounted via NFS
      [undi] Apply quota only to number of complete received packets
      [lkrnprefix] Make real-mode setup code relocatable
      [intel] Increase receive ring fill level
      [syslog] Strip invalid characters from hostname
      [test] Add self-tests for strdup()
      [libc] Prevent strndup() from reading beyond the end of the string
      [efi] Allow for optional protocols
      [efi] Make EFI_DEVICE_PATH_TO_TEXT_PROTOCOL optional
      [efi] Make EFI_HII_DATABASE_PROTOCOL optional
      [efi] Do not try to fetch loaded image device path protocol
      [ipv6] Fix definition of IN6_IS_ADDR_LINKLOCAL()
      [dhcpv6] Do not set sin6_scope_id on the unspecified client socket address
      [ipv6] Do not set sin6_scope_id on source address
      [ipv6] Include network device when transcribing multicast addresses
      [ipv6] Avoid potentially copying from a NULL pointer in ipv6_tx()
      [librm] Allow for the PIC interrupt vector offset to be changed
      [ifmgmt] Do not sleep CPU while configuring network devices
      [scsi] Improve sense code parsing
      [iscsi] Read IPv4 settings only from the relevant network device
      [iscsi] Include IP address origin in iBFT
      [debug] Allow debug message colours to be customised via DBGCOL=...
      [build] Expose build timestamp, build name, and product names
      [efi] Allow device paths to be easily included in debug messages
      [efi] Provide a meaningful EFI SNP device name
      [efi] Restructure EFI driver model
      [build] Fix erroneous object name in version object
      [build] Add yet another potential location for isolinux.bin
      [efi] Allow network devices to be created on top of arbitrary SNP devices
      [autoboot] Allow autoboot device to be identified by link-layer address
      [efi] Identify autoboot device by MAC address when chainloading
      [efi] Attempt to start only drivers claiming support for a device
      [efi] Rewrite SNP NIC driver
      [efi] Include SNP NIC driver within the all-drivers target
      [crypto] Add support for iPAddress subject alternative names
      [crypto] Fix debug message
      [netdevice] Reset network device index when last device is unregistered
      [efi] Update EDK2 headers
      [efi] Install our own disk I/O protocol and claim exclusive use of it
      [efi] Allow for interception of boot services calls by loaded image
      [efi] Print well-known GUIDs by name in debug messages
      [efi] Include EFI_CONSOLE_CONTROL_PROTOCOL header
      [ioapi] Fail ioremap() when attempting to map a zero bus address
      [intel] Check for ioremap() failures
      [realtek] Check for ioremap() failures
      [vmxnet3] Check for ioremap() failures
      [skel] Check for ioremap() failures
      [myson] Check for ioremap() failures
      [natsemi] Check for ioremap() failures
      [i386] Add functions to read and write model-specific registers
      [x86_64] Add functions to read and write model-specific registers
      [efi] Show more diagnostic information when building with DEBUG=efi_wrap
      [ioapi] Centralise notion of PAGE_SIZE
      [lotest] Discard packets arriving on the incorrect network device
      [xen] Import selected public headers
      [xen] Add basic support for PV-HVM domains
      [xen] Add support for Xen netfront virtual NICs
      [efi] Default to releasing network devices for use via SNP
      [efi] Unload started images only on failure
      [efi] Fill in loaded image's DeviceHandle if firmware fails to do so
      [efi] Fix incorrect debug message level when device has no device path
      [efi] Report exact failure when unable to open the device path
      [netdevice] Avoid registering duplicate network devices
      [efi] Ignore failures when attempting to install SNP HII protocol
      [efi] Expand the range of well-known EFI GUIDs in debug messages
      [efi] Provide efi_handle_name() for debugging
      [efi] Add ability to dump all openers of a given protocol on a handle
      [efi] Use efi_handle_name() instead of efi_handle_devpath_text()
      [efi] Use efi_handle_name() instead of efi_devpath_text() where applicable
      [efi] Allow compiler to perform type checks on EFI_HANDLE
      [efi] Avoid unnecessarily passing pointers to EFI_HANDLEs
      [efi] Dump existing openers when we are unable to open a protocol
      [efi] Dump handle information around connect/disconnect attempts
      [efi] Improve debugging of the debugging facilities
      [efi] Add excessive sanity checks into efi_debug functions
      [efi] Also try original ComponentName protocol for retrieving driver names
      [efi] Print raw device path when we have no DevicePathToTextProtocol
      [efi] Add ability to dump SNP device mode information
      [efi] Reset multicast filter list when setting SNP receive filters
      [efi] Provide centralised definitions of commonly-used GUIDs
      [efi] Open device path protocol only at point of use
      [efi] Move abstract device path and handle functions to efi_utils.c
      [efi] Generalise snpnet_pci_info() to efi_locate_device()
      [bios] Support displaying and hiding cursor
      [efi] Support displaying and hiding cursor
      [readline] Ensure cursor is visible when prompting for input
      [xen] Accept alternative Xen platform PCI device ID 5853:0002
      [xen] Use version 1 grant tables by default
      [xen] Cope with unexpected initial backend states
      [smc9000] Avoid using CONFIG as a preprocessor macro
      [build] Allow for named configurations at build time
      [intel] Display PBS value when applying ICH errata workaround
      [intel] Display before and after values for both PBS and PBA
      [intel] Apply PBS/PBA errata workaround only to ICH8 PCI device IDs
      [efi] Add definitions of GUIDs observed during Windows boot
      [efi] Dump details of any calls to our dummy block and disk I/O protocols
      [romprefix] Do not preserve unused register %di
      [build] Remove obsolete references to .zrom build targets
      [build] Allow ISA ROMs to be built
      [build] Avoid deleting config header files if build is interrupted
      [prefix] Halt system without burning CPU if we cannot access the payload
      [prefix] Report both %esi and %ecx when opening payload fails
      [util] Use PCI length field to obtain length of individual images
      [mromprefix] Use PCI length field to obtain length of individual images
      [mromprefix] Allow for .mrom images larger than 128kB
      [efi] Show details of intercepted LoadImage() calls
      [efi] Make our virtual file system case insensitive
      [efi] Wrap any images loaded by our wrapped image
      [efi] Use the SNP protocol instance to match the SNP chainloading device
      [efi] Avoid returning uninitialised data from PCI configuration space 
reads
      [efi] Make EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL optional
      [efi] Allow for non-PCI snpnet devices
      [build] Clean up all binary directories on "make [very]clean"
      [efi] Add efifatbin utility
      [efi] Provide dummy device path in efi_image_probe()
      [dhcp] Check for matching chaddr in received DHCP packets
      [dhcp] Remove obsolete dhcp_chaddr() function
      [build] Use -malign-double to build 32-bit UEFI binaries
      [efi] Centralise definitions of more protocol GUIDs
      [efi] Add definitions of GUIDs observed when chainloading from Intel 
driver
      [efi] Free transmit ring entry before calling netdev_tx_complete()
      [efi] Generalise snpnet_dev_info() to efi_device_info()
      [efi] Update to current EDK2 headers
      [efi] Add NII / UNDI driver
      [efi] Check for presence of UNDI in NII protocol
      [efi] Include NII driver within "snp" and "snponly" build targets
      [ping] Report timed-out pings via the callback function
      [ping] Allow termination after a specified number of packets
      [ping] Allow "ping" command output to be inhibited
      [intel] Use autoloaded MAC address instead of EEPROM MAC address
      [crypto] Fix parsing of OCSP responder ID key hash
      [vmxnet3] Add profiling code to exclude time spent in the hypervisor
      [netdevice] Fix erroneous use of free(iobuf) instead of free_iob(iobuf)
      [libc] Add ASSERTED macro to test if any assertion has triggered
      [list] Add sanity checks after list-adding functions
      [malloc] Tidy up debug output
      [malloc] Sanity check parameters to alloc_memblock() and free_memblock()
      [malloc] Check integrity of free list
      [malloc] Report caller address as soon as memory corruption is detected

Peter Lemenkov (1):
      [build] Check if git index actually exists

Robin Smidsrød (2):
      [build] Add named configuration for VirtualBox
      [build] Avoid using embedded script in VirtualBox named configuration

Sven Ulland (1):
      [lacp] Set "aggregatable" flag in response LACPDU

Signed-off-by: Gerd Hoffmann <address@hidden>
(cherry picked from commit c246cee4eedb17ae3932d699e009a8b63240235f)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 00fd8904f6383fca1c25e24d45a00960b0417749
      
https://github.com/qemu/qemu/commit/00fd8904f6383fca1c25e24d45a00960b0417749
  Author: Leon Alrae <address@hidden>
  Date:   2015-03-01 (Sun, 01 Mar 2015)

  Changed paths:
    M target-mips/machine.c

  Log Message:
  -----------
  target-mips: fix broken snapshotting

Recently added CP0.BadInstr and CP0.BadInstrP registers ended up in cpu_load()
under different offset than in cpu_save(). These and all registers between were
incorrectly restored.

Signed-off-by: Leon Alrae <address@hidden>
(cherry picked from commit b40a1530f294b5fa4479dc3ca9bf46c269d08d87)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 3e04f97cbc904fc8196774758c76343b3ee9ef6a
      
https://github.com/qemu/qemu/commit/3e04f97cbc904fc8196774758c76343b3ee9ef6a
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-03-01 (Sun, 01 Mar 2015)

  Changed paths:
    M hw/i386/kvm/apic.c
    M hw/intc/apic_common.c
    M include/hw/i386/apic_internal.h

  Log Message:
  -----------
  kvm/apic: fix 2.2->2.1 migration

The wait_for_sipi field is set back to 1 after an INIT, so it was not
effective to reset it in kvm_apic_realize.  Introduce a reset callback
and reset wait_for_sipi there.

Reported-by: Igor Mammedov <address@hidden>
Cc: address@hidden
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 575a6f4082c45778b93032ef1e7fbea4467b3a2a)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 4ec1b9b159b79cf391753ef19aeff2236a6c099c
      
https://github.com/qemu/qemu/commit/4ec1b9b159b79cf391753ef19aeff2236a6c099c
  Author: Jun Li <address@hidden>
  Date:   2015-03-08 (Sun, 08 Mar 2015)

  Changed paths:
    M hw/core/qdev.c

  Log Message:
  -----------
  qdev: Avoid type assertion in qdev_build_hotpluggable_device_list()

Currently when *obj is not a TYPE_DEVICE, QEMU will abort. This patch
fixes it. When *obj is not a TYPE_DEVICE, just do not add it to hotpluggable
device list.

This patch also fixes the following issue:
1. boot QEMU using cli:
$ /opt/qemu-git-arm/bin/qemu-system-x86_64 -monitor stdio -enable-kvm \
-device virtio-scsi-pci,id=scsi0

2. device_del scsi0 via hmp using tab key(first input device_del, then press
"Tab" key).
(qemu) device_del

After step 2, QEMU will abort.
(qemu) device_del hw/core/qdev.c:930:qdev_build_hotpluggable_device_list:
Object 0x5555563a2460 is not an instance of type device

Signed-off-by: Jun Li <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Cc: address@hidden
Signed-off-by: Andreas Färber <address@hidden>
(cherry picked from commit 09d560177101d2ef1e333754a25cfa49b70583b3)
Signed-off-by: Michael Roth <address@hidden>


  Commit: a958b9be8697dd2316669a83e85c68ccd85bfc49
      
https://github.com/qemu/qemu/commit/a958b9be8697dd2316669a83e85c68ccd85bfc49
  Author: Eduardo Habkost <address@hidden>
  Date:   2015-03-08 (Sun, 08 Mar 2015)

  Changed paths:
    M linux-user/main.c

  Log Message:
  -----------
  linux-user: Check for cpu_init() errors

This was the only caller of cpu_init() that was not checking for NULL
yet.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
(cherry picked from commit 696da41b1b741f6056e52c572e05abd790637be1)

Conflicts:
        linux-user/main.c

*removed context dependency on ec53b45

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


  Commit: 6c699aa9f98646bc5c58d042960ac7a7edf2d0e9
      
https://github.com/qemu/qemu/commit/6c699aa9f98646bc5c58d042960ac7a7edf2d0e9
  Author: Stefano Stabellini <address@hidden>
  Date:   2015-03-08 (Sun, 08 Mar 2015)

  Changed paths:
    M xen-hvm.c

  Log Message:
  -----------
  xen-hvm: increase maxmem before calling xc_domain_populate_physmap

Increase maxmem before calling xc_domain_populate_physmap_exact to
avoid the risk of running out of guest memory. This way we can also
avoid complex memory calculations in libxl at domain construction
time.

This patch fixes an abort() when assigning more than 4 NICs to a VM.

Signed-off-by: Stefano Stabellini <address@hidden>
Signed-off-by: Don Slutz <address@hidden>
(cherry picked from commit c1d322e6048796296555dd36fdd102d7fa2f50bf)
Signed-off-by: Michael Roth <address@hidden>


  Commit: dab0efc33fc839d76ca39353c3538052eabdb796
      
https://github.com/qemu/qemu/commit/dab0efc33fc839d76ca39353c3538052eabdb796
  Author: Igor Mammedov <address@hidden>
  Date:   2015-03-08 (Sun, 08 Mar 2015)

  Changed paths:
    M hw/i386/acpi-dsdt-cpu-hotplug.dsl

  Log Message:
  -----------
  pc: acpi: fix WindowsXP BSOD when memory hotplug is enabled

ACPI parser in XP considers PNP0A06 devices of CPU and
memory hotplug as duplicates. Adding unique _UID
to CPU hotplug device fixes BSOD.

Cc: address@hidden
Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
(cherry picked from commit 6d4e4cb9985e24557abcf3932a0e7f8f6ab3c1d2)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 16765a55c182e9610e9754465efb1845852aa994
      
https://github.com/qemu/qemu/commit/16765a55c182e9610e9754465efb1845852aa994
  Author: Michael Roth <address@hidden>
  Date:   2015-03-08 (Sun, 08 Mar 2015)

  Changed paths:
    M tests/acpi-test-data/pc/DSDT
    M tests/acpi-test-data/q35/DSDT

  Log Message:
  -----------
  acpi-test: update expected DSDT

Previous patch
    pc: acpi: fix WindowsXP BSOD when memory hotplug is enabled
changed DSDT, update expected test files.

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


  Commit: c4ca8af86deca543a1e19aac4cbaec052a3ea455
      
https://github.com/qemu/qemu/commit/c4ca8af86deca543a1e19aac4cbaec052a3ea455
  Author: Michael Roth <address@hidden>
  Date:   2015-03-08 (Sun, 08 Mar 2015)

  Changed paths:
    M hw/i386/acpi-dsdt.hex.generated
    M hw/i386/q35-acpi-dsdt.hex.generated

  Log Message:
  -----------
  acpi: update generated hex files

Previous patch
    pc: acpi: fix WindowsXP BSOD when memory hotplug is enabled
changed DSDT, update hex files for non-iasl builds.

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


  Commit: 07db6859abffa79db6290a5f9f4dfdf93148189f
      
https://github.com/qemu/qemu/commit/07db6859abffa79db6290a5f9f4dfdf93148189f
  Author: Kevin Wolf <address@hidden>
  Date:   2015-03-08 (Sun, 08 Mar 2015)

  Changed paths:
    M qemu-coroutine.c

  Log Message:
  -----------
  coroutine: Fix use after free with qemu_coroutine_yield()

Instead of using the same function for entering and exiting coroutines,
and hoping that it doesn't add any functionality that hurts with the
parameters used for exiting, we can just directly call into the real
task switch in qemu_coroutine_switch().

This fixes a use-after-free scenario where reentering a coroutine that
has yielded still accesses the old parent coroutine (which may have
meanwhile terminated) in the part of coroutine_swap() that follows
qemu_coroutine_switch().

Cc: address@hidden
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 80687b4dd6f43b3fef61fef8fbcb358457350562)
Signed-off-by: Michael Roth <address@hidden>


  Commit: c70221df1f89953e85a3f1f96ceefbd6888bb55f
      
https://github.com/qemu/qemu/commit/c70221df1f89953e85a3f1f96ceefbd6888bb55f
  Author: Kevin Wolf <address@hidden>
  Date:   2015-03-08 (Sun, 08 Mar 2015)

  Changed paths:
    M block/vpc.c

  Log Message:
  -----------
  vpc: Fix size in fixed image creation

If total_sectors is rounded to match the geometry, total_size needs to
be changed as well. Otherwise we end up with an image whose geometry
describes a disk larger than the image file, which doesn't end well.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
(cherry picked from commit c7dd631d482912fd615a9ef18a0e0691e7a84836)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 2001e197cf68a4f262a5a06e0ffe6dce3c2e2a7b
      
https://github.com/qemu/qemu/commit/2001e197cf68a4f262a5a06e0ffe6dce3c2e2a7b
  Author: Michael Roth <address@hidden>
  Date:   2015-03-10 (Tue, 10 Mar 2015)

  Changed paths:
    M VERSION

  Log Message:
  -----------
  Update version for v2.2.1 release

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


Compare: https://github.com/qemu/qemu/compare/7e213f853551^...2001e197cf68

reply via email to

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