qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] a29ac1: exec: Eliminate qemu_ram_free_from_pt


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] a29ac1: exec: Eliminate qemu_ram_free_from_ptr()
Date: Thu, 17 Dec 2015 11:00:06 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: a29ac16632aec6065c72985b9f7eeb1ca6fbef4a
      
https://github.com/qemu/qemu/commit/a29ac16632aec6065c72985b9f7eeb1ca6fbef4a
  Author: Eduardo Habkost <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M exec.c
    M include/exec/ram_addr.h
    M memory.c

  Log Message:
  -----------
  exec: Eliminate qemu_ram_free_from_ptr()

Replace qemu_ram_free_from_ptr() with qemu_ram_free().

The only difference between qemu_ram_free_from_ptr() and
qemu_ram_free() is that g_free_rcu() is used instead of
call_rcu(reclaim_ramblock). We can safely replace it because:

* RAM blocks allocated by qemu_ram_alloc_from_ptr() always have
  RAM_PREALLOC set;
* reclaim_ramblock(block) will do nothing except g_free(block)
  if RAM_PREALLOC is set at block->flags.

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


  Commit: fc3e7665d7fe1b2f842441d250d7afec26b8a910
      
https://github.com/qemu/qemu/commit/fc3e7665d7fe1b2f842441d250d7afec26b8a910
  Author: Eduardo Habkost <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M memory.c

  Log Message:
  -----------
  memory: Eliminate memory_region_destructor_ram_from_ptr()

The function is equivalent to memory_region_destructor_ram(), so
it's not needed anymore.

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


  Commit: 2f3a2bb15e665f23c885985226c4147db4ea35db
      
https://github.com/qemu/qemu/commit/2f3a2bb15e665f23c885985226c4147db4ea35db
  Author: Eduardo Habkost <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  exec: Remove unnecessary RAM_FILE flag

The only code that sets RAMBlock.fd is file_ram_alloc(), and the only
code that calls file_ram_alloc() sets the RAM_FILE flag. That means the
flag is always set when RAMBlock.fd >= 0, and the munmap() call at
reclaim_ramblock() is dead code that never runs.

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


  Commit: bc92e4e97ed62efa61ba983f57dfe33f10fe1d88
      
https://github.com/qemu/qemu/commit/bc92e4e97ed62efa61ba983f57dfe33f10fe1d88
  Author: Andrew Jones <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M kvm-all.c

  Log Message:
  -----------
  kvm-all: PAGE_SIZE should be real host page size

Just noticed this while grepping TARGET_PAGE_SIZE for an unrelated
reason. I didn't use qemu_real_host_page_size as kvm_set_phys_mem()
does, because we'd need to make sure page_size_init() has run first.

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


  Commit: 8c56c1a592b5092d91da8d8943c17777d6462a6f
      
https://github.com/qemu/qemu/commit/8c56c1a592b5092d91da8d8943c17777d6462a6f
  Author: Pavel Fedin <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M kvm-all.c
    M memory.c

  Log Message:
  -----------
  memory: emulate ioeventfd

The ioeventfd mechanism is used by vhost, dataplane, and virtio-pci to
turn guest MMIO/PIO writes into eventfd file descriptor events.  This
allows arbitrary threads to be notified when the guest writes to a
specific MMIO/PIO address.

qtest and TCG do not support ioeventfd because memory writes are not
checked against registered ioeventfds in QEMU.  This patch implements
this in memory_region_dispatch_write() so qtest can use ioeventfd.

Also this patch fixes vhost aborting on some misconfigured old kernels
like 3.18.0 on ARM. It is possible to explicitly enable CONFIG_EVENTFD
in expert settings, while MMIO binding support in KVM will still be
missing.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Pavel Fedin <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d29d4ff8efb68842f29409c625685518c69c3f49
      
https://github.com/qemu/qemu/commit/d29d4ff8efb68842f29409c625685518c69c3f49
  Author: Shmulik Ladkani <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M hw/scsi/vmw_pvscsi.c

  Log Message:
  -----------
  vmw_pvscsi: Set device subsystem and revision

To be VMware PVSCSI SCSI Controller, rev 02.
As reported by the VMware virtual hardware.

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


  Commit: 836fc48cbc83fba07a43a444db072fe41dacf9fd
      
