qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 75e5b7: memfd: fix configure test


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 75e5b7: memfd: fix configure test
Date: Thu, 21 Dec 2017 10:19:24 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 75e5b70e6b5dcc4f2219992d7cffa462aa406af0
      
https://github.com/qemu/qemu/commit/75e5b70e6b5dcc4f2219992d7cffa462aa406af0
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-12-20 (Wed, 20 Dec 2017)

  Changed paths:
    M configure
    M util/memfd.c

  Log Message:
  -----------
  memfd: fix configure test

Recent glibc added memfd_create in sys/mman.h.  This conflicts with
the definition in util/memfd.c:

    /builddir/build/BUILD/qemu-2.11.0-rc1/util/memfd.c:40:12: error: static 
declaration of memfd_create follows non-static declaration

Fix the configure test, and remove the sys/memfd.h inclusion since the
file actually does not exist---it is a typo in the memfd_create(2) man
page.

Cc: Marc-André Lureau <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 68a9398261ca38979bbc2b7c89ed5bb044ccc9e6
      
https://github.com/qemu/qemu/commit/68a9398261ca38979bbc2b7c89ed5bb044ccc9e6
  Author: linzhecheng <address@hidden>
  Date:   2017-12-20 (Wed, 20 Dec 2017)

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

  Log Message:
  -----------
  qemu-thread: fix races on threads that exit very quickly

If we create a thread with QEMU_THREAD_DETACHED mode, QEMU may get a segfault 
with low probability.

The backtrace is:
   #0  0x00007f46c60291d7 in __GI_raise (address@hidden) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
   #1  0x00007f46c602a8c8 in __GI_abort () at abort.c:90
   #2  0x00000000008543c9 in PAT_abort ()
   #3  0x000000000085140d in patchIllInsHandler ()
   #4  <signal handler called>
   #5  pthread_detach (th=139933037614848) at pthread_detach.c:50
   #6  0x0000000000829759 in qemu_thread_create (address@hidden, address@hidden 
"io-task-worker", address@hidden <qio_task_thread_worker>,
       address@hidden, address@hidden) at util/qemu_thread_posix.c:512
   #7  0x00000000007ebc96 in qio_task_run_in_thread (task=0x31db2c0, 
address@hidden <qio_channel_socket_connect_worker>, opaque=0xcd23380, 
destroy=0x7f1180 <qapi_free_SocketAddress>)
       at io/task.c:141
   #8  0x00000000007e7f33 in qio_channel_socket_connect_async (address@hidden, 
addr=<optimized out>, address@hidden <qemu_chr_socket_connected>, 
address@hidden,
       address@hidden) at io/channel_socket.c:194
   #9  0x000000000055bdd1 in socket_reconnect_timeout (opaque=0x42862c0) at 
qemu_char.c:4744
   #10 0x00007f46c72483b3 in g_timeout_dispatch () from 
/usr/lib64/libglib-2.0.so.0
   #11 0x00007f46c724799a in g_main_context_dispatch () from 
/usr/lib64/libglib-2.0.so.0
   #12 0x000000000076c646 in glib_pollfds_poll () at main_loop.c:228
   #13 0x000000000076c6eb in os_host_main_loop_wait (timeout=348000000) at 
main_loop.c:273
   #14 0x000000000076c815 in main_loop_wait (address@hidden) at main_loop.c:521
   #15 0x000000000056a511 in main_loop () at vl.c:2076
   #16 0x0000000000420705 in main (argc=<optimized out>, argv=<optimized out>, 
envp=<optimized out>) at vl.c:4940

The cause of this problem is a glibc bug; for more information, see
https://sourceware.org/bugzilla/show_bug.cgi?id=19951.
The solution for this bug is to use pthread_attr_setdetachstate.

There is a similar issue with pthread_setname_np, which is moved
from creating thread to created thread.

Signed-off-by: linzhecheng <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
[Simplify the code by removing qemu_thread_set_name, and free the arguments
 before invoking the start routine. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: a4a9b6eaf35dbe4bf0e069854945bf5e45fc7eab
      
https://github.com/qemu/qemu/commit/a4a9b6eaf35dbe4bf0e069854945bf5e45fc7eab
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-12-20 (Wed, 20 Dec 2017)

  Changed paths:
    M include/scsi/utils.h
    M scsi/qemu-pr-helper.c
    M scsi/utils.c

  Log Message:
  -----------
  qemu-pr-helper: miscellaneous fixes

1) Return a generic sense if TEST UNIT READY does not provide one;

