[KVM][CLX] CPUID_7_0_EDX_ARCH_CAPABILITIES is not enabled in VM.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
intel |
Fix Released
|
Wishlist
|
Unassigned | ||
libvirt (Ubuntu) |
Fix Released
|
Wishlist
|
Unassigned | ||
Bionic |
Won't Fix
|
Wishlist
|
Unassigned | ||
Disco |
Won't Fix
|
Wishlist
|
Unassigned | ||
Eoan |
Fix Released
|
Wishlist
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Wishlist
|
Unassigned | ||
Bionic |
Fix Released
|
Wishlist
|
Unassigned | ||
Disco |
Fix Released
|
Wishlist
|
Unassigned | ||
Eoan |
Fix Released
|
Wishlist
|
Unassigned | ||
qemu (Ubuntu) |
Fix Released
|
Wishlist
|
Unassigned | ||
Bionic |
Fix Released
|
Wishlist
|
Unassigned | ||
Disco |
Fix Released
|
Wishlist
|
Unassigned | ||
Eoan |
Fix Released
|
Wishlist
|
Unassigned |
Bug Description
[Impact]
* QEMU does not support IceLake and CascadeLake CPUs specific features.
* Most important feature to be supported is: IA32_ARCH_
* With IA32_ARCH_
- Rogue Data Cache Load
- Enhanced IBRS
- RSB Alternate
- L1D flush need on VMENTRY
- speculative Store Bypass
to guests, as described in document:
Intel 336996-
[Test Case]
* From Original Description:
"""
1. Boot up guest using: -cpu Cascadelake-Server
[root@clx-2s2 yexin]# qemu-system-x86_64 -accel kvm -drive if=virtio,
char device redirected to /dev/pts/3 (label serial0)
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:ECX [bit 4]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:ECX [bit 4]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:ECX [bit 4]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:ECX [bit 4]
2. To check CPU ID related to features[
Expected Result: Both host and guest's CPUID.07H EDX bit 29 should be 1.
Actual Result:
Host's cpuid: 0x00000007 0x00: eax=0x00000000 ebx=0xd39ffffb ecx=0x00000818 edx=0xbc000000 (EDX bit 29=1)
Guest's cpuid : 0x00000007 0x00: eax=0x00000000 ebx=0xd19f0fb9 ecx=0x00000818 edx=0x84000000 (EDX bit 29=0)
Commit:
Target Kerned: 5.1
Target Release: 19.10
"""
[Regression Potential]
* Most changes are related to CPU type definitions and its supported features. They are all based in upstream changes but, for obvious reasons, backporting and/or cherry-picking those could bring issues. Biggest concern is breaking something that currently works. Right now, the parts being changed that could affect other CPU types would be related to a small refactoring of how the features are organized, and that would be seen right away when trying to start a new VM after the package is installed.
* Other tests, related to the features being backported, are being done by our KVM regression tests, including migration combinations, to reduce chances that a regression is introduced.
[Other Info]
* N/A
Related branches
- Rafael David Tinoco: Pending requested
- Canonical Server: Pending requested
- Canonical Server packageset reviewers: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 6266 lines (+6190/-0)12 files modifieddebian/changelog (+7/-0)
debian/patches/series (+10/-0)
debian/patches/ubuntu/lp-1828495-conf-Introduce-virCPUDefCheckFeatures.patch (+100/-0)
debian/patches/ubuntu/lp-1828495-cpu_conf-Introduce-virCPUDefFilterFeatures.patch (+88/-0)
debian/patches/ubuntu/lp-1828495-cpu_map-Introduce-IA32_ARCH_CAPABILITIES-MSR-feature.patch (+151/-0)
debian/patches/ubuntu/lp-1828495-cpu_x86-Introduce-virCPUx86FeatureFilter-MSR.patch (+119/-0)
debian/patches/ubuntu/lp-1828495-cpu_x86-Read-CPU-features-from-IA32_ARCH_CAPABILITIE.patch (+93/-0)
debian/patches/ubuntu/lp-1828495-cpu_x86-Turn-virCPUx86DataIteratorInit-into-a-functi.patch (+138/-0)
debian/patches/ubuntu/lp-1828495-qemu-Drop-MSR-features-from-host-model-with-old-QEMU.patch (+83/-0)
debian/patches/ubuntu/lp-1828495-qemu-Forbid-MSR-features-with-old-QEMU.patch (+77/-0)
debian/patches/ubuntu/lp-1828495-qemu-Probe-for-max-x86_64-cpu-type.patch (+128/-0)
debian/patches/ubuntu/lp-1828495-qemu-Probe-for-unavailable-features-CPU-property.patch (+5196/-0)
- Bryce Harrington (community): Approve
- Christian Ehrhardt (community): Approve
- Ubuntu Virtualization Developers: Pending requested
- Ubuntu Core Development Team: Pending requested
- Canonical Server: Pending requested
-
Diff: 49 lines (+20/-0) (has conflicts)2 files modifieddebian/changelog (+17/-0)
debian/patches/series (+3/-0)
- Christian Ehrhardt (community): Needs Fixing
- Canonical Server: Pending requested
-
Diff: 101 lines (+56/-0) (has conflicts)3 files modifieddebian/changelog (+18/-0)
debian/patches/series (+7/-0)
debian/patches/ubuntu/lp1828495-0017-target-i386-add-MDS-NO-feature.patch (+31/-0)
Changed in linux (Ubuntu): | |
status: | Incomplete → Confirmed |
Changed in qemu (Ubuntu): | |
status: | New → Confirmed |
Changed in qemu (Ubuntu Disco): | |
status: | New → Confirmed |
Changed in qemu (Ubuntu Cosmic): | |
status: | New → Confirmed |
Changed in qemu (Ubuntu Bionic): | |
status: | New → Confirmed |
description: | updated |
Changed in qemu (Ubuntu Eoan): | |
status: | Confirmed → In Progress |
Changed in linux (Ubuntu Eoan): | |
status: | Confirmed → In Progress |
Changed in qemu (Ubuntu Disco): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in qemu (Ubuntu Cosmic): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in qemu (Ubuntu Bionic): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in qemu (Ubuntu Disco): | |
importance: | Undecided → Wishlist |
Changed in qemu (Ubuntu Cosmic): | |
importance: | Undecided → Wishlist |
Changed in qemu (Ubuntu Bionic): | |
importance: | Undecided → Wishlist |
Changed in linux (Ubuntu Disco): | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
Changed in linux (Ubuntu Cosmic): | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
Changed in qemu (Ubuntu Disco): | |
status: | Confirmed → In Progress |
Changed in qemu (Ubuntu Cosmic): | |
status: | Confirmed → In Progress |
Changed in qemu (Ubuntu Eoan): | |
assignee: | Rafael David Tinoco (rafaeldtinoco) → Christian Ehrhardt (paelzer) |
Changed in qemu (Ubuntu Bionic): | |
status: | Confirmed → In Progress |
Changed in libvirt (Ubuntu Bionic): | |
importance: | Undecided → Wishlist |
Changed in libvirt (Ubuntu Cosmic): | |
importance: | Undecided → Wishlist |
Changed in libvirt (Ubuntu Disco): | |
importance: | Undecided → Wishlist |
Changed in libvirt (Ubuntu Eoan): | |
importance: | Undecided → Wishlist |
Changed in libvirt (Ubuntu Disco): | |
assignee: | Rafael David Tinoco (rafaeldtinoco) → nobody |
Changed in libvirt (Ubuntu Bionic): | |
assignee: | Rafael David Tinoco (rafaeldtinoco) → nobody |
Changed in libvirt (Ubuntu Eoan): | |
assignee: | nobody → Christian Ehrhardt (paelzer) |
status: | Fix Released → In Progress |
no longer affects: | libvirt (Ubuntu Cosmic) |
no longer affects: | linux (Ubuntu Cosmic) |
no longer affects: | qemu (Ubuntu Cosmic) |
Changed in libvirt (Ubuntu Disco): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in libvirt (Ubuntu Bionic): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in qemu (Ubuntu Disco): | |
assignee: | Rafael David Tinoco (rafaeldtinoco) → nobody |
Changed in qemu (Ubuntu Bionic): | |
assignee: | Rafael David Tinoco (rafaeldtinoco) → nobody |
Changed in linux (Ubuntu Bionic): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in linux (Ubuntu Disco): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in linux (Ubuntu Eoan): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Commit: 2bdb76c015df712 5783d8394d6339d 181cb5bc30
git tag --contains 2bdb76c015df712 5783d8394d6339d 181cb5bc30
v5.1
v5.1-rc3
v5.1-rc4
v5.1-rc5
v5.1-rc6
v5.1-rc7