qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 79e9eb: target-i386: Intel MPX


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 79e9eb: target-i386: Intel MPX
Date: Fri, 24 Jan 2014 18:30:04 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 79e9ebebbf2a00c46fcedb6dc7dd5e12bbd30216
      
https://github.com/qemu/qemu/commit/79e9ebebbf2a00c46fcedb6dc7dd5e12bbd30216
  Author: Liu Jinsong <address@hidden>
  Date:   2013-12-12 (Thu, 12 Dec 2013)

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

  Log Message:
  -----------
  target-i386: Intel MPX

Add some MPX related definiation, and hardcode sizes and offsets
of xsave features 3 and 4. It also add corresponding part to
kvm_get/put_xsave, and vmstate.

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


  Commit: f86746c263753cf7a7e4bdb8829c70272dfcf36c
      
https://github.com/qemu/qemu/commit/f86746c263753cf7a7e4bdb8829c70272dfcf36c
  Author: Fernando Luis Vázquez Cao <address@hidden>
  Date:   2013-12-12 (Thu, 12 Dec 2013)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  target-i386: do not special case TSC writeback

Newer kernels are capable of synchronizing TSC values of multiple VCPUs
on writeback, but we were excluding the power up case, which is not needed
anymore.

Signed-off-by: Fernando Luis Vazquez Cao <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>

Signed-off-by: Fernando Luis Vázquez Cao <address@hidden>


  Commit: 0522604b09b8cff54ba2450a7478da2a4d084817
      
https://github.com/qemu/qemu/commit/0522604b09b8cff54ba2450a7478da2a4d084817
  Author: Fernando Luis Vázquez Cao <address@hidden>
  Date:   2013-12-12 (Thu, 12 Dec 2013)

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

  Log Message:
  -----------
  target-i386: clear guest TSC on reset

VCPU TSC is not cleared by a warm reset (*), which leaves some types of Linux
 guests (non-pvops guests and those with the kernel parameter no-kvmclock set)