2) Fix two mistakes in copying from the spec.

Cc: address@hidden
Reported-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 2ba60ec1751844fe75d32dd80ebb3d72480b4b17
      
https://github.com/qemu/qemu/commit/2ba60ec1751844fe75d32dd80ebb3d72480b4b17
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-12-20 (Wed, 20 Dec 2017)

  Changed paths:
    A contrib/systemd/qemu-guest-agent.service
    A contrib/systemd/qemu-pr-helper.service
    A contrib/systemd/qemu-pr-helper.socket

  Log Message:
  -----------
  contrib: add systemd unit files

This lets distros standardize on how QEMU should install systemd
services for qemu-ga and qemu-pr-helper.

The qemu-ga unit file comes from Fedora, but I checked that
Debian is using the same path for the virtio-serisal port.

I would like to include this in 2.11, so that the qemu-pr-helper
socket can be standardized across distros.  Note however that
the files are not installed.  We can add a configure option
in 2.12 perhaps, but it's too late now; documenting the files
in the release notes should do.

Suggested-by: Daniel P. Berrange <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 07488549f884a658689370b9ef878dc50eced83e
      
https://github.com/qemu/qemu/commit/07488549f884a658689370b9ef878dc50eced83e
  Author: Fam Zheng <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

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

  Log Message:
  -----------
  scsi-block: Add share-rw option

Scsi-block doesn't use the DEFINE_BLOCK_PROPERTIES() macro so it didn't
gain the share-rw back when it was added to all other storage devices.
This option is meaningful here, and need to be used when attaching a
shared storage to guest.

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


  Commit: c2380365d1d6c8c9f920651a2a429c75d977a589
      
https://github.com/qemu/qemu/commit/c2380365d1d6c8c9f920651a2a429c75d977a589
  Author: Fam Zheng <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAITAINERS: List Fam Zheng as reviewer for SCSI patches

Just so that I notice those patches more easily.

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


  Commit: aff9e6e46a343e1404498be4edd03db1112f0950
      
https://github.com/qemu/qemu/commit/aff9e6e46a343e1404498be4edd03db1112f0950
  Author: Yang Zhong <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/cpu.h

  Log Message:
  -----------
  x86/cpu: Enable new SSE/AVX/AVX512 cpu features

Intel IceLake cpu has added new cpu features,AVX512_VBMI2/GFNI/
VAES/VPCLMULQDQ/AVX512_VNNI/AVX512_BITALG. Those new cpu features
need expose to guest VM.

The bit definition:
CPUID.(EAX=7,ECX=0):ECX[bit 06] AVX512_VBMI2
CPUID.(EAX=7,ECX=0):ECX[bit 08] GFNI
CPUID.(EAX=7,ECX=0):ECX[bit 09] VAES
CPUID.(EAX=7,ECX=0):ECX[bit 10] VPCLMULQDQ
CPUID.(EAX=7,ECX=0):ECX[bit 11] AVX512_VNNI
CPUID.(EAX=7,ECX=0):ECX[bit 12] AVX512_BITALG

The release document ref below link:
https://software.intel.com/sites/default/files/managed/c5/15/\
architecture-instruction-set-extensions-programming-reference.pdf

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


  Commit: da1cc323b8aee60d4816ce7521177b14ec3008b4
      
https://github.com/qemu/qemu/commit/da1cc323b8aee60d4816ce7521177b14ec3008b4
  Author: Evgeny Yakovlev <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/kvm.c

  Log Message:
  -----------
  hyperv: set partition-wide MSRs only on first vcpu

Hyper-V has a notion of partition-wide MSRs.  Those MSRs are read and
written as usual on each VCPU, however the hypervisor maintains a single
global value for all VCPUs.  Thus writing such an MSR from any single
VCPU affects the global value that is read by all other VCPUs.

This leads to an issue during VCPU hotplug: the zero-initialzied values
of those MSRs get synced into KVM and override the global values as has
already been set by the guest.

This change makes the partition-wide MSRs only be synchronized on the
first vcpu.

Signed-off-by: Evgeny Yakovlev <address@hidden>
Signed-off-by: Roman Kagan <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 689141dde2957894ae99315bb4e42e6ecd980248
      
