[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 04d104: target-i386: Add ECX information to F
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 04d104: target-i386: Add ECX information to FeatureWordInf... |
Date: |
Tue, 07 May 2013 05:30:11 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 04d104b61198615c259d1851684b2713213dcf99
https://github.com/qemu/qemu/commit/04d104b61198615c259d1851684b2713213dcf99
Author: Eduardo Habkost <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M target-i386/cpu.c
Log Message:
-----------
target-i386: Add ECX information to FeatureWordInfo
FEAT_7_0_EBX uses ECX as input, so we have to take that into account
when reporting feature word values.
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: bd87d2a2c05569a28768648b069cbc24c40f4fb8
https://github.com/qemu/qemu/commit/bd87d2a2c05569a28768648b069cbc24c40f4fb8
Author: Eduardo Habkost <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M target-i386/cpu.c
Log Message:
-----------
target-i386: Use FeatureWord loop on filter_features_for_kvm()
Instead of open-coding the filtering code for each feature word, change
the existing code to use the feature_word_info array, that has exactly
the same CPUID eax/ecx/register values for each feature word.
Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 8e8aba5054c043027445c880fcb9dbc8f6a217f3
https://github.com/qemu/qemu/commit/8e8aba5054c043027445c880fcb9dbc8f6a217f3
Author: Eduardo Habkost <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M Makefile.objs
M qapi-schema.json
M target-i386/cpu.c
Log Message:
-----------
target-i386: Add "feature-words" property to X86CPU
This property will be useful for libvirt, as libvirt already has logic
based on low-level feature bits (not feature names), so it will be
really easy to convert the current libvirt logic to something using the
"feature-words" property.
The property will have two main use cases:
- Checking host capabilities, by checking the features of the "host"
CPU model
- Checking which features are enabled on each CPU model
Example output:
$ ./QMP/qmp --path=/tmp/m \
qom-get --path=/machine/icc-bridge/icc/child[0] \
--property=feature-words
item[0].cpuid-register: EDX
item[0].cpuid-input-eax: 2147483658
item[0].features: 0
item[1].cpuid-register: EAX
item[1].cpuid-input-eax: 1073741825
item[1].features: 0
item[2].cpuid-register: EDX
item[2].cpuid-input-eax: 3221225473
item[2].features: 0
item[3].cpuid-register: ECX
item[3].cpuid-input-eax: 2147483649
item[3].features: 101
item[4].cpuid-register: EDX
item[4].cpuid-input-eax: 2147483649
item[4].features: 563346425
item[5].cpuid-register: EBX
item[5].cpuid-input-eax: 7
item[5].features: 0
item[5].cpuid-input-ecx: 0
item[6].cpuid-register: ECX
item[6].cpuid-input-eax: 1
item[6].features: 2155880449
item[7].cpuid-register: EDX
item[7].cpuid-input-eax: 1
item[7].features: 126614521
Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 034acf4a581b03fc10cba772f731ae521e00fcd8
https://github.com/qemu/qemu/commit/034acf4a581b03fc10cba772f731ae521e00fcd8
Author: Eduardo Habkost <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M target-i386/cpu-qom.h
M target-i386/cpu.c
Log Message:
-----------
target-i386: Introduce X86CPU::filtered_features field
This field will contain the feature bits that were filtered out because
of missing host support.
Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 7e5292b553c9ec27e0816abdcb717f87aa6b6a8d
https://github.com/qemu/qemu/commit/7e5292b553c9ec27e0816abdcb717f87aa6b6a8d
Author: Eduardo Habkost <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M target-i386/cpu.c
Log Message:
-----------
target-i386: Add "filtered-features" property to X86CPU
This property will contain all the features that were removed from the
CPU because they are not supported by the host.
This way, libvirt or other management tools can emulate the
check/enforce behavior by checking if filtered-properties is all zeroes,
before starting the guest.
Example output where some features were missing:
$ qemu-system-x86_64 -enable-kvm -cpu Haswell,check -S \
-qmp unix:/tmp/m,server,nowait
warning: host doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22]
warning: host doesn't support requested feature: CPUID.01H:ECX.tsc-deadline
[bit 24]
warning: host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26]
warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
warning: host doesn't support requested feature: CPUID.07H:EBX.fsgsbase [bit
0]
warning: host doesn't support requested feature: CPUID.07H:EBX.bmi1 [bit 3]
warning: host doesn't support requested feature: CPUID.07H:EBX.hle [bit 4]
warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7]
warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8]
warning: host doesn't support requested feature: CPUID.07H:EBX.erms [bit 9]
warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid [bit
10]
warning: host doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11]
[...]
$ ./QMP/qmp --path=/tmp/m \
qom-get --path=/machine/icc-bridge/icc/child[0] \
--property=filtered-features
item[0].cpuid-register: EDX
item[0].cpuid-input-eax: 2147483658
item[0].features: 0
item[1].cpuid-register: EAX
item[1].cpuid-input-eax: 1073741825
item[1].features: 0
item[2].cpuid-register: EDX
item[2].cpuid-input-eax: 3221225473
item[2].features: 0
item[3].cpuid-register: ECX
item[3].cpuid-input-eax: 2147483649
item[3].features: 0
item[4].cpuid-register: EDX
item[4].cpuid-input-eax: 2147483649
item[4].features: 0
item[5].cpuid-register: EBX
item[5].cpuid-input-eax: 7
item[5].features: 4025
item[5].cpuid-input-ecx: 0
item[6].cpuid-register: ECX
item[6].cpuid-input-eax: 1
item[6].features: 356519936
item[7].cpuid-register: EDX
item[7].cpuid-input-eax: 1
item[7].features: 0
Example output when no feature is missing:
$ qemu-system-x86_64 -enable-kvm -cpu Nehalem,enforce -S \
-qmp unix:/tmp/m,server,nowait
[...]
$ ./QMP/qmp --path=/tmp/m \
qom-get --path=/machine/icc-bridge/icc/child[0] \
--property=filtered-features
item[0].cpuid-register: EDX
item[0].cpuid-input-eax: 2147483658
item[0].features: 0
item[1].cpuid-register: EAX
item[1].cpuid-input-eax: 1073741825
item[1].features: 0
item[2].cpuid-register: EDX
item[2].cpuid-input-eax: 3221225473
item[2].features: 0
item[3].cpuid-register: ECX
item[3].cpuid-input-eax: 2147483649
item[3].features: 0
item[4].cpuid-register: EDX
item[4].cpuid-input-eax: 2147483649
item[4].features: 0
item[5].cpuid-register: EBX
item[5].cpuid-input-eax: 7
item[5].features: 0
item[5].cpuid-input-ecx: 0
item[6].cpuid-register: ECX
item[6].cpuid-input-eax: 1
item[6].features: 0
item[7].cpuid-register: EDX
item[7].cpuid-input-eax: 1
item[7].features: 0
Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: b1fe9bcbceb6fb9d800f735da37aa79ac4552c6e
https://github.com/qemu/qemu/commit/b1fe9bcbceb6fb9d800f735da37aa79ac4552c6e
Author: Andreas Färber <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M hw/core/qdev-properties.c
M hw/core/qdev.c
M include/hw/qdev-properties.h
M qdev-monitor.c
Log Message:
-----------
qdev: Let qdev_prop_parse() pass through Error
Move error reporting to callers.
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 868d378bb087c6003bfa0e431aec0e5871a90ff4
https://github.com/qemu/qemu/commit/868d378bb087c6003bfa0e431aec0e5871a90ff4
Author: Andreas Färber <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M hw/core/qdev-properties.c
M include/hw/qdev-properties.h
Log Message:
-----------
qdev: Introduce qdev_prop_set_globals_for_type()
Reuse it in qdev_prop_set_globals().
Reviewed-by: Eduardo Habkost <address@hidden>
[AF: Renamed from qdev_prop_set_custom_globals()]
Signed-off-by: Andreas Färber <address@hidden>
Commit: ba2bc7a42e7c7b343f996967484ce3a1543cfebc
https://github.com/qemu/qemu/commit/ba2bc7a42e7c7b343f996967484ce3a1543cfebc
Author: Andreas Färber <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M target-i386/cpu.c
Log Message:
-----------
target-i386: Emulate X86CPU subclasses for global properties
After initializing the object from its x86_def_t and before setting any
additional -cpu arguments, set any global properties for the designated
subclass <name>-{i386,x86_64}-cpu.
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: b2a856d99281f2fee60a4313d204205bcd2c4269
https://github.com/qemu/qemu/commit/b2a856d99281f2fee60a4313d204205bcd2c4269
Author: Andreas Färber <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M include/hw/i386/pc.h
M target-i386/cpu.c
Log Message:
-----------
target-i386: Change CPUID model of 486 to 8
This changes the model number of 486 to 8 (DX4) which matches the
feature set presented, and actually has the CPUID instruction.
This adds a compatibility property, to keep model=0 on pc-*-1.4 and older.
Signed-off-by: H. Peter Anvin <address@hidden>
[AF: Add compat_props entry]
Tested-by: Eduardo Habkost <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 0668af542f99b7bb1d95539829b27d5a1bcecde4
https://github.com/qemu/qemu/commit/0668af542f99b7bb1d95539829b27d5a1bcecde4
Author: Eduardo Habkost <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M target-i386/cpu.c
M target-i386/cpu.h
Log Message:
-----------
target-i386: Introduce generic CPUID feature compat function
Introduce x86_cpu_compat_set_features(), that can be used to set/unset
feature bits on specific CPU models for machine-type compatibility.
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 4458c23672904fa131e69897007eeb7c953be7e5
https://github.com/qemu/qemu/commit/4458c23672904fa131e69897007eeb7c953be7e5
Author: Borislav Petkov <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
M target-i386/cpu.c
Log Message:
-----------
target-i386: n270 can MOVBE
The Atom core (cpu name "n270" in QEMU speak) supports MOVBE. This is
needed when booting 3.8 and later linux kernels built with the MATOM
target because we require MOVBE in order to boot properly now.
Signed-off-by: Borislav Petkov <address@hidden>
[ehabkost: added compat code to disable MOVBE on pc-*-1.4 and older]
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 95efb20c714800de7eaf991f19dab6e7a29d5364
https://github.com/qemu/qemu/commit/95efb20c714800de7eaf991f19dab6e7a29d5364
Author: Gerd Hoffmann <address@hidden>
Date: 2013-05-06 (Mon, 06 May 2013)
Changed paths:
M hw/usb/host-libusb.c
Log Message:
-----------
usb-host: live migration support for the libusb version
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: c3268cc1135f41264cd26bcb269b3414d3c11453
https://github.com/qemu/qemu/commit/c3268cc1135f41264cd26bcb269b3414d3c11453
Author: Gerd Hoffmann <address@hidden>
Date: 2013-05-07 (Tue, 07 May 2013)
Changed paths:
M hw/usb/host-libusb.c
Log Message:
-----------
usb-host: add usb_host_full_speed_compat
Alloes to pass through usb2 devices on usb1 host controllers if possible.
Brings the libusb implementation to feature-parity with the linux usbfs
code, so the usb-host implementation in 1.5 (libusb) doesn't regress
compared to 1.4 (usbfs).
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 9822261ce3bfbc7aec8b2a3e378892dc368910ed
https://github.com/qemu/qemu/commit/9822261ce3bfbc7aec8b2a3e378892dc368910ed
Author: Hans de Goede <address@hidden>
Date: 2013-05-07 (Tue, 07 May 2013)
Changed paths:
M hw/usb/hcd-uhci.c
Log Message:
-----------
uhci: Use an intermediate buffer for usb packet data
Due to various unfortunate reasons we cannot reliable detect a guest
cancelling a packet as soon as it happens, instead we detect cancels
with some delay.
When packets are handled async, and we directly pass the guest memory for
the packet to the usb-device as iovec, this means that the usb-device can
write to guest-memory which the guest has already re-used for other purposes
-> not good!
This patch fixes this by adding an intermediate buffer and writing back not
only the result, but also the data, of async completed packets when scanning
the schedule.
Signed-off-by: Hans de Goede <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 4e906d567a97ee45b4922001bf521dad0bde5268
https://github.com/qemu/qemu/commit/4e906d567a97ee45b4922001bf521dad0bde5268
Author: Gerd Hoffmann <address@hidden>
Date: 2013-05-07 (Tue, 07 May 2013)
Changed paths:
M hw/usb/hcd-xhci.c
Log Message:
-----------
xhci: handle USB_RET_BABBLE
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: fd8192a5a868ddbb711abbf4a871b09bbb1dae04
https://github.com/qemu/qemu/commit/fd8192a5a868ddbb711abbf4a871b09bbb1dae04
Author: Anthony Liguori <address@hidden>
Date: 2013-05-07 (Tue, 07 May 2013)
Changed paths:
M Makefile.objs
M hw/core/qdev-properties.c
M hw/core/qdev.c
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
M include/hw/i386/pc.h
M include/hw/qdev-properties.h
M qapi-schema.json
M qdev-monitor.c
M target-i386/cpu-qom.h
M target-i386/cpu.c
M target-i386/cpu.h
Log Message:
-----------
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
# By Eduardo Habkost (6) and others
# Via Andreas Färber
* afaerber/qom-cpu:
target-i386: n270 can MOVBE
target-i386: Introduce generic CPUID feature compat function
target-i386: Change CPUID model of 486 to 8
target-i386: Emulate X86CPU subclasses for global properties
qdev: Introduce qdev_prop_set_globals_for_type()
qdev: Let qdev_prop_parse() pass through Error
target-i386: Add "filtered-features" property to X86CPU
target-i386: Introduce X86CPU::filtered_features field
target-i386: Add "feature-words" property to X86CPU
target-i386: Use FeatureWord loop on filter_features_for_kvm()
target-i386: Add ECX information to FeatureWordInfo
Commit: d7108d90100d5bac5965abef5ed73f2602adae14
https://github.com/qemu/qemu/commit/d7108d90100d5bac5965abef5ed73f2602adae14
Author: Jason Wang <address@hidden>
Date: 2013-05-07 (Tue, 07 May 2013)
Changed paths:
M hw/net/virtio-net.c
Log Message:
-----------
virtio-net: properly check the vhost status during status set
Commit 32993698 (vhost: disable on tap link down) tries to disable the vhost
also when the peer's link is down. But the check was not done properly, the
vhost were only started when:
1) peer's link is not down
2) virtio-net has already been started.
Since == have a higher precedence than &&, place a brace to make sure both the
conditions were met then does the check. This fixes the crash when doing a savem
after set the link off which let qemu crash and complains:
virtio_net_save: Assertion `!n->vhost_started' failed.
Cc: Michael S. Tsirkin <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
Commit: c689b4f1bac352dcfd6ecb9a1d45337de0f1de67
https://github.com/qemu/qemu/commit/c689b4f1bac352dcfd6ecb9a1d45337de0f1de67
Author: Laszlo Ersek <address@hidden>
Date: 2013-05-07 (Tue, 07 May 2013)
Changed paths:
M qga/commands-posix.c
M qga/main.c
Log Message:
-----------
qga: set umask 0077 when daemonizing (CVE-2013-2007)
The qemu guest agent creates a bunch of files with insecure permissions
when started in daemon mode. For example:
-rw-rw-rw- 1 root root /var/log/qemu-ga.log
-rw-rw-rw- 1 root root /var/run/qga.state
-rw-rw-rw- 1 root root /var/log/qga-fsfreeze-hook.log
In addition, at least all files created with the "guest-file-open" QMP
command, and all files created with shell output redirection (or
otherwise) by utilities invoked by the fsfreeze hook script are affected.
For now mask all file mode bits for "group" and "others" in
become_daemon().
Temporarily, for compatibility reasons, stick with the 0666 file-mode in
case of files newly created by the "guest-file-open" QMP call. Do so
without changing the umask temporarily.
Signed-off-by: Laszlo Ersek <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>
Commit: b174de51ae397549f58b1b76efa9026b213a1efd
https://github.com/qemu/qemu/commit/b174de51ae397549f58b1b76efa9026b213a1efd
Author: Anthony Liguori <address@hidden>
Date: 2013-05-07 (Tue, 07 May 2013)
Changed paths:
M hw/usb/hcd-uhci.c
M hw/usb/hcd-xhci.c
M hw/usb/host-libusb.c
Log Message:
-----------
Merge remote-tracking branch 'kraxel/usb.82' into staging
# By Gerd Hoffmann (3) and Hans de Goede (1)
# Via Gerd Hoffmann
* kraxel/usb.82:
xhci: handle USB_RET_BABBLE
uhci: Use an intermediate buffer for usb packet data
usb-host: add usb_host_full_speed_compat
usb-host: live migration support for the libusb version
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
Commit: 15d23fb96656b1ae31bf4305b2108230c29298c6
https://github.com/qemu/qemu/commit/15d23fb96656b1ae31bf4305b2108230c29298c6
Author: Anthony Liguori <address@hidden>
Date: 2013-05-07 (Tue, 07 May 2013)
Changed paths:
M VERSION
Log Message:
-----------
Update version for qemu-1.5.0-rc0
Signed-off-by: Anthony Liguori <address@hidden>
Compare: https://github.com/qemu/qemu/compare/b5803aa3583e...15d23fb96656
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 04d104: target-i386: Add ECX information to FeatureWordInf...,
GitHub <=