https://github.com/qemu/qemu/commit/836fc48cbc83fba07a43a444db072fe41dacf9fd
  Author: Shmulik Ladkani <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M hw/scsi/vmw_pvscsi.c

  Log Message:
  -----------
  vmw_pvscsi: Change offset of msi pci capability

Place device reported MSI capability at the same offset as placed by
the VMware virtual hardware - at offset 0x7c.

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


  Commit: 952970ba5651e8f6d1fec7de0366c63a79cadfdb
      
https://github.com/qemu/qemu/commit/952970ba5651e8f6d1fec7de0366c63a79cadfdb
  Author: Shmulik Ladkani <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M hw/scsi/vmw_pvscsi.c
    M include/hw/compat.h

  Log Message:
  -----------
  vmw_pvscsi: Introduce 'x-old-pci-configuration' backword compatability 
property

Following the previous patches, which introduced various changes in
pvscsi's pci configuration space (device subsystem id and revision, msi
offset), this patch introduces a boolean property
'x-old-pci-configuration' to pvscsi.

Its default value is false, exposing the above changes in the pci config
space.

Setting 'x-old-pci-configuration' to 'on' preserves the old behavior,
which allows migration to older versions.

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


  Commit: e2d4f3f75b7a67c6c14c4d2e002b7baa0847c269
      
https://github.com/qemu/qemu/commit/e2d4f3f75b7a67c6c14c4d2e002b7baa0847c269
  Author: Shmulik Ladkani <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M hw/scsi/vmw_pvscsi.c

  Log Message:
  -----------
  vmw_pvscsi: coding: Introduce PVSCSIClass

Introduce a class type for pvscsi, and the usual
DEVICE_CLASS/DEVICE_GET_CLASS macros.

No semantic change.

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


  Commit: 1dd1305e66294d094a00af011a1bcd563171f8ea
      
https://github.com/qemu/qemu/commit/1dd1305e66294d094a00af011a1bcd563171f8ea
  Author: Shmulik Ladkani <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M hw/scsi/vmw_pvscsi.c

  Log Message:
  -----------
  vmw_pvscsi: The pvscsi device is a PCIE endpoint

Report the 'express endpoint' capability if on a PCIE bus.

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


  Commit: d5da3ef2e24c29ddb92e11a54d705873acb905bf
      
https://github.com/qemu/qemu/commit/d5da3ef2e24c29ddb92e11a54d705873acb905bf
  Author: Shmulik Ladkani <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M hw/scsi/vmw_pvscsi.c
    M include/hw/compat.h

  Log Message:
  -----------
  vmw_pvscsi: Introduce 'x-disable-pcie' backword compatability property

Following the previous patch which changed pvscsi to be a pci express
device, this patch introduces a boolean property 'x-disable-pcie'.

Its default value is false, exposing pvscsi as a pcie device.

Setting 'x-disable-pcie' to 'on' preserves the old 'pci device' (non
express) behavior. This allows migration to older versions.

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


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

  Changed paths:
    M hw/display/virtio-gpu.c
    M include/standard-headers/asm-x86/hyperv.h
    A include/standard-headers/linux/input-event-codes.h
    M include/standard-headers/linux/input.h
    M include/standard-headers/linux/pci_regs.h
    M include/standard-headers/linux/virtio_gpu.h
    M linux-headers/asm-arm64/kvm.h
    M linux-headers/asm-powerpc/unistd.h
    M linux-headers/asm-s390/kvm.h
    M linux-headers/asm-s390/unistd.h
    M linux-headers/asm-x86/unistd_32.h
    M linux-headers/asm-x86/unistd_64.h
    M linux-headers/asm-x86/unistd_x32.h
    M linux-headers/linux/kvm.h
    M linux-headers/linux/psci.h
    M scripts/update-linux-headers.sh

  Log Message:
  -----------
  linux-headers: update from kvm/next

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


  Commit: 866eea9a130d429d14ca10212a303cffc6af6c15
      
https://github.com/qemu/qemu/commit/866eea9a130d429d14ca10212a303cffc6af6c15
  Author: Andrey Smetanin <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

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

  Log Message:
  -----------
  target-i386/kvm: Hyper-V SynIC MSR's support

