qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] cc5750: file_ram_alloc: propagate error to ca


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] cc5750: file_ram_alloc: propagate error to caller instead ...
Date: Thu, 05 Nov 2015 08:30:05 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: cc57501dee37376d0a2fbc5921e0f3a9ed4b117d
      
https://github.com/qemu/qemu/commit/cc57501dee37376d0a2fbc5921e0f3a9ed4b117d
  Author: Igor Mammedov <address@hidden>
  Date:   2015-11-02 (Mon, 02 Nov 2015)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  file_ram_alloc: propagate error to caller instead of terminating QEMU

QEMU shouldn't exits from file_ram_alloc() if -mem-prealloc option is specified
and "object_add memory-backend-file,..." fails allocation during memory hotplug.

Propagate error to a caller and let it decide what to do with allocation 
failure.
That leaves QEMU alive if it can't create backend during hotplug time and
kills QEMU at startup time if backends or initial memory were misconfigured/
too large.

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: aa5ccadcca3e6018ebd9d2e8b0a0604f7cb0cd59
      
https://github.com/qemu/qemu/commit/aa5ccadcca3e6018ebd9d2e8b0a0604f7cb0cd59
  Author: Fam Zheng <address@hidden>
  Date:   2015-11-02 (Mon, 02 Nov 2015)

  Changed paths:
    M scripts/texi2pod.pl

  Log Message:
  -----------
  scripts/text2pod.pl: Escape left brace

Latest perl now deprecates "{" literal in regex and print warnings like
"unescaped left brace in regex is deprecated".  Add escapes to keep it
happy.

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

Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 54c54f8b56047d3c2420e1ae06a6a8890c220ac4
      
https://github.com/qemu/qemu/commit/54c54f8b56047d3c2420e1ae06a6a8890c220ac4
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-11-04 (Wed, 04 Nov 2015)

  Changed paths:
    M target-i386/ops_sse.h

  Log Message:
  -----------
  target-i386: fix pcmpxstrx equal-ordered (strstr) mode

In this mode, referring an invalid element of the source forces the
result to false (table 4-7, last column) but referring an invalid
element of the destination forces the result to true, so the outer
loop should still be run even if some elements of the destination
will be invalid.  They will be avoided in the inner loop, which
correctly bounds "i" to validd, but they will still contribute to a
positive outcome of the search.

This fixes tst_strstr in glibc 2.17.

Reported-by: Florian Weimer <address@hidden>
Cc: Richard Henderson <address@hidden>
Cc: Eduardo Habkost <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6f94b7d97f7e0e486a70fb06b703442e2c04a29a
      
https://github.com/qemu/qemu/commit/6f94b7d97f7e0e486a70fb06b703442e2c04a29a
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-11-04 (Wed, 04 Nov 2015)

  Changed paths:
    M ioport.c
    M trace-events

  Log Message:
  -----------
  ioport: do not use CPU_LOG_IOPORT

These messages are disabled by default; a perfect usecase for tracepoints,
which in fact already exist.  Add the missing information to them and
stop using qemu_log_mask.

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


  Commit: ddcc8e9d51c415a7b7b2983c3552408d9a50be6e
      
https://github.com/qemu/qemu/commit/ddcc8e9d51c415a7b7b2983c3552408d9a50be6e
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-11-04 (Wed, 04 Nov 2015)

  Changed paths:
    M include/qemu/log.h
    M qemu-log.c

  Log Message:
  -----------
  qemu-log: remove -d ioport

It was disabled at compile-time, and is now replaced by tracepoints.

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


  Commit: de796d93f59d363409dfd9e186ccd64a21f92204
      
https://github.com/qemu/qemu/commit/de796d93f59d363409dfd9e186ccd64a21f92204
  Author: Eduardo Habkost <address@hidden>
  Date:   2015-11-04 (Wed, 04 Nov 2015)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c

  Log Message:
  -----------
  pc: Set hw_version on all machine classes

In 2012, QEMU had a bug where it exposed QEMU version information to the
guest, meaning a QEMU upgrade would expose different hardware to the
guest OS even if the same machine-type is being used.