https://github.com/qemu/qemu/commit/689141dde2957894ae99315bb4e42e6ecd980248
  Author: Roman Kagan <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M target/i386/kvm.c

  Log Message:
  -----------
  hyperv: ensure SINTx msrs are reset properly

Initially SINTx msrs should be in "masked" state.  To ensure that
happens on *every* reset, move setting their values to
kvm_arch_vcpu_reset.

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


  Commit: 09df29b665a91ba78b2187ce3b1967526ce121f6
      
https://github.com/qemu/qemu/commit/09df29b665a91ba78b2187ce3b1967526ce121f6
  Author: Roman Kagan <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/kvm.c

  Log Message:
  -----------
  hyperv: make SynIC version msr constant

The value of HV_X64_MSR_SVERSION is initialized once at vcpu init, and
is reset to zero on vcpu reset, which is wrong.

It is supposed to be a constant, so drop the field from X86CPU, set the
msr with the constant value, and don't bother getting it.

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


  Commit: ebd05fea9be1dfd043aaa763fb6d2cd971346a58
      
https://github.com/qemu/qemu/commit/ebd05fea9be1dfd043aaa763fb6d2cd971346a58
  Author: David Hildenbrand <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: make pause_all_cpus() play with SMP on single threaded TCG

pause_all_cpus() is sometimes called from a VCPU thread (e.g. s390x
during special reset). It cannot deal with multiple VCPUs per Thread
(single threaded TCG) yet.

Booting an s390x guest with -smp 2 and single threaded TCG from disk
currently fails. The DIAG 308 will issue a pause_all_cpus() and wait
forever for the CPUs to actually stop. But it is waiting for itself.

So let's stop all VCPUs belonging to the current thread. Factor out
stopping of a VCPU.

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


  Commit: d84be02d69a23dea249f351324d497f613994129
      
https://github.com/qemu/qemu/commit/d84be02d69a23dea249f351324d497f613994129
  Author: David Hildenbrand <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M accel/tcg/cpu-exec.c

  Log Message:
  -----------
  cpu-exec: fix missed CPU kick during interrupt injection

The conditional memory barrier not only looks strange but actually is
wrong.

On s390x, I can reproduce interrupts via cpu_interrupt() not leading to
a proper kick out of emulation every now and then. cpu_interrupt() is
especially used for inter CPU communication via SIGP (esp. external
calls and emergency interrupts).

With this patch, I was not able to reproduce. (esp. no stalls or hangs
in the guest).

My setup is s390x MTTCG with 16 VCPUs on 8 CPU host, running make -j16.

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


  Commit: a4926d99129a1d8072fc4681cd4efdb214f65ed4
      
https://github.com/qemu/qemu/commit/a4926d99129a1d8072fc4681cd4efdb214f65ed4
  Author: Stefan Weil <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: Fix compiler warnings

These gcc warnings are fixed:

target/i386/translate.c:4461:12: warning:
 variable 'prefixes' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
target/i386/translate.c:4466:9: warning:
 variable 'rex_w' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
target/i386/translate.c:4466:16: warning:
 variable 'rex_r' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]

Tested with x86_64-w64-mingw32-gcc from Debian stretch.

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


  Commit: 1ef7c96ee2133753f4aa48617ddbef10d5a88fc9
      
https://github.com/qemu/qemu/commit/1ef7c96ee2133753f4aa48617ddbef10d5a88fc9
  Author: Samuel Thibault <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M chardev/baum.c

  Log Message:
  -----------
  baum: Truncate braille device size to 84x1

Baum device bigger than 84 do not actually exist, but the user's own
Braille device might be wider than 84 columns.  Some guest drivers
would be upset by such sizes, so clamp the device size.

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


  Commit: 62473511ecbabdf737ba9053845e3551099b04bc
      
https://github.com/qemu/qemu/commit/62473511ecbabdf737ba9053845e3551099b04bc
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M include/qemu/sockets.h
    M qga/channel-posix.c
    M util/qemu-sockets.c

  Log Message:
  -----------
  sockets: remove obsolete code that updated listen address

When listening on unix/tcp sockets there was optional code that would update
the original SocketAddress struct with the info about the actual address that
was listened on. Since the conversion of everything to QIOChannelSocket, no
remaining caller made use of this feature. It has been replaced with the ability
to query the listen address after the fact using the function
qio_channel_socket_get_local_address. This is a better model when the input
address can result in listening on multiple distinct sockets.