This patch does Hyper-V Synthetic interrupt
controller(Hyper-V SynIC) MSR's support and
migration. Hyper-V SynIC is enabled by cpu's
'hv-synic' option.

This patch does not allow cpu creation if
'hv-synic' option specified but kernel
doesn't support Hyper-V SynIC.

Changes v3:
* removed 'msr_hv_synic_version' migration because
it's value always the same
* moved SynIC msr's initialization into kvm_arch_init_vcpu

Signed-off-by: Andrey Smetanin <address@hidden>
Reviewed-by: Roman Kagan <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Paolo Bonzini <address@hidden>
CC: Richard Henderson <address@hidden>
CC: Eduardo Habkost <address@hidden>
CC: "Andreas Färber" <address@hidden>
CC: Marcelo Tosatti <address@hidden>
CC: Roman Kagan <address@hidden>
CC: Denis V. Lunev <address@hidden>
CC: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 977a8d9c0d33189b435442862a7ee943645f0947
      
https://github.com/qemu/qemu/commit/977a8d9c0d33189b435442862a7ee943645f0947
  Author: Andrey Smetanin <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

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

  Log Message:
  -----------
  kvm: Hyper-V SynIC irq routing support

Signed-off-by: Andrey Smetanin <address@hidden>
Reviewed-by: Roman Kagan <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Paolo Bonzini <address@hidden>
CC: Richard Henderson <address@hidden>
CC: Eduardo Habkost <address@hidden>
CC: "Andreas Färber" <address@hidden>
CC: Marcelo Tosatti <address@hidden>
CC: Roman Kagan <address@hidden>
CC: Denis V. Lunev <address@hidden>
CC: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 50efe82c3c27195162dd8df273eadd77d8aecad3
      
https://github.com/qemu/qemu/commit/50efe82c3c27195162dd8df273eadd77d8aecad3
  Author: Andrey Smetanin <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M target-i386/Makefile.objs
    A target-i386/hyperv.c
    A target-i386/hyperv.h
    M target-i386/kvm.c

  Log Message:
  -----------
  target-i386/hyperv: Hyper-V SynIC SINT routing and vcpu exit

Hyper-V SynIC(synthetic interrupt controller) helpers for
Hyper-V SynIC irq routing setup, irq injection, irq ack
notifications event/message pages changes tracking for future use.

Signed-off-by: Andrey Smetanin <address@hidden>
Reviewed-by: Roman Kagan <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Paolo Bonzini <address@hidden>
CC: Richard Henderson <address@hidden>
CC: Eduardo Habkost <address@hidden>
CC: "Andreas Färber" <address@hidden>
CC: Marcelo Tosatti <address@hidden>
CC: Roman Kagan <address@hidden>
CC: Denis V. Lunev <address@hidden>
CC: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b67dbb70703bbb156dccc654550b6ece27920490
      
https://github.com/qemu/qemu/commit/b67dbb70703bbb156dccc654550b6ece27920490
  Author: Andrey Smetanin <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M default-configs/i386-softmmu.mak
    M default-configs/x86_64-softmmu.mak
    M hw/misc/Makefile.objs
    A hw/misc/hyperv_testdev.c

  Log Message:
  -----------
  hw/misc: Hyper-V test device 'hyperv-testdev'

'hyperv-testdev' will be used by kvm-unit-tests
to setup Hyper-V SynIC SINT's routing and to inject
Hyper-V SynIC SINT's.

Hyper-V test device is ISA type device that creates 0x3000
IO memory region and catches write access into it. Every
write operation data decoded into ctl code and parameters
for Hyper-V test device.

Signed-off-by: Andrey Smetanin <address@hidden>
Reviewed-by: Roman Kagan <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Paolo Bonzini <address@hidden>
CC: Richard Henderson <address@hidden>
CC: Eduardo Habkost <address@hidden>
CC: "Andreas Färber" <address@hidden>
CC: Marcelo Tosatti <address@hidden>
CC: Roman Kagan <address@hidden>
CC: Denis V. Lunev <address@hidden>
CC: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: ff99aa64b13ea85ee35ec09c3fe720ad8bc83154
      