vulnerable to the overflow in cyc2ns_offset fixed by upstream commit
9993bc635d01a6ee7f6b833b4ee65ce7c06350b1 ("sched/x86: Fix overflow in
cyc2ns_offset").

To put it in a nutshell, if such a Linux guest without the patch above applied
has been up more than 208 days and attempts a warm reset chances are that
the newly booted kernel will panic or hang.

(*) Intel Xeon E5 processors show the same broken behavior due to
    the errata "TSC is Not Affected by Warm Reset" (Intel® Xeon®
    Processor E5 Family Specification Update - August 2013): "The
    TSC (Time Stamp Counter MSR 10H) should be cleared on
    reset. Due to this erratum the TSC is not affected by warm
    reset."

Cc: Will Auld <address@hidden>
Cc: Marcelo Tosatti <address@hidden>
Signed-off-by: Fernando Luis Vazquez Cao <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Fernando Luis Vázquez Cao <address@hidden>


  Commit: a94b36ddd6af28593c8a5171b5100e6c3dfc063e
      
https://github.com/qemu/qemu/commit/a94b36ddd6af28593c8a5171b5100e6c3dfc063e
  Author: Alexander Graf <address@hidden>
  Date:   2013-12-13 (Fri, 13 Dec 2013)

  Changed paths:
    M exec.c
    M hw/core/loader.c
    M include/exec/cpu-common.h

  Log Message:
  -----------
  roms: Flush icache when writing roms to guest memory

We use the rom infrastructure to write firmware and/or initial kernel
blobs into guest address space. So we're basically emulating the cache
off phase on very early system bootup.

That phase is usually responsible for clearing the instruction cache for
anything it writes into cachable memory, to ensure that after reboot we
don't happen to execute stale bits from the instruction cache.

So we need to invalidate the icache every time we write a rom into guest
address space. We do not need to do this for every DMA since the guest
expects it has to flush the icache manually in that case.

This fixes random reboot issues on e5500 (booke ppc) for me.

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


  Commit: 6bdf863d942a267f984e4bd82be80cb2ac5b9915
      
https://github.com/qemu/qemu/commit/6bdf863d942a267f984e4bd82be80cb2ac5b9915
  Author: Jan Kiszka <address@hidden>
  Date:   2013-12-18 (Wed, 18 Dec 2013)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  kvm: x86: Separately write feature control MSR on reset

If the guest is running in nested mode on system reset, clearing the
feature MSR signals the kernel to leave this mode. Recent kernels
processes this properly, but leave the VCPU state undefined behind. It
is the job of userspace to bring it to a proper shape. Therefore, write
this specific MSR first so that no state transfer gets lost.

This allows to cleanly reset a guest with VMX in use.

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


  Commit: 2ba82852894c762299b7d05e9a2be184116b80f0
      
https://github.com/qemu/qemu/commit/2ba82852894c762299b7d05e9a2be184116b80f0
  Author: Marcelo Tosatti <address@hidden>
  Date:   2013-12-30 (Mon, 30 Dec 2013)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  mempath prefault: fix off-by-one error

Fix off-by-one error (noticed by Andrea Arcangeli).

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


  Commit: 33325a53f15ab5370e1917b2a11cadffc77c5a52
      
https://github.com/qemu/qemu/commit/33325a53f15ab5370e1917b2a11cadffc77c5a52
  Author: Paolo Bonzini <address@hidden>
  Date:   2014-01-15 (Wed, 15 Jan 2014)

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

  Log Message:
  -----------
  scsi: Assign cancel_io vector for scsi_disk_emulate_ops

Some emulated disk operations (MODE SELECT, UNMAP, WRITE SAME)
can trigger asynchronous I/Os.  Provide the cancel_io callback
to ensure that AIOCBs are properly cleaned up.

Signed-off-by: Eric Farman <address@hidden>
Cc: address@hidden
[Tweak commit message. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e9c0f0f58ad0a41c3c4b19e1911cfe095afc09ca
      
https://github.com/qemu/qemu/commit/e9c0f0f58ad0a41c3c4b19e1911cfe095afc09ca
  Author: Eric Farman <address@hidden>
  Date:   2014-01-15 (Wed, 15 Jan 2014)

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

  Log Message:
  -----------
  virtio-scsi: Cleanup of I/Os that never started

There is still a small window that occurs when a cancel I/O affects
an asynchronous I/O operation that hasn't started.  In other words,
when the residual data length equals the expected data length.

Today, the routine virtio_scsi_command_complete fails because the
VirtIOSCSIReq pointer (from the hba_private field in SCSIRequest)
was cleared earlier when virtio_scsi_complete_req was called by
the virtio_scsi_request_cancelled routine.  As a result, the
virtio_scsi_command_complete routine needs to simply return when
it is processing a SCSIRequest block that was marked canceled.

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


  Commit: 49fb65c7f985baa56d2964e0a85c1f098e3e2a9d
      
https://github.com/qemu/qemu/commit/49fb65c7f985baa56d2964e0a85c1f098e3e2a9d
  Author: Eric Farman <address@hidden>
  Date:   2014-01-15 (Wed, 15 Jan 2014)

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

  Log Message:
  -----------
  virtio-scsi: Prevent assertion on missed events

In some cases, an unplug can cause events to be dropped, which
leads to an assertion failure when preparing to notify the guest
kernel.

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


  Commit: dc6afb99b39a78cf416c6d19e35f680f202016be
      
https://github.com/qemu/qemu/commit/dc6afb99b39a78cf416c6d19e35f680f202016be
  Author: Jeff Cody <address@hidden>
  Date:   2014-01-15 (Wed, 15 Jan 2014)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  block: add .bdrv_reopen_prepare() stub for iscsi

To suppport reopen(), the .bdrv_reopen_prepare() stub must exist.
iSCSI does not have anything that needs to be done to support reopen,
so we can just implement the _prepare() stub.

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


  Commit: 94ccff133820552a859c0fb95e33a539e0b90a75
      
https://github.com/qemu/qemu/commit/94ccff133820552a859c0fb95e33a539e0b90a75
  Author: thomas knych <address@hidden>
  Date:   2014-01-15 (Wed, 15 Jan 2014)

  Changed paths:
    M kvm-all.c

  Log Message:
  -----------
  KVM: Retry KVM_CREATE_VM on EINTR

Upstreaming this change from Android 
(https://android-review.googlesource.com/54211).

On heavily loaded machines with many VM instances we see KVM_CREATE_VM
failing with EINTR on this path:

kvm_dev_ioctl_create_vm -> kvm_create_vm -> kvm_init_mmu_notifier -> 
mmu_notifier_register ->  do_mmu_notifier_register -> mm_take_all_locks

which checks if any signals have been raised while it was attaining locks
and returns EINTR.  Retrying the system call greatly improves reliability.

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


  Commit: 584f2be79de148b0765a758ac0c1036a29c5e830
      
https://github.com/qemu/qemu/commit/584f2be79de148b0765a758ac0c1036a29c5e830
  Author: Alexey Kardashevskiy <address@hidden>
  Date:   2014-01-15 (Wed, 15 Jan 2014)

  Changed paths:
    M kvm-all.c

  Log Message:
  -----------
  KVM: fix addr type for KVM_IOEVENTFD

The @addr here is a guest physical address and can easily be bigger
than 4G.

This changes uint32_t to hwaddr.

Cc: address@hidden
Cc: Michael S. Tsirkin <address@hidden>
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5319dc7b42610575cbd3a33f4340c1fb4f19b939
      
https://github.com/qemu/qemu/commit/5319dc7b42610575cbd3a33f4340c1fb4f19b939
  Author: Gerd Hoffmann <address@hidden>
  Date:   2014-01-16 (Thu, 16 Jan 2014)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/usb/Makefile.objs
    M hw/usb/bus.c
    A hw/usb/desc-msos.c
    M hw/usb/desc.c
    M hw/usb/desc.h
    M include/hw/i386/pc.h
    M include/hw/usb.h
    M trace-events

  Log Message:
  -----------
  usb: add support for microsoft os descriptors

This patch adds support for special usb descriptors used by microsoft
windows.  They allow more fine-grained control over driver binding and
adding entries to the registry for configuration.

As this is a guest-visible change the "msos-desc" compat property
has been added to turn this off for 1.7 + older

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


  Commit: 88678fbd9dbf01fd0988bcb651508378d85e868a
      
https://github.com/qemu/qemu/commit/88678fbd9dbf01fd0988bcb651508378d85e868a
  Author: Gerd Hoffmann <address@hidden>
  Date:   2014-01-16 (Thu, 16 Jan 2014)

  Changed paths:
    M hw/usb/dev-hid.c

  Log Message:
  -----------
  usb-hid: add microsoft os descriptor support

Set SelectiveSuspendEnabled registy entry to one.
This makes Windows use remote suspend by default,
without manual registry fiddeling.

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


  Commit: 1cb27d9233d572826b45bd8498d2fab1b6f01df9
      
https://github.com/qemu/qemu/commit/1cb27d9233d572826b45bd8498d2fab1b6f01df9
  Author: Paolo Bonzini <address@hidden>
  Date:   2014-01-16 (Thu, 16 Jan 2014)

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

  Log Message:
  -----------
  scsi: Support TEST UNIT READY in the dummy LUN0

SeaBIOS waits for LUN0 to respond to the TEST UNIT READY command
in order to decide whether it should part of the boot sequence.
If LUN0 does not respond to the command, boot is delayed by up
to 5 seconds.  This currently happens when there is no LUN0 on
a target.  Fix that by adding a trivial implementation of the
command.

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


  Commit: 39e6a38cdd4b235b2918b4977f31fde2c0da3bc4
      
https://github.com/qemu/qemu/commit/39e6a38cdd4b235b2918b4977f31fde2c0da3bc4
  Author: Gerd Hoffmann <address@hidden>
  Date:   2014-01-20 (Mon, 20 Jan 2014)

  Changed paths:
    M hw/audio/hda-codec.c

  Log Message:
  -----------
  hda-codec: disable streams on reset

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


  Commit: 0c2acb163fbb4579dad2d45595570b0a9ff71149
      
https://github.com/qemu/qemu/commit/0c2acb163fbb4579dad2d45595570b0a9ff71149
  Author: Paul Moore <address@hidden>
  Date:   2014-01-20 (Mon, 20 Jan 2014)

  Changed paths:
    M qemu-seccomp.c

  Log Message:
  -----------
  seccomp: add mkdir() and fchmod() to the whitelist

The PulseAudio library attempts to do a mkdir(2) and fchmod(2) on
"/run/user/<UID>/pulse" which is currently blocked by the syscall
filter; this patch adds the two missing syscalls to the whitelist.
You can reproduce this problem with the following command:

 # qemu -monitor stdio -device intel-hda -device hda-duplex

If watched under strace the following syscalls are shown:

 mkdir("/run/user/0/pulse", 0700)
 fchmod(11, 0700) [NOTE: 11 is the fd for /run/user/0/pulse]

Reported-by: address@hidden
Signed-off-by: Paul Moore <address@hidden>


  Commit: 918b94e2873cd5fe8aef06d269b4a4c7d0832ce7
      
https://github.com/qemu/qemu/commit/918b94e2873cd5fe8aef06d269b4a4c7d0832ce7
  Author: Paul Moore <address@hidden>
  Date:   2014-01-20 (Mon, 20 Jan 2014)

  Changed paths:
    M qemu-seccomp.c

  Log Message:
  -----------
  seccomp: add some basic shared memory syscalls to the whitelist

PulseAudio requires the use of shared memory so add shmget(), shmat(),
and shmdt() to the syscall whitelist.

Reported-by: address@hidden
Signed-off-by: Paul Moore <address@hidden>


  Commit: 439d19f2922ac409ee224bc1e5522cee7009d829
      
https://github.com/qemu/qemu/commit/439d19f2922ac409ee224bc1e5522cee7009d829
  Author: Paolo Bonzini <address@hidden>
  Date:   2014-01-20 (Mon, 20 Jan 2014)

  Changed paths:
    M target-i386/kvm.c

  Log Message:
  -----------
  kvm: always update the MPX model specific register

The original patch from Liu Jinsong restricted them to reset or full
state updates, but that's unnecessary (and wrong) since the BNDCFGS
MSR has no side effects.

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


  Commit: 2777ccc55bfe90bfa813b01faf36fa6ea16fbea8
      
https://github.com/qemu/qemu/commit/2777ccc55bfe90bfa813b01faf36fa6ea16fbea8
  Author: Stefan Weil <address@hidden>
  Date:   2014-01-20 (Mon, 20 Jan 2014)

  Changed paths:
    M ui/gtk.c

  Log Message:
  -----------
  gtk: Support keyboard translation for hosts running Windows

GTK uses different hardware keycodes on Windows hosts, so some special
handling is needed to get the QEMU keycode.

Signed-off-by: Stefan Weil <address@hidden>


  Commit: e9f526ab7b01662c323a47446e22308968221ac1
      
https://github.com/qemu/qemu/commit/e9f526ab7b01662c323a47446e22308968221ac1
  Author: Anthony Liguori <address@hidden>
  Date:   2014-01-24 (Fri, 24 Jan 2014)

  Changed paths:
    M block/iscsi.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M hw/scsi/virtio-scsi.c

  Log Message:
  -----------
  Merge remote-tracking branch 'bonzini/scsi-next' into staging

* bonzini/scsi-next:
  scsi: Support TEST UNIT READY in the dummy LUN0
  block: add .bdrv_reopen_prepare() stub for iscsi
  virtio-scsi: Prevent assertion on missed events
  virtio-scsi: Cleanup of I/Os that never started
  scsi: Assign cancel_io vector for scsi_disk_emulate_ops

Conflicts:
        block/iscsi.c

aliguori: resolve trivial merge conflict in block/iscsi.c

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


  Commit: f4b27793a8b948178ced486d1d32d1919bea81b2
      
https://github.com/qemu/qemu/commit/f4b27793a8b948178ced486d1d32d1919bea81b2
  Author: Anthony Liguori <address@hidden>
  Date:   2014-01-24 (Fri, 24 Jan 2014)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/usb/Makefile.objs
    M hw/usb/bus.c
    A hw/usb/desc-msos.c
    M hw/usb/desc.c
    M hw/usb/desc.h
    M hw/usb/dev-hid.c
    M include/hw/i386/pc.h
    M include/hw/usb.h
    M trace-events

  Log Message:
  -----------
  Merge remote-tracking branch 'kraxel/tags/pull-usb-2' into staging

usb core+hid: add support for microsoft os descriptors

# gpg: Signature made Tue 21 Jan 2014 02:21:29 AM PST using RSA key ID D3E87138
# gpg: Can't check signature: public key not found

* kraxel/tags/pull-usb-2:
  usb-hid: add microsoft os descriptor support
  usb: add support for microsoft os descriptors

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


  Commit: 14ac4febb22b4083a5a64b251ab15c94d7d65833
      
https://github.com/qemu/qemu/commit/14ac4febb22b4083a5a64b251ab15c94d7d65833
  Author: Anthony Liguori <address@hidden>
  Date:   2014-01-24 (Fri, 24 Jan 2014)

  Changed paths:
    M hw/audio/hda-codec.c

  Log Message:
  -----------
  Merge remote-tracking branch 'kraxel/tags/pull-audio-2' into staging

hda-codec: disable streams on reset

# gpg: Signature made Tue 21 Jan 2014 02:17:12 AM PST using RSA key ID D3E87138
# gpg: Can't check signature: public key not found

* kraxel/tags/pull-audio-2:
  hda-codec: disable streams on reset

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


  Commit: 7d64b2c2e22d956b358a97323f0d70060dcd9a06
      
https://github.com/qemu/qemu/commit/7d64b2c2e22d956b358a97323f0d70060dcd9a06
  Author: Anthony Liguori <address@hidden>
  Date:   2014-01-24 (Fri, 24 Jan 2014)

  Changed paths:
    M ui/gtk.c

  Log Message:
  -----------
  Merge remote-tracking branch 'sweil/tags/for_anthony' into staging

Initial patch for QEMU GTK support on Windows

# gpg: Signature made Mon 20 Jan 2014 11:37:58 AM PST using RSA key ID FAD62069
# gpg: Can't check signature: public key not found

* sweil/tags/for_anthony:
  gtk: Support keyboard translation for hosts running Windows

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


  Commit: 1c51e68b182bb335464bb19ad2517fd43c58c127
      
https://github.com/qemu/qemu/commit/1c51e68b182bb335464bb19ad2517fd43c58c127
  Author: Anthony Liguori <address@hidden>
  Date:   2014-01-24 (Fri, 24 Jan 2014)

  Changed paths:
    M qemu-seccomp.c

  Log Message:
  -----------
  Merge remote-tracking branch 'otubo/seccomp' into staging

* otubo/seccomp:
  seccomp: add some basic shared memory syscalls to the whitelist
  seccomp: add mkdir() and fchmod() to the whitelist

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


  Commit: 0169c511554cb0014a00290b0d3d26c31a49818f
      
https://github.com/qemu/qemu/commit/0169c511554cb0014a00290b0d3d26c31a49818f
  Author: Anthony Liguori <address@hidden>
  Date:   2014-01-24 (Fri, 24 Jan 2014)

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

  Log Message:
  -----------
  Merge remote-tracking branch 'qemu-kvm/uq/master' into staging

* qemu-kvm/uq/master:
  kvm: always update the MPX model specific register
  KVM: fix addr type for KVM_IOEVENTFD
  KVM: Retry KVM_CREATE_VM on EINTR
  mempath prefault: fix off-by-one error
  kvm: x86: Separately write feature control MSR on reset
  roms: Flush icache when writing roms to guest memory
  target-i386: clear guest TSC on reset
  target-i386: do not special case TSC writeback
  target-i386: Intel MPX

Conflicts:
        exec.c

aliguori: fix trivial merge conflict in exec.c

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


Compare: https://github.com/qemu/qemu/compare/0d688cf7d8d7...0169c511554c

reply via email to

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