The bug was fixed by commit 93bfef4c6e4b23caea9d51e1099d06433d8835a4, on
all machines up to pc-1.0. But we kept introducing the same bug on all
newer machines since then. That means we are breaking guest ABI every
time QEMU was upgraded.

Fix this by setting the hw_version on all PC machines, making sure the
hardware won't change when upgrading QEMU.

Note that QEMU_VERSION was "1.0" in QEMU 1.0, but starting on QEMU
1.1.0, it started following the "x.y.0" pattern. We have to follow it,
to make sure we use the right QEMU_VERSION string from each QEMU
release.

The 2.5 machine classes could have hw_version unset, because the default
value for qemu_get_version() is QEMU_VERSION. But I decided to set it
explicitly to QEMU_VERSION so we don't forget to update it to "2.5.0"
after we release 2.5.0 and create a 2.6 machine class.

Reported-by: Laszlo Ersek <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 35c2c8dc8c0899882a8e0d349d93bd657772f1e7
      
https://github.com/qemu/qemu/commit/35c2c8dc8c0899882a8e0d349d93bd657772f1e7
  Author: Eduardo Habkost <address@hidden>
  Date:   2015-11-04 (Wed, 04 Nov 2015)

  Changed paths:
    M hw/arm/nseries.c
    M hw/ide/core.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M include/qemu/osdep.h
    M target-i386/cpu.c
    M util/osdep.c
    M vl.c

  Log Message:
  -----------
  osdep: Rename qemu_{get, set}_version() to qemu_{, set_}hw_version()

This makes the purpose of the function clearer: it is not about the
version of QEMU that's running, but the version string exposed in the
emulated hardware.

Cc: Andrzej Zaborowski <address@hidden>
Cc: Peter Maydell <address@hidden>
Cc: John Snow <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 69fbd0ea25d1f45ab2c8b0d3f431e83063f977f2
      
https://github.com/qemu/qemu/commit/69fbd0ea25d1f45ab2c8b0d3f431e83063f977f2
  Author: Eduardo Habkost <address@hidden>
  Date:   2015-11-04 (Wed, 04 Nov 2015)

  Changed paths:
    M hw/scsi/megasas.c

  Log Message:
  -----------
  megasas: Use qemu_hw_version() instead of QEMU_VERSION

Guest visible data shouldn't change with a simple QEMU upgrade, so use
qemu_hw_version() to ensure it won't change (as long as the machine
class being used has hw_version set).

Cc: Hannes Reinecke <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Cc: address@hidden
Reviewed-by: Hannes Reinecke <address@hidden>
Acked-by: Laszlo Ersek <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 680a4783dc13f1059c03d11da58193d76c19ead6
      
https://github.com/qemu/qemu/commit/680a4783dc13f1059c03d11da58193d76c19ead6
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-11-04 (Wed, 04 Nov 2015)

  Changed paths:
    M exec.c
    M memory.c

  Log Message:
  -----------
  memory: call begin, log_start and commit when registering a new listener

This ensures that cpu_reload_memory_map() is called as soon as
tcg_cpu_address_space_init() is called, and before cpu->memory_dispatch
is used.  qemu-system-s390x never changes the address spaces after
tcg_cpu_address_space_init() is called, and thus tcg_commit() is never
called.  This causes a SIGSEGV.

Because memory_map_init() will now call mem_commit(), we have to
initialize io_mem_* before address_space_memory and friends.

Reported-by: Philipp Kern <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Fixes: 0a1c71cec63e95f9b8d0dc96d049d2daa00c5210
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0448f5f8b816923b198ab6c32286fd1f3b2f3e45
      
https://github.com/qemu/qemu/commit/0448f5f8b816923b198ab6c32286fd1f3b2f3e45
  Author: Stefan Weil <address@hidden>
  Date:   2015-11-04 (Wed, 04 Nov 2015)

  Changed paths:
    M cpu-exec.c

  Log Message:
  -----------
  cpu-exec: Fix compiler warning (-Werror=clobbered)

Reloading of local variables after sigsetjmp is only needed for some
buggy compilers.

The code which should reload these variables causes compiler warnings
with gcc 4.7 when compiler optimizations are enabled:

cpu-exec.c:204:15: error:
 variable ‘cpu’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