https://github.com/qemu/qemu/commit/ff99aa64b13ea85ee35ec09c3fe720ad8bc83154
  Author: Andrey Smetanin <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

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

  Log Message:
  -----------
  target-i386/kvm: Hyper-V SynIC timers MSR's support

Hyper-V SynIC timers are host timers that are configurable
by guest through corresponding MSR's (HV_X64_MSR_STIMER*).
Guest setup and use fired by host events(SynIC interrupt
and appropriate timer expiration message) as guest clock
events.

The state of Hyper-V SynIC timers are stored in corresponding
MSR's. This patch seria implements such MSR's support and migration.

Signed-off-by: Andrey Smetanin <address@hidden>
CC: Paolo Bonzini <address@hidden>
CC: Richard Henderson <address@hidden>
CC: Eduardo Habkost <address@hidden>
CC: "Andreas Färber" <address@hidden>
CC: Marcelo Tosatti <address@hidden>
CC: Denis V. Lunev <address@hidden>
CC: Roman Kagan <address@hidden>
CC: address@hidden

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


  Commit: 32c18a2dbaf79c241eddabd19a3b410bab5bf0cc
      
https://github.com/qemu/qemu/commit/32c18a2dbaf79c241eddabd19a3b410bab5bf0cc
  Author: Matt Gingell <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M hw/core/machine.c
    M hw/i386/pc_piix.c
    M include/hw/boards.h
    M include/sysemu/kvm.h
    M qapi/common.json
    M qemu-options.hx

  Log Message:
  -----------
  kvm: add support for -machine kernel_irqchip=split

This patch adds the initial plumbing for split IRQ chip mode via
KVM_CAP_SPLIT_IRQCHIP. In addition to option processing, a number of
kvm_*_in_kernel macros are defined to help clarify which component is
where.

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


  Commit: 15eafc2e602ff8c37c6e132eb8c63fec8fc17175
      
https://github.com/qemu/qemu/commit/15eafc2e602ff8c37c6e132eb8c63fec8fc17175
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/intc/ioapic.c
    M include/hw/i386/pc.h
    M include/sysemu/kvm.h
    M kvm-all.c
    M stubs/kvm.c
    M target-arm/kvm.c
    M target-i386/cpu.c
    M target-i386/kvm.c
    M target-i386/kvm_i386.h

  Log Message:
  -----------
  kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP

This patch adds support for split IRQ chip mode. When
KVM_CAP_SPLIT_IRQCHIP is enabled:

    1.) The PIC, PIT, and IOAPIC are implemented in userspace while
    the LAPIC is implemented by KVM.

    2.) The software IOAPIC delivers interrupts to the KVM LAPIC via
    kvm_set_irq. Interrupt delivery is configured via the MSI routing
    table, for which routes are reserved in target-i386/kvm.c then
    configured in hw/intc/ioapic.c

    3.) KVM delivers IOAPIC EOIs via a new exit KVM_EXIT_IOAPIC_EOI,
    which is handled in target-i386/kvm.c and relayed to the software
    IOAPIC via ioapic_eoi_broadcast.

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


  Commit: 31e38a22a0c5a25646f966f001e1f5513d5a186d
      
https://github.com/qemu/qemu/commit/31e38a22a0c5a25646f966f001e1f5513d5a186d
  Author: Olga Krishtal <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M qapi-schema.json
    M qemu-char.c

  Log Message:
  -----------
  qemu-char: append opt to stop truncation of serial file

Our QA team wants to preserve serial output of the guest in between QEMU
runs to perform post-analysis.

By default this behavior is off (file is truncated each time QEMU is
started or device is plugged).

Signed-off-by: Olga Krishtal <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Eric Blake <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 013a29424c9a1e4a74a108bbc117fef5581abb41
      
https://github.com/qemu/qemu/commit/013a29424c9a1e4a74a108bbc117fef5581abb41
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M exec.c
    M include/qemu/log.h
    M linux-user/main.c
    M target-cris/translate.c
    M target-ppc/excp_helper.c
    M target-ppc/translate.c
    M target-s390x/helper.c
    M target-s390x/mmu_helper.c

  Log Message:
  -----------
  qemu-log: introduce qemu_log_separate

