(c)inaddy@qemubug:~$ virsh list --all
Id Name State
----------------------------------------------------
- kdebian shut off
- kguest shut off
(c)inaddy@qemubug:~$ virsh start --console kguest
error: Failed to start domain kguest
error: internal error: process exited while connecting to monitor: warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 0]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13]
warning: host doesn't support requested feature: CPU
----
This happens because x86_cpu_get_migratable_flags() does not support CPUID_EXT2_AMD_ALIASES. After cherry-picking upstream patch 9997cf7bdac056aeed246613639675c5a9f8fdc2, that moves CPUID_EXT2_AMD_ALIASES code to after x86_cpu_filter_features(), the problem is fixed. Other QEMU versions are properly fixed and don't face this issue.
Cherry-picking commit and re-building the package makes it to work:
----
(c)inaddy@qemubug:~$ virsh start --console kguest
Domain kguest started
Connected to domain kguest
Escape character is ^]
[ 0.000000] Linux version 4.19.0-4-amd64 (<email address hidden>) (gcc version 8.3.0 (Debian 8.3.0-2)) #1
SMP Debian 4.19.28-2 (2019-03-15)
[ 0.000000] Command line: root=/dev/vda noresume console=tty0 console=ttyS0,38400n8 apparmor=0 net.ifnames=0 crashkernel=256M
[ 0.000000] random: get_random_u32 called from bsp_init_amd+0x20b/0x2b0 with crng_init=0
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
[ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
...
When using latest QEMU (-proposed) in Xenial you might encounter the following problem when trying to initialize your guests:
----
(c)inaddy@ qemubug: ~$ apt-cache policy qemu-system-x86 5ubuntu10. 37 5ubuntu10. 37 5ubuntu10. 37 500 ubuntu. c3sl.ufpr. br//ubuntu xenial- proposed/ main amd64 Packages dpkg/status 2.5+dfsg- 5ubuntu10. 36 500 ubuntu. c3sl.ufpr. br//ubuntu xenial-updates/main amd64 Packages 2.5+dfsg- 5ubuntu10 500 ubuntu. c3sl.ufpr. br/ubuntu xenial/main amd64 Packages
qemu-system-x86:
Installed: 1:2.5+dfsg-
Candidate: 1:2.5+dfsg-
Version table:
*** 1:2.5+dfsg-
500 http://
100 /var/lib/
1:
500 http://
1:
500 http://
----
(c)inaddy@ qemubug: ~$ virsh list --all ------- ------- ------- ------- ------- ------- ---
Id Name State
-------
- kdebian shut off
- kguest shut off
(c)inaddy@ qemubug: ~$ virsh start --console kguest
error: Failed to start domain kguest
error: internal error: process exited while connecting to monitor: warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 0]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13]
warning: host doesn't support requested feature: CPU
----
This happens because x86_cpu_ get_migratable_ flags() does not support CPUID_EXT2_ AMD_ALIASES. After cherry-picking upstream patch 9997cf7bdac056a eed246613639675 c5a9f8fdc2, that moves CPUID_EXT2_ AMD_ALIASES code to after x86_cpu_ filter_ features( ), the problem is fixed. Other QEMU versions are properly fixed and don't face this issue.
Cherry-picking commit and re-building the package makes it to work:
----
(c)inaddy@ qemubug: ~$ virsh start --console kguest ttyS0,38400n8 apparmor=0 net.ifnames=0 crashkernel=256M amd+0x20b/ 0x2b0 with crng_init=0
Domain kguest started
Connected to domain kguest
Escape character is ^]
[ 0.000000] Linux version 4.19.0-4-amd64 (<email address hidden>) (gcc version 8.3.0 (Debian 8.3.0-2)) #1
SMP Debian 4.19.28-2 (2019-03-15)
[ 0.000000] Command line: root=/dev/vda noresume console=tty0 console=
[ 0.000000] random: get_random_u32 called from bsp_init_
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
[ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
...