cpu-exec.c:207:15: error:
 variable ‘cc’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
cpu-exec.c:202:28: error:
 argument ‘env’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]

Now this code is only used for compilers which need it
(and gcc 4.5.x, x > 0 which does not need it but won't give warnings).

There were bug reports for clang and gcc 4.5.0, while gcc 4.5.1
was reported to work fine without the reload code. For clang it
is not clear which versions are affected, so simply keep the status quo
for all clang compilations. This can be improved later.

Signed-off-by: Stefan Weil <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5e4dfd3d4e87e0464d599ecef06aa8fe78420a9b
      
https://github.com/qemu/qemu/commit/5e4dfd3d4e87e0464d599ecef06aa8fe78420a9b
  Author: John Snow <address@hidden>
  Date:   2015-11-04 (Wed, 04 Nov 2015)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: disallow ccache during compile tests

If the user is using ccache during the configuration step,
it may interfere with some of the configuration tests,
particularly the "Is ccache interfering with macro analysis" step,
which is a bit of a poetic problem.

1) Disallow ccache from reading from the cache during configure,
   but don't disable it entirely to allow us to see if it causes other
   problems.

2) Force off CCACHE_CPP2 during the ccache test to get a deterministic
   answer over whether or not we need to enable that feature later.

Signed-off-by: John Snow <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 8d31d6b65a7448582c7bd320fd1b8cfc6cca2720
      
https://github.com/qemu/qemu/commit/8d31d6b65a7448582c7bd320fd1b8cfc6cca2720
  Author: Pavel Fedin <address@hidden>
  Date:   2015-11-04 (Wed, 04 Nov 2015)

  Changed paths:
    M exec.c
    M qemu-doc.texi

  Log Message:
  -----------
  backends/hostmem-file: Allow to specify full pathname for backing file

This allows to explicitly specify file name to use with the backend. This
is important when using it together with ivshmem in order to make it backed
by hugetlbfs. By default filename is autogenerated using mkstemp(), and the
file is unlink()ed after creation, effectively making it anonymous. This is
not very useful with ivshmem because it ends up in a memory which cannot be
accessed by something else.

Distinction between directory and file name is done by stat() check. If an
existing directory is given, the code keeps old behavior. Otherwise it
creates or opens a file with the given pathname.

Signed-off-by: Pavel Fedin <address@hidden>
Tested-by: Igor Skalkin <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b553a0428014636bce4951098e97c60dc18a83ed
      
https://github.com/qemu/qemu/commit/b553a0428014636bce4951098e97c60dc18a83ed
  Author: John Snow <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: disable FORTIFY_SOURCE under clang

Some versions of clang may have difficulty compiling glibc headers when
-D_FORTIFY_SOURCE is used. For example, Clang++ 3.5.0-9.fc22 cannot
compile glibc's stdio headers when -D_FORTIFY_SOURCE=2 is used. This
manifests currently as build failures with clang and any arm target.

According to LLVM dev Richard Smith, clang does not target or support
FORTIFY_SOURCE + glibc, and it should not be relied on.
"It's still an unsupported combination, and while it might compile, some
of the checks are unlikely to work because they require a frontend
inliner to be useful"

See: http://lists.llvm.org/pipermail/cfe-dev/2015-November/045846.html

Conclusion: disable fortify-source if we appear to be using clang instead
of testing for compile success or failure, which may be incidental or not
indicative of proper support of the feature.

Signed-off-by: John Snow <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0fd7e098db30e302d27920487f0afec33be8982a
      
https://github.com/qemu/qemu/commit/0fd7e098db30e302d27920487f0afec33be8982a
  Author: Liang Li <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M hw/i386/kvm/clock.c
    M target-i386/kvm.c
    M target-i386/kvm_i386.h

  Log Message:
  -----------
  kvmclock: add a new function to update env->tsc.

The commit 317b0a6d8 fixed an issue which caused by the outdated
env->tsc value, but the fix lead to 'cpu_synchronize_all_states()'
called twice during live migration. The 'cpu_synchronize_all_states()'
takes about 130us for a VM which has 4 vcpus, it's a bit expensive.