In some cases, the same message is printed both on stderr and in the log.
Avoid duplicate output in the default case where stderr _is_ the log,
and standardize this to stderr+log where it used to use stdio+log.

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


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

  Changed paths:
    M hw/alpha/pci.c
    M trace-events

  Log Message:
  -----------
  alpha: convert "naked" qemu_log to tracepoint

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


  Commit: 79e8ed35977f9976b4df6f9b2550f46db77939ef
      
https://github.com/qemu/qemu/commit/79e8ed35977f9976b4df6f9b2550f46db77939ef
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M hw/char/etraxfs_ser.c
    M target-cris/helper.h
    M target-cris/op_helper.c
    M target-cris/translate.c
    M target-cris/translate_v10.c

  Log Message:
  -----------
  cris: avoid "naked" qemu_log

Reviewed-by: Edgar E. Iglesias <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1d512a65ac3e8aa07076111f74d89f54180826be
      
https://github.com/qemu/qemu/commit/1d512a65ac3e8aa07076111f74d89f54180826be
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M target-microblaze/helper.c
    M target-microblaze/mmu.c
    M target-microblaze/op_helper.c
    M target-microblaze/translate.c

  Log Message:
  -----------
  microblaze: avoid "naked" qemu_log

Reviewed-by: Edgar E. Iglesias <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


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

  Changed paths:
    M target-s390x/cc_helper.c
    M target-s390x/misc_helper.c

  Log Message:
  -----------
  s390x: avoid "naked" qemu_log

Convert to debug-only qemu_log.

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


  Commit: 48880da69644f9257b00daa937b8bbc69ddb60c7
      
https://github.com/qemu/qemu/commit/48880da69644f9257b00daa937b8bbc69ddb60c7
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M target-ppc/excp_helper.c
    M target-ppc/mmu-hash32.c
    M target-ppc/mmu-hash64.c
    M target-ppc/mmu_helper.c
    M target-ppc/timebase_helper.c
    M target-ppc/translate.c

  Log Message:
  -----------
  ppc: cleanup logging

Avoid "naked" qemu_log, bring documentation for DEBUG #defines
up to date.

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


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

  Changed paths:
    M target-tricore/helper.c

  Log Message:
  -----------
  tricore: avoid "naked" qemu_log

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


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

  Changed paths:
    M target-xtensa/gdbstub.c
    M target-xtensa/helper.c
    M target-xtensa/op_helper.c
    M target-xtensa/translate.c
    M target-xtensa/xtensa-semi.c

  Log Message:
  -----------
  xtensa: avoid "naked" qemu_log

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


  Commit: 13829020556e1571c78802dd4b12e0fbb6c49904
      
https://github.com/qemu/qemu/commit/13829020556e1571c78802dd4b12e0fbb6c49904
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M bsd-user/main.c
    M include/qemu/log.h
    M linux-user/elfload.c
    M linux-user/main.c
    M qemu-log.c

  Log Message:
  -----------
  user: introduce "-d page"

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


  Commit: 120a9848c2f667bf8f1a06772dc9cde064d92a7d
      
https://github.com/qemu/qemu/commit/120a9848c2f667bf8f1a06772dc9cde064d92a7d
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M linux-user/main.c

  Log Message:
  -----------
  linux-user: avoid "naked" qemu_log

Ensure that all log writes are protected by qemu_loglevel_mask or,
in serious cases, go to both the log and stderr.

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


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

  Changed paths:
    M bsd-user/signal.c
    M linux-user/signal.c
    M trace-events

  Log Message:
  -----------
  linux-user: convert DEBUG_SIGNAL logging to tracepoints

"Unimplemented" messages go to stderr, everything else goes to tracepoints

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


  Commit: 49b24afcb11d682d82747f706e3bd6174fe84062
      
https://github.com/qemu/qemu/commit/49b24afcb11d682d82747f706e3bd6174fe84062
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M exec.c
    M include/exec/memory.h
    M memory.c

  Log Message:
  -----------
  exec: always call qemu_get_ram_ptr within rcu_read_lock