Signed-off-by: Daniel P. Berrange <address@hidden>
Reviewed-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: cfcca361d77142f25fb1128755084cf91faa4db7
      
https://github.com/qemu/qemu/commit/cfcca361d77142f25fb1128755084cf91faa4db7
  Author: Peter Maydell <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: Fix handling of VEX prefixes

In commit e3af7c788b73a6495eb9d94992ef11f6ad6f3c56 we
replaced direct calls to to cpu_ld*_code() with calls
to the x86_ld*_code() wrappers which incorporate an
advance of s->pc. Unfortunately we didn't notice that
in one place the old code was deliberately not incrementing
s->pc:

@@ -4501,7 +4528,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState 
*cpu)
       static const int pp_prefix[4] = {
           0, PREFIX_DATA, PREFIX_REPZ, PREFIX_REPNZ
       };
-            int vex3, vex2 = cpu_ldub_code(env, s->pc);
+            int vex3, vex2 = x86_ldub_code(env, s);
        if (!CODE64(s) && (vex2 & 0xc0) != 0xc0) {
           /* 4.1.4.6: In 32-bit mode, bits [7:6] must be 11b,

This meant we were mishandling this set of instructions.
Remove the manual advance of s->pc for the "is VEX" case
(which is now done by x86_ldub_code()) and instead rewind
PC in the case where we decide that this isn't really VEX.

Signed-off-by: Peter Maydell <address@hidden>
Cc: address@hidden
Reported-by: Alexandro Sanchez Bach <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 92b540dac9fc3a572c7342edd0b073000f5a6abf
      
https://github.com/qemu/qemu/commit/92b540dac9fc3a572c7342edd0b073000f5a6abf
  Author: Thomas Huth <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M tests/boot-serial-test.c

  Log Message:
  -----------
  tests/boot-serial-test: Make sure that we check the timeout regularly

If the guest continuesly writes characters to the UART, we never leave
the inner while loop and thus never check whether we've reached the
timeout value. So if we fail to find the expected string in the UART
output, the test just hangs and never finishs. Use a counter to regularly
break out of the while loop to check the timeout.

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


  Commit: e12c08d3b67c4f4e5a16ee815188fc13632530ce
      
https://github.com/qemu/qemu/commit/e12c08d3b67c4f4e5a16ee815188fc13632530ce
  Author: Thomas Huth <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M tests/boot-serial-test.c

  Log Message:
  -----------
  tests/boot-serial-test: Add code to allow to specify our own kernel or bios

QEMU only ships with some few firmware images, i.e. we can currently run
the boot-serial test only on a very limited set of machines. But writing
some characters to the default UART of a machine can often be done with
some few lines of assembly, so we add the possibility to the boot-serial
tester to use its own mini-kernels or mini-firmwares. We write such images
then into a file that we can load with the "-kernel" or "-bios" parameter
when we launch QEMU.

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


  Commit: 7ce32f3005afef1feb6f6cd3a7e4f36a3ff300ab
      
https://github.com/qemu/qemu/commit/7ce32f3005afef1feb6f6cd3a7e4f36a3ff300ab
  Author: Thomas Huth <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M hw/moxie/moxiesim.c

  Log Message:
  -----------
  hw/moxie/moxiesim: Add support for loading a BIOS on moxiesim

The moxiesim machine already defines a memory region for a firmware,
but does not provide the possibility to load an image via "-bios" yet.
This will be needed for the boot-serial tester, so let's add support
for "-bios" here now.

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


  Commit: 80ceb07a83375e3a0091591f96bd47bce2f640ce
      
https://github.com/qemu/qemu/commit/80ceb07a83375e3a0091591f96bd47bce2f640ce
  Author: Peter Xu <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M cpus.c
    M exec.c
    M include/exec/exec-all.h
    M target/arm/cpu.c
    M target/i386/cpu.c

  Log Message:
  -----------
  cpu: refactor cpu_address_space_init()

Normally we create an address space for that CPU and pass that address
space into the function.  Let's just do it inside to unify address space
creations.  It'll simplify my next patch to rename those address spaces.

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


  Commit: 87a621d857be1b2b3dd1d0847ca311a863dbcb53
      
https://github.com/qemu/qemu/commit/87a621d857be1b2b3dd1d0847ca311a863dbcb53
  Author: Peter Xu <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  cpu: suffix cpu address spaces with cpu index

Renaming cpu address space names so that they won't be the same when
there are more than one.

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


  Commit: aef172ffdc2f9c41d9cc043a55f1259e7c07e587
      
https://github.com/qemu/qemu/commit/aef172ffdc2f9c41d9cc043a55f1259e7c07e587
  Author: Peter Lieven <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  block/iscsi: dont leave allocmap in an invalid state on UNMAP failure

we forgot to set the allocmap to invalid if an UNMAP call fails.

Cc: address@hidden
Signed-off-by: Peter Lieven <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e38bc23454ef763deb4405ebdee6a1081aa00bc8
      
https://github.com/qemu/qemu/commit/e38bc23454ef763deb4405ebdee6a1081aa00bc8
  Author: Peter Lieven <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  block/iscsi: only report an iSCSI Failure if we don't handle it gracefully

we currently report an "iSCSI Failure" in iscsi_co_generic_cb if the task
hasn't completed with SCSI_STATUS_GOOD. However, we expect a failure in
some cases and handle it gracefully. This is the case for misaligned UNMAPs
and WRITESAME10/16 calls without UNMAP. In this case a failure in the
logs can be quite misleading.

While we are at it improve the logging to reveal which operation failed
at what LBA.

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


  Commit: 8af36743c26372789b1c92606dd181b2a6d2ad53
      
https://github.com/qemu/qemu/commit/8af36743c26372789b1c92606dd181b2a6d2ad53
  Author: Peter Maydell <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  exec: Don't reuse unassigned_mem_ops for io_mem_rom

We set up the io_mem_rom special memory region using the
unassigned_mem_ops structure; this is then used when a guest tries to
write to ROM.  This is incorrect, because the behaviour of unassigned
memory may be different from that of ROM for writes.  In particular,
on some architectures writing to unassigned memory generates a guest
exception, whereas writing to ROM is generally ignored.  Use a
special readonly_mem_ops for this purpose instead, so writes to
ROM are ignored for all guest CPUs.

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


  Commit: 5fb3d632884cbc113d9d13b1c8b0c5f2a8c7bc0d
      
https://github.com/qemu/qemu/commit/5fb3d632884cbc113d9d13b1c8b0c5f2a8c7bc0d
  Author: Peter Maydell <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M hw/mips/boston.c

  Log Message:
  -----------
  hw/mips/boston: Remove workaround for writes to ROM aborting

Now that the memory system correctly handles writes to ROM for
guest CPUs that may generate exceptions for decode errors, we
can remove the workaround from the boston board.

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


  Commit: 7299e1a411de99761a4260e44b4f1cf2e4e126ef
      
https://github.com/qemu/qemu/commit/7299e1a411de99761a4260e44b4f1cf2e4e126ef
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M hw/i386/trace-events
    M hw/i386/vmport.c

  Log Message:
  -----------
  hw/i386/vmport: replace fprintf() by trace events or LOG_UNIMP

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
[Replace unknown command tracepoint with LOG_UNIMP, add
 generic tracepoint for vmport commands. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f68d98b21fa74155dc7c1fd212474379ac3c7531
      
https://github.com/qemu/qemu/commit/f68d98b21fa74155dc7c1fd212474379ac3c7531
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M hw/scsi/scsi-bus.c
    M include/scsi/utils.h
    M scsi/utils.c

  Log Message:
  -----------
  scsi: provide general-purpose functions to manage sense data

Extract the common parts of scsi_sense_buf_to_errno, scsi_convert_sense
and scsi_target_send_command's REQUEST SENSE handling into two new
functions scsi_parse_sense_buf and scsi_build_sense_buf.

Fix a bug in scsi_target_send_command along the way; the length was
written in buf[10] rather than buf[7].

Reported-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Fixes: b07fbce634 ("scsi-bus: correct responses for INQUIRY and REQUEST SENSE")
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 9661e208f8cc94f66176db6f069a0f8adef9478d
      
https://github.com/qemu/qemu/commit/9661e208f8cc94f66176db6f069a0f8adef9478d
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M scsi/utils.c

  Log Message:
  -----------
  scsi: replace hex constants with #defines

Sense keys have nice #defines in scsi/constants.h, use them.

Reported-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: ed57c757961d4518717502f908373331cb48f261
      
https://github.com/qemu/qemu/commit/ed57c757961d4518717502f908373331cb48f261
  Author: Thomas Huth <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M qemu-doc.texi
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  Remove legacy -no-kvm-pit option

It's only printing a warning since QEMU v1.3.0, so nobody should use
this anymore today. Let's get rid of this now.

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


  Commit: 0880a873007b51c06ab008366cbd5e510be15bad
      
https://github.com/qemu/qemu/commit/0880a873007b51c06ab008366cbd5e510be15bad
  Author: Peter Xu <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M hw/intc/i8259.c
    M hw/intc/trace-events

  Log Message:
  -----------
  i8259: convert DPRINTFs into trace

One thing to mention is that in pic_set_irq() I need to uncomment a few
lines in the macros to make sure IRQ value calculation is correct.

Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f260f7361ca6caf7bb672195c50db99eff26b856
      
https://github.com/qemu/qemu/commit/f260f7361ca6caf7bb672195c50db99eff26b856
  Author: Peter Xu <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M hw/intc/i8259.c

  Log Message:
  -----------
  i8259: use DEBUG_IRQ_COUNT always

It's not really scary to even enable it forever.  After all it's i8259,
and it's even not the kernel one.

Then we can remove quite a few of lines to make it cleaner.  And "info
irq" will always work for it.

Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1b23190aba72a974c9a08496bf6d45e14b60087a
      
https://github.com/qemu/qemu/commit/1b23190aba72a974c9a08496bf6d45e14b60087a
  Author: Peter Xu <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M hw/intc/i8259.c
    M hw/intc/i8259_common.c
    M include/hw/isa/i8259_internal.h

  Log Message:
  -----------
  i8259: generalize statistics into common code

It was only for userspace i8259.  Move it to general code so that
kvm-i8259 can also use it in the future.

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


  Commit: e267d16496e3998f271767a80ff9b0cc43be8a35
      
https://github.com/qemu/qemu/commit/e267d16496e3998f271767a80ff9b0cc43be8a35
  Author: Peter Xu <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M hw/i386/kvm/i8259.c
    M hw/intc/i8259_common.c

  Log Message:
  -----------
  kvm-i8259: support "info pic" and "info irq"

Let's leverage the i8259 common code for kvm-i8259 too.

I think it's still possible that stats can lost when i8259 is in kernel
and meanwhile when irqfd is used, e.g., by vfio or vhost devices.
However that should be rare IMHO since they should be using MSIs mostly
if they really want performance (that's why people use vhost and device
assignment), and no old INTx should be used.  As long as the INTx users
are emulated in QEMU the stats will be correct.

For "info pic", it should be always accurate since we fetch kvm regs
before dump.

More importantly, it's just too simple to do this now - it's only 10+
LOC to gain this feature.

Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b8c7723440324a7822acdb0b6f35c7ccb791862a
      
https://github.com/qemu/qemu/commit/b8c7723440324a7822acdb0b6f35c7ccb791862a
  Author: Peter Xu <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M hw/i386/kvm/i8259.c
    M hw/intc/i8259.c
    M hw/intc/i8259_common.c

  Log Message:
  -----------
  i8259: move TYPE_INTERRUPT_STATS_PROVIDER upper

Now both classes (i8259, i8259-kvm) support this.  Move this upper to
the common class code.

Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6b012d2311e5ba0a952c2dcfe4327a73353c9fdb
      
https://github.com/qemu/qemu/commit/6b012d2311e5ba0a952c2dcfe4327a73353c9fdb
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  checkpatch: volatile with a comment or sig_atomic_t is okay

This assumes that the comment gives some justification;
"volatile sig_atomic_t" is also self-explanatory and usually
correct.

Discussed in:
'[Qemu-devel] [PATCH] dump-guest-memory.py: fix "You can't do that without a 
process to debug"'

Suggested-by: Fam Zheng <address@hidden>
Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5a22ab71623c0fb709d49df353bdf2ec7c445c4c
      
https://github.com/qemu/qemu/commit/5a22ab71623c0fb709d49df353bdf2ec7c445c4c
  Author: Yang Zhong <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M configure
    M util/rcu.c

  Log Message:
  -----------
  rcu: reduce more than 7MB heap memory by malloc_trim()

Since there are some issues in memory alloc/free machenism
in glibc for little chunk memory, if Qemu frequently
alloc/free little chunk memory, the glibc doesn't alloc
little chunk memory from free list of glibc and still
allocate from OS, which make the heap size bigger and bigger.

This patch introduce malloc_trim(), which will free heap
memory when there is no rcu call during rcu thread loop.
malloc_trim() can be enabled/disabled by --enable-malloc-trim/
--disable-malloc-trim in the Qemu configure command. The
default malloc_trim() is enabled for libc.

Below are test results from smaps file.
(1)without patch
55f0783e1000-55f07992a000 rw-p 00000000 00:00 0  [heap]
Size:              21796 kB
Rss:               14260 kB
Pss:               14260 kB

(2)with patch
55cc5fadf000-55cc61008000 rw-p 00000000 00:00 0  [heap]
Size:              21668 kB
Rss:                6940 kB
Pss:                6940 kB

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


  Commit: d09c4a47874f30820b08c39ad39bcca9b8cde084
      
https://github.com/qemu/qemu/commit/d09c4a47874f30820b08c39ad39bcca9b8cde084
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M chardev/char-mux.c
    M chardev/char.c
    M include/chardev/char.h

  Log Message:
  -----------
  chardev: fix backend events regression with mux chardev

Kirill noticied that on recent versions on QEMU he was not able to
trigger SysRq to invoke debug capabilites of Linux Kernel.  He tracked
it down to qemu_chr_be_event() ignoring CHR_EVENT_BREAK due s->be
being NULL. The bug was introduced in 2.8, commit a4afa548fc6d ("char:
move front end handlers in CharBackend"). Since the commit, the
qemu_chr_be_event() failed to deliver CHR_EVENT_BREAK due to
qemu_chr_fe_init() does not set s->be in case of mux.

Let's fix this by teaching mux to send an event to the frontend with
the focus.

Reported-by: Kirill A. Shutemov <address@hidden>
Signed-off-by: Marc-André Lureau <address@hidden>
Fixes: a4afa548fc6d ("char: move front end handlers in CharBackend")
Message-Id: <address@hidden>
Tested-by: Kirill A. Shutemov <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d45f80ba82f281a35168011125cf6664cd217c22
      
https://github.com/qemu/qemu/commit/d45f80ba82f281a35168011125cf6664cd217c22
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M tests/test-char.c

  Log Message:
  -----------
  test: add some chardev mux event tests

Check the expected behaviour of qemu_chr_be_event() on a mux chardev.

For some reason, sending the event on the base chardev broadcast to
all frontends, while sending it on the mux chardev itself should
trigger the event on the currently focused chardev frontend.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 862172f45c38fb6c446cc8db8c9a3f5a9be1dee7
      
https://github.com/qemu/qemu/commit/862172f45c38fb6c446cc8db8c9a3f5a9be1dee7
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M blockdev-nbd.c

  Log Message:
  -----------
  blockdev: convert internal NBD server to QIONetListener

Instead of creating a QIOChannelSocket directly for the NBD
server socket, use a QIONetListener. This provides the ability
to listen on multiple sockets at the same time, so enables
full support for IPv4/IPv6 dual stack.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Daniel P. Berrange <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e4849c1d7cd4472ff4e747a6bcc1994a6e370307
      
https://github.com/qemu/qemu/commit/e4849c1d7cd4472ff4e747a6bcc1994a6e370307
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M qemu-nbd.c

  Log Message:
  -----------
  blockdev: convert qemu-nbd server to QIONetListener

Instead of creating a QIOChannelSocket directly for the NBD
server socket, use a QIONetListener. This provides the ability
to listen on multiple sockets at the same time, so enables
full support for IPv4/IPv6 dual stack. This also means we can
honour multiple FDs received during socket activation.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Daniel P. Berrange <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 194b7f0d448361dd58d2f7f189147cf075988255
      
https://github.com/qemu/qemu/commit/194b7f0d448361dd58d2f7f189147cf075988255
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  chardev: convert the socket server to QIONetListener

Instead of creating a QIOChannelSocket directly for the chardev
server socket, use a QIONetListener. This provides the ability
to listen on multiple sockets at the same time, so enables
full support for IPv4/IPv6 dual stack.

Signed-off-by: Daniel P. Berrange <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 23bafd75cd979ad3a21af10273c5a0c5d67d068b
      
https://github.com/qemu/qemu/commit/23bafd75cd979ad3a21af10273c5a0c5d67d068b
  Author: Peter Maydell <address@hidden>
  Date:   2017-12-21 (Thu, 21 Dec 2017)

  Changed paths:
    M MAINTAINERS
    M accel/tcg/cpu-exec.c
    M block/iscsi.c
    M blockdev-nbd.c
    M chardev/baum.c
    M chardev/char-mux.c
    M chardev/char-socket.c
    M chardev/char.c
    M configure
    A contrib/systemd/qemu-guest-agent.service
    A contrib/systemd/qemu-pr-helper.service
    A contrib/systemd/qemu-pr-helper.socket
    M cpus.c
    M exec.c
    M hw/i386/kvm/i8259.c
    M hw/i386/trace-events
    M hw/i386/vmport.c
    M hw/intc/i8259.c
    M hw/intc/i8259_common.c
    M hw/intc/trace-events
    M hw/mips/boston.c
    M hw/moxie/moxiesim.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M include/chardev/char.h
    M include/exec/exec-all.h
    M include/hw/isa/i8259_internal.h
    M include/qemu/sockets.h
    M include/scsi/utils.h
    M qemu-doc.texi
    M qemu-nbd.c
    M qemu-options.hx
    M qga/channel-posix.c
    M scripts/checkpatch.pl
    M scsi/qemu-pr-helper.c
    M scsi/utils.c
    M target/arm/cpu.c
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/kvm.c
    M target/i386/translate.c
    M tests/boot-serial-test.c
    M tests/test-char.c
    M util/memfd.c
    M util/qemu-sockets.c
    M util/qemu-thread-posix.c
    M util/rcu.c
    M vl.c

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

* NBD and chardev conversion to QIONetListener (Daniel)
* MTTCG fixes (David)
* Hyper-V fixes (Roman, Evgeny)
* share-rw option (Fam)
* Mux chardev event bugfix (Marc-André)
* Add systemd unit files in contrib/ (me)
* SCSI and block/iscsi.c bugfixes (me, Peter L.)
* unassigned_mem_ops fixes (Peter M.)
* VEX decoding fix (Peter M.)
* "info pic" and "info irq" improvements (Peter Xu)
* vmport trace events (Philippe)
* Braille chardev bugfix (Samuel)
* Compiler warnings fix (Stefan)
* initial support for TCG smoke test of more boards (Thomas)
* New CPU features (Yang)
* Reduce startup memory usage (Yang)
* QemuThread race fix (linhecheng)

# gpg: Signature made Thu 21 Dec 2017 08:30:49 GMT
# gpg:                using RSA key 0xBFFBD25F78C7AE83
# gpg: Good signature from "Paolo Bonzini <address@hidden>"
# gpg:                 aka "Paolo Bonzini <address@hidden>"
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini/tags/for-upstream: (41 commits)
  chardev: convert the socket server to QIONetListener
  blockdev: convert qemu-nbd server to QIONetListener
  blockdev: convert internal NBD server to QIONetListener
  test: add some chardev mux event tests
  chardev: fix backend events regression with mux chardev
  rcu: reduce more than 7MB heap memory by malloc_trim()
  checkpatch: volatile with a comment or sig_atomic_t is okay
  i8259: move TYPE_INTERRUPT_STATS_PROVIDER upper
  kvm-i8259: support "info pic" and "info irq"
  i8259: generalize statistics into common code
  i8259: use DEBUG_IRQ_COUNT always
  i8259: convert DPRINTFs into trace
  Remove legacy -no-kvm-pit option
  scsi: replace hex constants with #defines
  scsi: provide general-purpose functions to manage sense data
  hw/i386/vmport: replace fprintf() by trace events or LOG_UNIMP
  hw/mips/boston: Remove workaround for writes to ROM aborting
  exec: Don't reuse unassigned_mem_ops for io_mem_rom
  block/iscsi: only report an iSCSI Failure if we don't handle it gracefully
  block/iscsi: dont leave allocmap in an invalid state on UNMAP failure
  ...

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


Compare: https://github.com/qemu/qemu/compare/c3e7267935f2...23bafd75cd97

reply via email to

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