ARCH_CAPABILITIES guest capability detection
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libvirt (Ubuntu) |
Invalid
|
High
|
Unassigned | ||
qemu (Ubuntu) |
Fix Released
|
High
|
Christian Ehrhardt | ||
Bionic |
In Progress
|
Medium
|
Unassigned | ||
Disco |
Won't Fix
|
Medium
|
Unassigned |
Bug Description
We would want full arch-caps handling in Eoans libvirt.
The work started for bug 1828495 brought us proper host and some guest work (qemu is fine, but libvirt is lacking).
capability detection works fine and for that I'll upload.
--- old.c.xml 2019-08-22 13:00:10.381464090 +0000
+++ new.c.xml 2019-08-22 13:02:16.907483989 +0000
@@ -37,6 +37,10 @@
<feature name='mbm_total'/>
<feature name='mbm_local'/>
<feature name='invtsc'/>
+ <feature name='rdctl-no'/>
+ <feature name='ibrs-all'/>
+ <feature name='skip-
+ <feature name='mds-no'/>
<pages unit='KiB' size='4'/>
<pages unit='KiB' size='2048'/>
<pages unit='KiB' size='1048576'/>
But guest caps are detected as not-supported so far.
One would think that kernel and/or qemu are unable to do so, but forcing them in:
<qemu:
<qemu:arg value='-cpu'/>
<qemu:arg value='
</qemu:
That made the guest start with these features.
Which implies qemu can pass/use them.
Therefore we uploaded ubuntu4 with the fully working host feature detection, but need to fixup the guest detection and passing.
Related branches
- Christian Ehrhardt (community): Approve
- Rafael David Tinoco (community): Approve
- Canonical Server: Pending requested
- Canonical Server packageset reviewers: Pending requested
-
Diff: 184 lines (+156/-0)4 files modifieddebian/changelog (+7/-0)
debian/patches/series (+2/-0)
debian/patches/ubuntu/lp-1841066-i386-unavailable-features-QOM-property.patch (+64/-0)
debian/patches/ubuntu/lp-1841066-i386-x86_cpu_list_feature_names-function.patch (+83/-0)
Changed in libvirt (Ubuntu): | |
status: | New → Triaged |
assignee: | nobody → Christian Ehrhardt (paelzer) |
importance: | Undecided → High |
Changed in qemu (Ubuntu): | |
status: | Triaged → In Progress |
Changed in qemu (Ubuntu Bionic): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in qemu (Ubuntu Disco): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in qemu (Ubuntu Bionic): | |
status: | Triaged → In Progress |
Changed in qemu (Ubuntu Disco): | |
status: | Triaged → In Progress |
Changed in qemu (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in qemu (Ubuntu Disco): | |
importance: | Undecided → Medium |
Changed in qemu (Ubuntu Disco): | |
status: | In Progress → Won't Fix |
Changed in qemu (Ubuntu Bionic): | |
assignee: | Rafael David Tinoco (rafaeldtinoco) → nobody |
Changed in qemu (Ubuntu Disco): | |
assignee: | Rafael David Tinoco (rafaeldtinoco) → nobody |
On the "same" libvirt code I can detect the features just right by copying in an upstream build of recent qemu.
So either this actually misses qemu changes to fully work OR libvirt needs code to better work with "older" qemu.