Simplify the code and document the assumption.  The only caller
that is not within rcu_read_lock is memory_region_get_ram_ptr.

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


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

  Changed paths:
    M exec.c

  Log Message:
  -----------
  exec: make qemu_ram_ptr_length more similar to qemu_get_ram_ptr

Notably, use qemu_get_ram_block to enjoy the MRU optimization.

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


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

  Changed paths:
    M include/exec/memory.h

  Log Message:
  -----------
  memory: reorder MemoryRegion fields

Order fields so that all fields accessed during a RAM read/write fit in
the same cache line.

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


  Commit: 612263cf33062f7441a5d0e3b37c65991fdc3210
      
https://github.com/qemu/qemu/commit/612263cf33062f7441a5d0e3b37c65991fdc3210
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M include/exec/memory.h
    M memory.c

  Log Message:
  -----------
  memory: avoid unnecessary object_ref/unref

For the common case of DMA into non-hotplugged RAM, it is unnecessary
but expensive to do object_ref/unref.  Add back an owner field to
MemoryRegion, so that these memory regions can skip the reference
counting.

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


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

  Changed paths:
    M exec.c

  Log Message:
  -----------
  memory: split address_space_read and address_space_write

Rather than dispatching on is_write for every iteration, make
address_space_rw call one of the two functions.  The amount of
duplicate logic is pretty small, and memory_access_is_direct can
be tweaked so that it inlines better in the callers.

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


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

  Changed paths:
    M exec.c
    M include/exec/memory.h

  Log Message:
  -----------
  memory: extract first iteration of address_space_read and address_space_write

We want to inline the case where there is only one iteration, because
then the compiler can also inline the memcpy.  As a start, extract
everything after the first address_space_translate call.

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


  Commit: 1619d1fe737d2af068aefe134386a69b76164794
      
https://github.com/qemu/qemu/commit/1619d1fe737d2af068aefe134386a69b76164794
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M include/exec/memory.h
    M memory.c

  Log Message:
  -----------
  memory: inline a few small accessors

These are used in the address_space_* fast paths.

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


  Commit: 3cc8f884996584630734a90c9b3c535af81e3c92
      
https://github.com/qemu/qemu/commit/3cc8f884996584630734a90c9b3c535af81e3c92
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M exec.c
    M include/exec/memory.h
    M include/exec/ram_addr.h

  Log Message:
  -----------
  memory: try to inline constant-length reads

memcpy can take a large amount of time for small reads and writes.
Handle the common case of reading s/g descriptors from memory (there
is no corresponding "write" case that is as common, because writes
often use address_space_st* functions) by inlining the relevant
parts of address_space_read into the caller.

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


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

  Changed paths:
    M include/qemu/rcu.h

  Log Message:
  -----------
  rcu: optimize rcu_read_lock

rcu_read_lock cannot change rcu_gp_ongoing from true to false
(the previous value of p_rcu_reader->ctr is zero), hence
there is no need to check p_rcu_reader->waiting and wake up
a concurrent synchronize_rcu.

While at it mark the wakeup as unlikely in rcu_read_unlock.

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


  Commit: 4cae9c97967a0e6311858285a30c44208210b277
      
https://github.com/qemu/qemu/commit/4cae9c97967a0e6311858285a30c44208210b277
  Author: Michael Chapman <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  target-i386: kvm: clear unusable segments' flags in migration

This commit fixes migration of a QEMU/KVM guest from kernel >= v3.9 to
kernel <= v3.7 (e.g. from RHEL 7 to RHEL 6). Without this commit a guest
migrated across these kernel versions fails to resume on the target host
as its segment descriptors are invalid.

Two separate kernel commits combined together to result in this bug:

  commit f0495f9b9992f80f82b14306946444b287193390
  Author: Avi Kivity <address@hidden>
  Date:   Thu Jun 7 17:06:10 2012 +0300

      KVM: VMX: Relax check on unusable segment

      Some userspace (e.g. QEMU 1.1) munge the d and g bits of segment
      descriptors, causing us not to recognize them as unusable segments
      with emulate_invalid_guest_state=1.  Relax the check by testing for
      segment not present (a non-present segment cannot be usable).

      Signed-off-by: Avi Kivity <address@hidden>

  commit 25391454e73e3156202264eb3c473825afe4bc94
  Author: Gleb Natapov <address@hidden>
  Date:   Mon Jan 21 15:36:46 2013 +0200

      KVM: VMX: don't clobber segment AR of unusable segments.

      Usability is returned in unusable field, so not need to clobber entire
      AR. Callers have to know how to deal with unusable segments already
      since if emulate_invalid_guest_state=true AR is not zeroed.

      Signed-off-by: Gleb Natapov <address@hidden>
      Signed-off-by: Marcelo Tosatti <address@hidden>