Synchronize the whole CPU context just for updating env->tsc is too
wasting, this patch use a new function to update the env->tsc.
Comparing to 'cpu_synchronize_all_states()', it only takes about 20us.

Signed-off-by: Liang Li <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6388acc853b7862761d3c2864be99033e8b62dcc
      
https://github.com/qemu/qemu/commit/6388acc853b7862761d3c2864be99033e8b62dcc
  Author: Liang Li <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M cpus.c
    M include/sysemu/cpus.h
    M include/sysemu/kvm.h
    M kvm-all.c

  Log Message:
  -----------
  Revert "Introduce cpu_clean_all_dirty"

This reverts commit de9d61e83d43be9069e6646fa9d57a3f47779d28.

Now 'cpu_clean_all_dirty' is useless, we can revert the related code.

Conflicts:
        include/sysemu/kvm.h

Signed-off-by: Liang Li <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e01dd3da5cf9aa90ae844d3b86c2c2762066edac
      
https://github.com/qemu/qemu/commit/e01dd3da5cf9aa90ae844d3b86c2c2762066edac
  Author: Fam Zheng <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: Translate scsi sense into error code

Previously we return -EIO blindly when anything goes wrong. Add a helper
function to parse sense fields and try to make the return code more
meaningful.

This also fixes the default werror configuration (enospc) when we're
using qcow2 on an iscsi lun. The old -EIO not being treated as out of
space error failed to trigger vm stop.

Signed-off-by: Fam Zheng <address@hidden>
Message-Id: <address@hidden>
[libiscsi 1.9 compatibility - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 496c1b19facc7b850fa0c09899fcc07a0702fbfd
      
https://github.com/qemu/qemu/commit/496c1b19facc7b850fa0c09899fcc07a0702fbfd
  Author: Peter Maydell <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M block/iscsi.c
    M configure
    M cpu-exec.c
    M cpus.c
    M exec.c
    M hw/arm/nseries.c
    M hw/i386/kvm/clock.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/ide/core.c
    M hw/scsi/megasas.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M include/qemu/log.h
    M include/qemu/osdep.h
    M include/sysemu/cpus.h
    M include/sysemu/kvm.h
    M ioport.c
    M kvm-all.c
    M memory.c
    M qemu-doc.texi
    M qemu-log.c
    M scripts/texi2pod.pl
    M target-i386/cpu.c
    M target-i386/kvm.c
    M target-i386/kvm_i386.h
    M target-i386/ops_sse.h
    M trace-events
    M util/osdep.c
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

* Guest ABI fixes for PC machines (hw_version)
* Fixes for recent Perl
* John Snow's configure fixes
* file-backed RAM improvements (Igor, Pavel)
* -Werror=clobbered fixes (Stefan)
* Kill -d ioport
* Fix qemu-system-s390x
* Performance improvement for kvmclock migration

# gpg: Signature made Thu 05 Nov 2015 13:42:27 GMT using RSA key ID 78C7AE83
# gpg: Good signature from "Paolo Bonzini <address@hidden>"
# gpg:                 aka "Paolo Bonzini <address@hidden>"

* remotes/bonzini/tags/for-upstream:
  iscsi: Translate scsi sense into error code
  Revert "Introduce cpu_clean_all_dirty"
  kvmclock: add a new function to update env->tsc.
  configure: disable FORTIFY_SOURCE under clang
  backends/hostmem-file: Allow to specify full pathname for backing file
  configure: disallow ccache during compile tests
  cpu-exec: Fix compiler warning (-Werror=clobbered)
  memory: call begin, log_start and commit when registering a new listener
  megasas: Use qemu_hw_version() instead of QEMU_VERSION
  osdep: Rename qemu_{get, set}_version() to qemu_{, set_}hw_version()
  pc: Set hw_version on all machine classes
  qemu-log: remove -d ioport
  ioport: do not use CPU_LOG_IOPORT
  target-i386: fix pcmpxstrx equal-ordered (strstr) mode
  scripts/text2pod.pl: Escape left brace
  file_ram_alloc: propagate error to caller instead of terminating QEMU

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


Compare: https://github.com/qemu/qemu/compare/8835b9df3bdd...496c1b19facc

reply via email to

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