[Bug 1828288] Re: QEMU might fail to start on AMD CPUs when 'host-passthrough' is used

Rafael David Tinoco rafaeldtinoco at gmail.com
Mon May 13 00:50:39 UTC 2019


Hey Christian,

sorry for missing the SRU template, I was in hurry to create a package
for myself and some local needs. I'll do it right now, feel free to SRU
it whenever is good for you based on other fixes I know you usually take
care off.

Thanks a lot!

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1828288

Title:
  QEMU might fail to start on AMD CPUs when 'host-passthrough' is used

Status in qemu package in Ubuntu:
  In Progress

Bug description:
  [Impact]

   * QEMU does not work in some AMD hardware when using host-passthrough
  as cpu-mode (usually to allow nested KVM to work).

  [Test Case]

   * to use Xenial qemu (1:2.5+dfsg-5ubuntu10.36 ou 1:2.5+dfsg-5ubuntu10.37)
   * to use the following XML file: https://paste.ubuntu.com/p/BSyFY7ksR5/
   * to have AMD FX(tm)-8350 Eight-Core Processor CPU or similar

  [Regression Potential]

   * initial qemu code could be affected, disallowing other guests, in other architectures, to be started
   * suggested patch is simple, being a positional change only
   * patch is upstream based and identifies the issue and is reported to be a fix for the described issue

  [Other Info]

   * INITIAL CASE DESCRIPTION:

  When using latest QEMU (-proposed) in Xenial you might encounter the
  following problem when trying to initialize your guests:

  ----

  (c)inaddy at qemubug:~$ apt-cache policy qemu-system-x86
  qemu-system-x86:
    Installed: 1:2.5+dfsg-5ubuntu10.37
    Candidate: 1:2.5+dfsg-5ubuntu10.37
    Version table:
   *** 1:2.5+dfsg-5ubuntu10.37 500
          500 http://ubuntu.c3sl.ufpr.br//ubuntu xenial-proposed/main amd64 Packages
          100 /var/lib/dpkg/status
       1:2.5+dfsg-5ubuntu10.36 500
          500 http://ubuntu.c3sl.ufpr.br//ubuntu xenial-updates/main amd64 Packages
       1:2.5+dfsg-5ubuntu10 500
          500 http://ubuntu.c3sl.ufpr.br/ubuntu xenial/main amd64 Packages

  ----

  (c)inaddy at qemubug:~$ virsh list --all
   Id    Name                           State
  ----------------------------------------------------
   -     kdebian                        shut off
   -     kguest                         shut off

  (c)inaddy at 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 at qemubug:~$ virsh start --console kguest
  Domain kguest started
  Connected to domain kguest
  Escape character is ^]
  [    0.000000] Linux version 4.19.0-4-amd64 (debian-kernel at lists.debian.org) (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.
  ...

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1828288/+subscriptions



More information about the Ubuntu-sponsors mailing list