The first commit changed the KVM_SET_SREGS ioctl so that it did no treat
segment flags == 0 as an unusable segment, instead only looking at the
"present" flag.

The second commit changed KVM_GET_SREGS so that it did not clear the
flags of an unusable segment.

Since QEMU does not itself maintain the "unusable" flag across a
migration, the end result is that unusable segments read from a kernel
with these commits and loaded into a kernel without these commits are
not properly recognised as being unusable.

This commit updates both get_seg and set_seg so that the problem is
avoided even when migrating to or migrating from a QEMU without this
commit. In get_seg, we clear the segment flags if the segment is marked
unusable. In set_seg, we mark the segment unusable if the segment's
"present" flag is not set.

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


  Commit: 8aad35f678799e9ddf11201a619aefb7c0f18dec
      
https://github.com/qemu/qemu/commit/8aad35f678799e9ddf11201a619aefb7c0f18dec
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

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

  Log Message:
  -----------
  scsi: use scsi_req_cancel_async when purging requests

This avoids calls to aio_poll without having acquired the context first.

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


  Commit: 36896bffd1330e09ee615f8c19d9e07520320a02
      
https://github.com/qemu/qemu/commit/36896bffd1330e09ee615f8c19d9e07520320a02
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

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

  Log Message:
  -----------
  scsi: always call notifier on async cancellation

This was found by code inspection.  If the request is cancelled twice,
the notifier is never called on the second cancellation request,
and hence for example a TMF might never finish.

All the calls in scsi_req_cancel_async are idempotent, so the change
is safe.

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


  Commit: 1e819697c909db7e534678ef8e41b8fac90b41f5
      
https://github.com/qemu/qemu/commit/1e819697c909db7e534678ef8e41b8fac90b41f5
  Author: Markus Armbruster <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M scripts/coverity-model.c

  Log Message:
  -----------
  coverity: Model g_poll()

In my testing, Coverity reported two more CHECKED_RETURN:

* qemu-char.c:1248: fixed in commit c1f2448: "qemu-char: retry g_poll
  on EINTR".

* migration/qemu-file-unix.c:75: harmless, cleaned up in commit
  4e39f57 "migration: Clean up use of g_poll() in
  socket_writev_buffer()

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


  Commit: 29cd81ffe3679bec9a062505e5b0d9a12f3558a8
      
https://github.com/qemu/qemu/commit/29cd81ffe3679bec9a062505e5b0d9a12f3558a8
  Author: Markus Armbruster <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M scripts/coverity-model.c

  Log Message:
  -----------
  coverity: Model g_memdup()

We model all the non-deprecated memory allocation functions from
https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html
except for g_memdup(), g_clear_pointer(), g_steal_pointer().  We don't
use the latter two.  Model the former.

Coverity now reports an OVERRUN
vl.c:2317: alloc_strlen: Allocating insufficient memory for the terminating 
null of the string.
Correct, but we omit the terminating null intentionally there.

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


  Commit: 6a6533213d78dea4407fe6933ad489796b582599
      
https://github.com/qemu/qemu/commit/6a6533213d78dea4407fe6933ad489796b582599
  Author: Peter Maydell <address@hidden>
  Date:   2015-12-17 (Thu, 17 Dec 2015)

  Changed paths:
    M bsd-user/main.c
    M bsd-user/signal.c
    M default-configs/i386-softmmu.mak
    M default-configs/x86_64-softmmu.mak
    M exec.c
    M hw/alpha/pci.c
    M hw/char/etraxfs_ser.c
    M hw/core/machine.c
    M hw/display/virtio-gpu.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/intc/ioapic.c
    M hw/misc/Makefile.objs
    A hw/misc/hyperv_testdev.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/vmw_pvscsi.c
    M include/exec/memory.h
    M include/exec/ram_addr.h
    M include/hw/boards.h
    M include/hw/compat.h
    M include/hw/i386/pc.h
    M include/qemu/log.h
    M include/qemu/rcu.h
    M include/standard-headers/asm-x86/hyperv.h
    A include/standard-headers/linux/input-event-codes.h
    M include/standard-headers/linux/input.h
    M include/standard-headers/linux/pci_regs.h
    M include/standard-headers/linux/virtio_gpu.h
    M include/sysemu/kvm.h
    M kvm-all.c
    M linux-headers/asm-arm64/kvm.h
    M linux-headers/asm-powerpc/unistd.h
    M linux-headers/asm-s390/kvm.h
    M linux-headers/asm-s390/unistd.h
    M linux-headers/asm-x86/unistd_32.h
    M linux-headers/asm-x86/unistd_64.h
    M linux-headers/asm-x86/unistd_x32.h
    M linux-headers/linux/kvm.h
    M linux-headers/linux/psci.h
    M linux-user/elfload.c
    M linux-user/main.c
    M linux-user/signal.c
    M memory.c
    M qapi-schema.json
    M qapi/common.json
    M qemu-char.c
    M qemu-log.c
    M qemu-options.hx
    M scripts/coverity-model.c
    M scripts/update-linux-headers.sh
    M stubs/kvm.c
    M target-arm/kvm.c
    M target-cris/helper.h
    M target-cris/op_helper.c
    M target-cris/translate.c
    M target-cris/translate_v10.c
    M target-i386/Makefile.objs
    M target-i386/cpu-qom.h
    M target-i386/cpu.c
    M target-i386/cpu.h
    A target-i386/hyperv.c
    A target-i386/hyperv.h
    M target-i386/kvm.c
    M target-i386/kvm_i386.h
    M target-i386/machine.c
    M target-microblaze/helper.c
    M target-microblaze/mmu.c
    M target-microblaze/op_helper.c
    M target-microblaze/translate.c
    M target-ppc/excp_helper.c
    M target-ppc/mmu-hash32.c
    M target-ppc/mmu-hash64.c
    M target-ppc/mmu_helper.c
    M target-ppc/timebase_helper.c
    M target-ppc/translate.c
    M target-s390x/cc_helper.c
    M target-s390x/helper.c
    M target-s390x/misc_helper.c
    M target-s390x/mmu_helper.c
    M target-tricore/helper.c
    M target-xtensa/gdbstub.c
    M target-xtensa/helper.c
    M target-xtensa/op_helper.c
    M target-xtensa/translate.c
    M target-xtensa/xtensa-semi.c
    M trace-events

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

* KVM: synic support, split irqchip support
* memory: cleanups, optimizations, ioeventfd emulation
* SCSI: small fixes, vmw_pvscsi compatibility improvements
* qemu_log cleanups
* Coverity model improvements

# gpg: Signature made Thu 17 Dec 2015 16:35:21 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: (45 commits)
  coverity: Model g_memdup()
  coverity: Model g_poll()
  scsi: always call notifier on async cancellation
  scsi: use scsi_req_cancel_async when purging requests
  target-i386: kvm: clear unusable segments' flags in migration
  rcu: optimize rcu_read_lock
  memory: try to inline constant-length reads
  memory: inline a few small accessors
  memory: extract first iteration of address_space_read and address_space_write
  memory: split address_space_read and address_space_write
  memory: avoid unnecessary object_ref/unref
  memory: reorder MemoryRegion fields
  exec: make qemu_ram_ptr_length more similar to qemu_get_ram_ptr
  exec: always call qemu_get_ram_ptr within rcu_read_lock
  linux-user: convert DEBUG_SIGNAL logging to tracepoints
  linux-user: avoid "naked" qemu_log
  user: introduce "-d page"
  xtensa: avoid "naked" qemu_log
  tricore: avoid "naked" qemu_log
  ppc: cleanup logging
  ...

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


Compare: https://github.com/qemu/qemu/compare/e5fbe28e5424...6a6533213d78

reply via email to

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